%%% -*-BibTeX-*- %%% ==================================================================== %%% BibTeX-file{ %%% author = "Nelson H. F. Beebe", %%% version = "1.235", %%% date = "10 January 2026", %%% time = "09:22:09 MDT", %%% filename = "string-matching.bib", %%% address = "University of Utah %%% Department of Mathematics, 110 LCB %%% 155 S 1400 E RM 233 %%% Salt Lake City, UT 84112-0090 %%% USA", %%% telephone = "+1 801 581 5254", %%% URL = "https://www.math.utah.edu/~beebe", %%% checksum = "21864 80646 372235 3873545", %%% email = "beebe at math.utah.edu, beebe at acm.org, %%% beebe at computer.org (Internet)", %%% codetable = "ISO/ASCII", %%% keywords = "bibliography; BibTeX; pattern matching; %%% regular expressions; string matching", %%% license = "public domain", %%% supported = "yes", %%% docstring = "This is a bibliography of publications on %%% the subjects of pattern matching, regular %%% expressions, and string matching. %%% %%% At version 1.235, the year coverage looked %%% like this: %%% %%% 1956 ( 2) 1980 ( 12) 2004 ( 36) %%% 1957 ( 0) 1981 ( 19) 2005 ( 32) %%% 1958 ( 2) 1982 ( 17) 2006 ( 49) %%% 1959 ( 2) 1983 ( 22) 2007 ( 56) %%% 1960 ( 1) 1984 ( 16) 2008 ( 69) %%% 1961 ( 1) 1985 ( 29) 2009 ( 56) %%% 1962 ( 2) 1986 ( 30) 2010 ( 51) %%% 1963 ( 1) 1987 ( 29) 2011 ( 45) %%% 1964 ( 3) 1988 ( 32) 2012 ( 80) %%% 1965 ( 1) 1989 ( 46) 2013 ( 87) %%% 1966 ( 0) 1990 ( 56) 2014 ( 63) %%% 1967 ( 2) 1991 ( 51) 2015 ( 64) %%% 1968 ( 2) 1992 ( 89) 2016 ( 51) %%% 1969 ( 3) 1993 ( 89) 2017 ( 68) %%% 1970 ( 3) 1994 ( 108) 2018 ( 43) %%% 1971 ( 4) 1995 ( 78) 2019 ( 42) %%% 1972 ( 5) 1996 ( 69) 2020 ( 35) %%% 1973 ( 5) 1997 ( 62) 2021 ( 35) %%% 1974 ( 9) 1998 ( 52) 2022 ( 34) %%% 1975 ( 5) 1999 ( 54) 2023 ( 46) %%% 1976 ( 9) 2000 ( 41) 2024 ( 18) %%% 1977 ( 20) 2001 ( 64) 2025 ( 8) %%% 1978 ( 9) 2002 ( 65) 2026 ( 2) %%% 1979 ( 20) 2003 ( 42) %%% 19xx ( 2) %%% 20xx ( 2) %%% %%% Article: 1907 %%% Book: 87 %%% InBook: 1 %%% InCollection: 11 %%% InProceedings: 151 %%% Manual: 1 %%% MastersThesis: 2 %%% Misc: 13 %%% PhdThesis: 3 %%% Proceedings: 122 %%% TechReport: 58 %%% Unpublished: 1 %%% %%% Total entries: 2357 %%% %%% The checksum field above contains a CRC-16 %%% checksum as the first value, followed by the %%% equivalent of the standard UNIX wc (word %%% count) utility output of lines, words, and %%% characters. This is produced by Robert %%% Solovay's checksum utility.", %%% } %%% ==================================================================== @Preamble{ "\ifx \undefined \booktitle \def \booktitle #1{{{\em #1}}} \fi" # "\ifx \undefined \k \let \k = \c \fi" # "\ifx \undefined \pkg \def \pkg #1{{{\tt #1}}} \fi" # "\ifx \undefined \polhk \let \polhk = \k \fi" # "\ifx \undefined \soft \def \soft{'} \fi" } %%% ==================================================================== %%% Acknowledgement abbreviations: @String{ack-nhfb = "Nelson H. F. Beebe, University of Utah, Department of Mathematics, 110 LCB, 155 S 1400 E RM 233, Salt Lake City, UT 84112-0090, USA, Tel: +1 801 581 5254, e-mail: \path|beebe@math.utah.edu|, \path|beebe@acm.org|, \path|beebe@computer.org| (Internet), URL: \path|https://www.math.utah.edu/~beebe/|"} @String{ack-r-project = "R Project Team"} %%% ==================================================================== %%% Institution abbreviations: @String{inst-ATT-BELL = "AT\&T Bell Laboratories"} @String{inst-ATT-BELL:adr = "Murray Hill, NJ, USA"} @String{inst-CLSC = "College of Science Computer, University of Utah"} @String{inst-CLSC:adr = "Salt Lake City, UT 84112, USA"} @String{inst-CSRC = "Computing Sciences Research Center, Bell Laboratories"} @String{inst-CSRC:adr = "Murray Hill, NJ, USA"} @String{inst-MUPAD = "MuPAD Research Group"} @String{inst-MUPAD:adr = "Universit{\"a}t Paderborn, Paderborn, Germany"} @String{inst-SRC-IDA = "Supercomputing Research Center: IDA"} @String{inst-SRC-IDA:adr = "Lanham, MD, USA"} @String{inst-STAN-CS = "Stanford University, Department of Computer Science"} @String{inst-STAN-CS:adr = "Stanford, CA, USA"} @String{inst-UIUC-CSRD = "University of Illinois at Urbana-Champaign, Center for Supercomputing Research and Development"} @String{inst-UIUC-CSRD:adr = "Urbana, IL 61801, USA"} @String{inst-UTAH-MATH = "University of Utah, Department of Mathematics"} @String{inst-UTAH-MATH:adr = "Salt Lake City, UT 84112-0090, USA"} %%% ==================================================================== %%% Journal abbreviations: @String{j-ACM-COMM-COMP-ALGEBRA = "ACM Communications in Computer Algebra"} @String{j-ACM-J-EXP-ALGORITHMICS = "ACM Journal of Experimental Algorithmics"} @String{j-ACTA-INFO = "Acta Informatica"} @String{j-ADV-APPL-PROB = "Advances in Applied Probability"} @String{j-ALGORITHMICA = "Algorithmica"} @String{j-ALGORITHMS-BASEL = "Algorithms ({Basel})"} @String{j-AMER-MATH-MONTHLY = "American Mathematical Monthly"} @String{j-ANN-APPL-PROBAB = "Annals of Applied Probability"} @String{j-ANN-INST-HENRI-POINCARE-PROBAB-STATIST = "Annales de l'Institut Henri Poincar{\'e}. Probabilit{\'e}s et Statistiques"} @String{j-ANN-MATH-STUDIES = "Annals of Mathematics Studies"} @String{j-ANN-PROBAB = "Annals of Probability"} @String{j-APPL-MATH-COMP = "Applied Mathematics and Computation"} @String{j-ATT-TECH-J = "AT\&T Technical Journal"} @String{j-BELL-SYST-TECH-J = "The Bell System Technical Journal"} @String{j-BULL-MATH-BIOL = "Bulletin of Mathematical Biology"} @String{j-BYTE = "Byte Magazine"} @String{j-CACM = "Communications of the Association for Computing Machinery"} @String{j-CCCUJ = "C/C++ Users Journal"} @String{j-CCPE = "Concurrency and Computation: Prac\-tice and Experience"} @String{j-CELL-SYST = "Cell Systems"} @String{j-CGF = "Computer Graphics Forum"} @String{j-COMBIN-PROBAB-COMPUT = "Combinatorics, Probability and Computing"} @String{j-COMP-ARCH-NEWS = "ACM SIGARCH Computer Architecture News"} @String{j-COMP-J = "The Computer Journal"} @String{j-COMP-LANG-MAG = "Computer Language Magazine"} @String{j-COMP-LANGS = "Computer Languages"} @String{j-COMP-NET-AMSTERDAM = "Computer Networks (Amsterdam, Netherlands: 1999)"} @String{j-COMP-SURV = "ACM Computing Surveys"} @String{j-COMP-VIS-IMAGE-UNDERSTANDING = "Computer Vision and Image Understanding: CVIU"} @String{j-COMPUT-MATH-APPL = "Computers and Mathematics with Applications"} @String{j-COMPUT-SECUR = "Computers \& Security"} @String{j-COMPUT-SYST-SCI-ENG = "Computer Systems Science and Engineering"} @String{j-COMPUTER = "Computer"} @String{j-COMPUTERS-AND-GRAPHICS = "Computers and Graphics"} @String{j-COMPUTING = "Computing: Archiv f{\"u}r informatik und numerik"} @String{j-CONG-NUM = "Congressus Numerantium"} @String{j-CRYPTOLOGIA = "Cryptologia"} @String{j-CUJ = "C Users Journal"} @String{j-CVGIP = "Computer Vision, Graphics, and Image Processing"} @String{j-CVGIP-IU = "Computer Vision, Graphics, and Image Processing. Image Understanding"} @String{j-DDJ = "Dr. Dobb's Journal of Software Tools"} @String{j-DEC-TECH-J = "Digital Technical Journal of Digital Equipment Corporation"} @String{j-DISCRETE-APPL-MATH = "Discrete Applied Mathematics"} @String{j-DTRAP = "Digital Threats: Research and Practice (DTRAP)"} @String{j-EMPIR-SOFTWARE-ENG = "Empirical Software Engineering"} @String{j-EPODD = "Electronic Publishing---Origination, Dissemination, and Design"} @String{j-FORM-ASP-COMPUT = "Formal Aspects of Computing"} @String{j-FORTH-DIMENSIONS = "Forth Dimensions"} @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-FUTURE-INTERNET = "Future Internet"} @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-IBM-TDB = "IBM Technical Disclosure Bulletin"} @String{j-IEEE-ACCESS = "IEEE Access"} @String{j-IEEE-COMPUT-ARCHIT-LETT = "IEEE Computer Architecture Letters"} @String{j-IEEE-MICRO = "IEEE Micro"} @String{j-IEEE-SOFTWARE = "IEEE Software"} @String{j-IEEE-TRANS-BIG-DATA = "IEEE Transactions on Big Data"} @String{j-IEEE-TRANS-COMM = "IEEE Transactions on Communications"} @String{j-IEEE-TRANS-COMPUT = "IEEE Transactions on Computers"} @String{j-IEEE-TRANS-ELEC-COMPUT = "IEEE Transactions on Electronic Computers"} @String{j-IEEE-TRANS-EMERG-TOP-COMPUT = "IEEE Transactions on Emerging Topics in Computing"} @String{j-IEEE-TRANS-KNOWL-DATA-ENG = "IEEE Transactions on Knowledge and Data Engineering"} @String{j-IEEE-TRANS-NETWORKING = "IEEE\slash ACM Transactions on Networking"} @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-IEEE-TRANS-VIS-COMPUT-GRAPH = "IEEE Transactions on Visualization and Computer Graphics"} @String{j-INF-COMPUT = "Information and Computation"} @String{j-INF-CONTROL = "Information and Control"} @String{j-INFO-PROC-LETT = "Information Processing Letters"} @String{j-INFO-SCI = "Information Sciences"} @String{j-INT-J-COMP-APPL = "International Journal of Computer Applications"} @String{j-INT-J-COMP-PROC-ORIENTAL-LANG = "International Journal of Computer Processing of Oriental Languages (IJCPOL)"} @String{j-INT-J-COMPUT-APPL = "International Journal of Computers and Applications"} @String{j-INT-J-COMPUT-INF-SCI = "International Journal of Computer and Information Sciences"} @String{j-INT-J-COMPUT-SYST-SCI-ENG = "International Journal of Computer Systems Science and Engineering"} @String{j-INT-J-DIGIT-LIBR = "International Journal on Digital Libraries"} @String{j-INT-J-FOUND-COMP-SCI = "International Journal of Foundations of Computer Science (IJFCS)"} @String{j-INT-J-IMAGE-GRAPHICS = "International Journal of Image and Graphics (IJIG)"} @String{j-INT-J-INFO-SEC = "International Journal of Information Security"} @String{j-INT-J-INTELL-SYSTEMS = "International Journal of Intelligent Systems"} @String{j-INT-J-PAR-EMER-DIST-SYS = "International Journal of Parallel, Emergent and Distributed Systems: IJPEDS"} @String{j-INT-J-PARALLEL-PROG = "International Journal of Parallel Programming"} @String{j-INT-J-SOFTW-TOOLS-TECHNOL-TRANSFER = "International Journal on Software Tools for Technology Transfer (STTT)"} @String{j-IRE-TRANS-ELEC-COMPUT = "IRE Transactions on Electronic Computers"} @String{j-ISIS = "Isis"} @String{j-J-ACM = "Journal of the Association for Computing Machinery"} @String{j-J-ALG = "Journal of Algorithms"} @String{j-J-AM-SOC-INF-SCI = "Journal of the American Society for Information Science"} @String{j-J-AM-SOC-INF-SCI-TECHNOL = "Journal of the American Society for Information Science and Technology: JASIST"} @String{j-J-APPL-STAT = "Journal of Applied Statistics"} @String{j-J-AUTOM-REASON = "Journal of Automated Reasoning"} @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-CHEM = "Journal of Computational Chemistry"} @String{j-J-COMPUT-LANG = "Journal of Computer Languages"} @String{j-J-CRYPTOLOGY = "Journal of Cryptology"} @String{j-J-DISCR-MATH-SCI-CRYPTO = "Journal of Discrete Mathematical Sciences and Cryptography"} @String{j-J-FUNCT-PROGRAM = "Journal of Functional Programming"} @String{j-J-GRID-COMP = "Journal of Grid Computing"} @String{j-J-INF-PROCESS = "Journal of Information Processing"} @String{j-J-INFO-PROC-SOC-JAPAN = "Journal of the Information Processing Society of Japan = Joho Shori"} @String{j-J-INFO-SEC-APPL = "Journal of Information Security and Applications (JISA)"} @String{j-J-MATH-BIOL = "Journal of Mathematical Biology"} @String{j-J-NETW-COMPUT-APPL = "Journal of Network and Computer Applications"} @String{j-J-OPEN-SOURCE-SOFT = "Journal of Open Source Software"} @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 = "Journal of Software Maintenance: Research and Practice"} @String{j-J-SOFTW-MAINT-EVOL = "Journal of Software Maintenance and Evolution: Research and Practice"} @String{j-J-SOV-MATH = "Journal of Soviet Mathematics"} @String{j-J-STAT-PHYS = "Journal of Statistical Physics"} @String{j-J-SUPERCOMPUTING = "The Journal of Supercomputing"} @String{j-J-SYMBOLIC-COMP = "Journal of Symbolic Computation"} @String{j-J-SYST-SOFTW = "The Journal of Systems and Software"} @String{j-J-THEOR-BIOL = "Journal of Theoretical Biology"} @String{j-J-UCS = "J.UCS: Journal of Universal Computer Science"} @String{j-JDIQ = "Journal of Data and Information Quality (JDIQ)"} @String{j-JETC = "ACM Journal on Emerging Technologies in Computing Systems (JETC)"} @String{j-JOCCH = "Journal on Computing and Cultural Heritage (JOCCH)"} @String{j-LECT-NOTES-COMP-SCI = "Lecture Notes in Computer Science"} @String{j-LINUX-J = "Linux Journal"} @String{j-LOGIN = ";login:"} @String{j-LOPLAS = "ACM Letters on Programming Languages and Systems"} @String{j-MACH-TRANSL = "Machine Translation"} @String{j-MARKUP-LANG = "Markup languages: theory \& practice"} @String{j-MATH-COMPUT = "Mathematics of Computation"} @String{j-MATH-COMPUT-SCI = "Mathematics in Computer Science"} @String{j-MATH-COMPUT-SIMUL = "Mathematics and Computers in Simulation"} @String{j-MATHEMATICA-J = "Mathematica Journal"} @String{j-NETWORK-SECURITY = "Network Security"} @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-PROCESS-LETT = "Parallel Processing Letters"} @String{j-PATTERN-RECOGN = "Pattern Recognition"} @String{j-PROBAB-ENGRG-INFORM-SCI = "Probability in the Engineering and Informational Sciences"} @String{j-PROC-VLDB-ENDOWMENT = "Proceedings of the VLDB Endowment"} @String{j-QUEUE = "ACM Queue: Tomorrow's Computing Today"} @String{j-R-JOURNAL = "The R Journal"} @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-SIAM-J-APPL-MATH = "SIAM Journal on Applied Mathematics"} @String{j-SIAM-J-COMPUT = "SIAM Journal on Computing"} @String{j-SIAM-J-DISCR-MATH = "SIAM Journal on Discrete Mathematics"} @String{j-SIAM-J-SCI-STAT-COMP = "SIAM Journal on Scientific and Statistical Computing"} @String{j-SIAM-REVIEW = "SIAM Review"} @String{j-SIGACT = "SIGACT News (ACM Special Interest Group on Automata and Computability Theory)"} @String{j-SIGADA-LETTERS = "ACM SIGADA Ada Letters"} @String{j-SIGAPP = "ACM SIGAPP Applied Computing Review"} @String{j-SIGCSE = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)"} @String{j-SIGMETRICS = "ACM SIGMETRICS Performance Evaluation Review"} @String{j-SIGMICRO = "ACM SIGMICRO Newsletter"} @String{j-SIGMOD = "SIGMOD Record (ACM Special Interest Group on Management of Data)"} @String{j-SIGPLAN = "ACM SIGPLAN 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-SOFTWAREX = "SoftwareX"} @String{j-SPE = "Software --- Practice and Experience"} @String{j-STRUCTURED-PROGRAMMING = "Structured programming"} @String{j-SUNEXPERT = "SunExpert Magazine"} @String{j-SUNWORLD-ONLINE = "Sunworld Online"} @String{j-SYS-ADMIN = "Sys Admin: The Journal for UNIX Systems Administrators"} @String{j-SYS-COMP-JAPAN = "Systems and Computers in Japan"} @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-TALIP = "ACM Transactions on Asian Language Information Processing"} @String{j-TALLIP = "ACM Transactions on Asian and Low-Resource Language Information Processing (TALLIP)"} @String{j-TAP = "ACM Transactions on Applied Perception"} @String{j-TCBB = "IEEE\slash ACM Transactions on Computational Biology and Bioinformatics"} @String{j-TEAC = "ACM Transactions on Economics and Computation"} @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-TKDD = "ACM Transactions on Knowledge Discovery from Data (TKDD)"} @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-TOCT = "ACM Transactions on Computation Theory"} @String{j-TODAES = "ACM Transactions on Design Automation of Electronic Systems (TODAES)"} @String{j-TODS = "ACM Transactions on Database Systems"} @String{j-TOG = "ACM Transactions on Graphics"} @String{j-TOIS = "ACM Transactions on Information Systems"} @String{j-TOIT = "ACM Transactions on Internet Technology (TOIT)"} @String{j-TOMM = "ACM Transactions on Multimedia Computing, Communications, and Applications"} @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-TOS = "ACM Transactions on Storage"} @String{j-TOSEM = "ACM Transactions on Software Engineering and Methodology"} @String{j-TOSN = "ACM Transactions on Sensor Networks"} @String{j-TQC = "ACM Transactions on Quantum Computing (TQC)"} @String{j-TRANS-INFO-PROCESSING-SOC-JAPAN = "Transactions of the Information Processing Society of Japan"} @String{j-TRETS = "ACM Transactions on Reconfigurable Technology and Systems"} @String{j-TSAS = "ACM Transactions on Spatial Algorithms and Systems (TSAS)"} @String{j-TUGboat = "TUGboat"} @String{j-TWEB = "ACM Transactions on the Web (TWEB)"} @String{j-UNIX-REVIEW = "UNIX Review"} @String{j-UNIX-WORLD = "UNIX\slash world"} @String{j-VLDB-J = "VLDB Journal: Very Large Data Bases"} %%% ==================================================================== %%% Publishers and their addresses: @String{pub-ACM = "ACM Press"} @String{pub-ACM:adr = "New York, NY 10036, USA"} @String{pub-APRESS = "Apress"} @String{pub-APRESS:adr = "Berkeley, CA, USA"} @String{pub-ASME = "American Society of Mechanical Engineers"} @String{pub-ASME:adr = "345 E. 47th St., New York, NY 10017, USA"} @String{pub-AW = "Ad{\-d}i{\-s}on-Wes{\-l}ey"} @String{pub-AW:adr = "Reading, MA, USA"} @String{pub-CAMBRIDGE = "Cambridge University Press"} @String{pub-CAMBRIDGE:adr = "Cambridge, UK"} @String{pub-CRC = "CRC Press"} @String{pub-CRC:adr = "Boca Raton, FL, USA"} @String{pub-EUROPEN = "EurOpen"} @String{pub-EUROPEN:adr = "Buntingford, Herts, UK"} @String{pub-IBM = "IBM Corporation"} @String{pub-IBM:adr = "Armonk, NY, USA / Poughkeepsie, NY, USA / San Jose, CA, USA / Yorktown Heights, NY, USA"} @String{pub-IEEE = "IEEE Computer Society Press"} @String{pub-IEEE:adr = "1109 Spring Street, Suite 300, Silver Spring, MD 20910, USA"} @String{pub-IEEE-STD = "IEEE"} @String{pub-IEEE-STD:adr = "New York, NY, USA"} @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 = "San Francisco, CA, USA"} @String{pub-NO-STARCH = "No Starch Press"} @String{pub-NO-STARCH:adr = "San Francisco, CA, USA"} @String{pub-NORTH-HOLLAND = "North-Hol{\-}land"} @String{pub-NORTH-HOLLAND:adr = "Amsterdam, The Netherlands"} @String{pub-ORA = "O'Reilly \& Associates"} @String{pub-ORA:adr = "Sebastopol, CA, USA, and Cambridge, MA, USA"} @String{pub-ORA-MEDIA = "O'Reilly Media"} @String{pub-ORA-MEDIA:adr = "Sebastopol, CA, USA"} @String{pub-OXFORD = "Oxford University Press"} @String{pub-OXFORD:adr = "Walton Street, Oxford OX2 6DP, UK"} @String{pub-PACKT = "Packt Publishing"} @String{pub-PACKT:adr = "Birmingham, UK"} @String{pub-PH = "Pren{\-}tice-Hall"} @String{pub-PH:adr = "Upper Saddle River, NJ 07458, USA"} @String{pub-PHPTR = "Pren{\-}tice-Hall PTR"} @String{pub-PHPTR:adr = "Upper Saddle River, NJ 07458, USA"} @String{pub-PRINCETON = "Princeton University Press"} @String{pub-PRINCETON:adr = "Princeton, NJ, USA"} @String{pub-SV = "Springer-Verlag"} @String{pub-SV:adr = "Berlin, Germany~/ Heidelberg, Germany~/ London, UK~/ etc."} @String{pub-UNICODE = "The Unicode Consortium"} @String{pub-UNICODE:adr = "Mountain View, CA, USA"} @String{pub-UNICODE-SAN-JOSE:adr = "San Jose, CA 95170-0519, USA"} @String{pub-USENIX = "USENIX"} @String{pub-USENIX:adr = "Berkeley, CA, USA"} @String{pub-WILEY = "John Wiley"} @String{pub-WILEY:adr = "New York, NY, USA"} @String{pub-WORLD-SCI = "World Scientific Publishing Co. Pte. Ltd."} @String{pub-WORLD-SCI:adr = "P. O. Box 128, Farrer Road, Singapore 9128"} %%% ==================================================================== %%% Series abbreviations: @String{ser-LNAI = "Lecture Notes in Artificial Intelligence"} @String{ser-LNCS = "Lecture Notes in Computer Science"} @String{ser-SIGPLAN = "ACM SIG{\-}PLAN Notices"} %%% ==================================================================== %%% Bibliography entries, sorted by year, and then by citation label, %%% with `bibsort -byyear': @InCollection{Kleene:1956:REN, author = "Stephen C. Kleene", title = "Realization of events in nerve nets and finite automata", crossref = "Shannon:1956:AS", pages = "3--42", year = "1956", bibdate = "Wed Mar 13 09:42:30 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, remark = "This may be the earliest known publication on regular expressions.", } @Article{Chomsky:1958:FSL, author = "Noam Chomsky and George A. Miller", title = "Finite State Languages", journal = j-INF-CONTROL, volume = "1", number = "2", pages = "91--112", month = may, year = "1958", CODEN = "IFCNA4", DOI = "https://doi.org/10.1016/S0019-9958(58)90082-2", ISSN = "0019-9958 (print), 1878-2981 (electronic)", ISSN-L = "0019-9958", bibdate = "Wed Mar 13 11:26:15 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "This paper show the equivalence of regular languages and regular sets.", URL = "http://www.sciencedirect.com/science/article/pii/S0019995858900822", acknowledgement = ack-nhfb, fjournal = "Information and Control", journal-URL = "http://www.sciencedirect.com/science/journal/00199958", keywords = "formal language theory", } @Article{Copi:1958:REL, author = "Irving M. Copi and Calvin C. Elgot and Jesse B. Wright", title = "Realization of Events by Logical Nets", journal = j-J-ACM, volume = "5", number = "2", pages = "181--196", month = apr, year = "1958", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Sat Dec 10 15:59:08 1994", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", keywords = "regular expressions", } @Article{Rabin:1959:FAT, author = "M. O. Rabin and D. Scott", title = "Finite Automata and Their Decision Problems", journal = j-IBM-JRD, volume = "3", number = "2", pages = "114--125", month = apr, year = "1959", CODEN = "IBMJAE", DOI = "https://doi.org/10.1147/rd.32.0114", ISSN = "0018-8646 (print), 2151-8556 (electronic)", ISSN-L = "0018-8646", MRclass = "93.00 (02.00)", MRnumber = "21 \#2559", bibdate = "Tue Sep 11 15:35:50 MDT 2012", bibsource = "http://www.research.ibm.com/journal/; https://www.math.utah.edu/pub/tex/bib/ibmjrd.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "This paper shows the equivalence of deterministic and nondeterministic finite automata.", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5392601", acknowledgement = ack-nhfb, book-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5288520", fjournal = "IBM Journal of Research and Development", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5288520", reviewer = "J. McCarthy", } @Article{Shepherdson:1959:RTW, author = "J. C. Shepherdson", title = "The Reduction of Two-Way Automata to One-Way Automata", journal = j-IBM-JRD, volume = "3", number = "2", pages = "198--200", month = apr, year = "1959", CODEN = "IBMJAE", DOI = "https://doi.org/10.1147/rd.32.0198", ISSN = "0018-8646 (print), 2151-8556 (electronic)", ISSN-L = "0018-8646", MRclass = "93.00 (02.00)", MRnumber = "21 \#2560", bibdate = "Tue Sep 11 15:35:50 MDT 2012", bibsource = "http://www.research.ibm.com/journal/; https://www.math.utah.edu/pub/tex/bib/ibmjrd.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5392614", acknowledgement = ack-nhfb, book-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5288520", fjournal = "IBM Journal of Research and Development", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5288520", reviewer = "J. McCarthy", } @Article{McNaughton:1960:RES, author = "R. McNaughton and H. Yamada", title = "Regular Expressions and State Graphs for Automata", journal = j-IRE-TRANS-ELEC-COMPUT, volume = "EC-9", number = "1", pages = "39--47", month = mar, year = "1960", CODEN = "IRELAO", DOI = "https://doi.org/10.1109/TEC.1960.5221603", ISSN = "0367-9950", bibdate = "Thu Jul 14 15:34:11 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput.bib; https://www.math.utah.edu/pub/tex/bib/plan9.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Reprinted in \cite[157--174]{}", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5221603", acknowledgement = ack-nhfb, fjournal = "IRE Transactions on Electronic Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5407885", } @Article{Ott:1961:DSM, author = "Gene Ott and Neil H. Feinstein", title = "Design of Sequential Machines from Their Regular Expressions", journal = j-J-ACM, volume = "8", number = "4", pages = "585--600", month = oct, year = "1961", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Mon Dec 05 20:11:21 1994", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", } @Article{Brzozowski:1962:SRE, author = "Janusz A. Brzozowski", title = "A Survey of Regular Expressions and Their Applications", journal = j-IRE-TRANS-ELEC-COMPUT, volume = "EC-11", number = "3", pages = "324--335", month = jun, year = "1962", CODEN = "IRELAO", ISSN = "0367-9950", bibdate = "Sat Jul 16 20:52:08 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IRE Transactions on Electronic Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5407885", } @Article{Ghiron:1962:RMR, author = "Hugo Ghiron", title = "Rules to Manipulate Regular Expressions of Finite Automata", journal = j-IRE-TRANS-ELEC-COMPUT, volume = "EC-11", number = "4", pages = "574--575", month = aug, year = "1962", CODEN = "IRELAO", DOI = "https://doi.org/10.1109/TEC.1962.5219404", ISSN = "0367-9950", bibdate = "Thu Jul 14 09:11:51 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5219404", acknowledgement = ack-nhfb, fjournal = "IRE Transactions on Electronic Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5407885", } @Article{Brzozowski:1963:CSM, author = "J. A. Brzozowski and J. F. Poage", title = "On the Construction of Sequential Machines from Regular Expressions", journal = j-IEEE-TRANS-ELEC-COMPUT, volume = "EC-12", number = "4", pages = "402--403", month = aug, year = "1963", CODEN = "IEECA8", DOI = "https://doi.org/10.1109/PGEC.1963.263474", ISSN = "0367-7508", bibdate = "Thu Jul 14 08:10:40 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4037916", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Electronic Computers", } @Article{Brzozowski:1964:DRE, author = "Janusz A. Brzozowski", title = "Derivatives of Regular Expressions", journal = j-J-ACM, volume = "11", number = "4", pages = "481--494", month = oct, year = "1964", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Thu Nov 03 22:53:10 1994", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", } @Article{Brzozowski:1964:RES, author = "J. A. Brzozowski", title = "Regular Expressions from Sequential Circuits", journal = j-IEEE-TRANS-ELEC-COMPUT, volume = "EC-13", number = "6", pages = "741--744", month = dec, year = "1964", CODEN = "IEECA8", DOI = "https://doi.org/10.1109/PGEC.1964.263932", ISSN = "0367-7508", bibdate = "Thu Jul 14 06:57:05 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4038308", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Electronic Computers", } @Book{Moore:1964:SMS, author = "Edward F. Moore", title = "Sequential Machines: Selected Papers", publisher = pub-AW, address = pub-AW:adr, pages = "v + 266", year = "1964", LCCN = "QA76.5 .M57", bibdate = "Wed Mar 13 11:22:00 MDT 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; library.ox.ac.uk:210/ADVANCE", series = "Addison-Wesley series in computer science and information processing", acknowledgement = ack-nhfb, subject = "Sequential machine theory", } @Article{Brzozowski:1965:REL, author = "J. A. Brzozowski", title = "Regular Expressions for Linear Sequential Circuits", journal = j-IEEE-TRANS-ELEC-COMPUT, volume = "EC-14", number = "2", pages = "148--156", month = apr, year = "1965", CODEN = "IEECA8", DOI = "https://doi.org/10.1109/PGEC.1965.263959", ISSN = "0367-7508", bibdate = "Thu Jul 14 06:26:21 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4038393", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Electronic Computers", } @Article{Ginzburg:1967:PCE, author = "A. Ginzburg", title = "A Procedure for Checking Equality of Regular Expressions", journal = j-J-ACM, volume = "14", number = "2", pages = "355--362", month = apr, year = "1967", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Fri Nov 04 00:10:20 1994", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", } @TechReport{Tixier:1967:RFR, author = "Vincent Emile-Louis Tixier", title = "Recursive Functions of Regular Expressions in Language Analysis", type = "Technical Report", number = "STAN-CS-67-58 (PB176766)", institution = inst-STAN-CS, address = inst-STAN-CS:adr, pages = "146", month = mar, year = "1967", bibdate = "Fri Nov 21 14:21:14 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/stanford-cstr.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "", acknowledgement = ack-nhfb, remark = "This is the author's Ph.D. thesis.", } @Article{Anonymous:1968:TCA, author = "Anonymous", title = "Two Complete Axiom Systems for the Extended Language of Regular Expressions", journal = j-IEEE-TRANS-COMPUT, volume = "C-17", number = "7", pages = "700--701", month = jul, year = "1968", CODEN = "ITCOB4", DOI = "https://doi.org/10.1109/TC.1968.227424", ISSN = "0018-9340 (print), 1557-9956 (electronic)", ISSN-L = "0018-9340", bibdate = "Wed Jul 13 17:40:49 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1687431", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12", } @Article{Thompson:1968:PTR, author = "Ken Thompson", title = "Programming Techniques: {Regular} expression search algorithm", journal = j-CACM, volume = "11", number = "6", pages = "419--422", month = jun, year = "1968", CODEN = "CACMA2", DOI = "https://doi.org/10.1145/363347.363387", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Fri Nov 25 18:20:20 MST 2005", bibsource = "http://dblp.uni-trier.de/db/journals/cacm/cacm11.html#Thompson68; http://www.acm.org/pubs/contents/journals/cacm/; https://www.math.utah.edu/pub/tex/bib/cacm1960.bib; https://www.math.utah.edu/pub/tex/bib/plan9.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib; https://www.math.utah.edu/pub/tex/bib/virtual-machines.bib", note = "See also \cite{Kernighan:1999:REL,Cox:2007:REM,Cox:2009:REM,Cox:2010:REM,Cox:2012:REM}", URL = "http://patft.uspto.gov/", abstract = "A method for locating specific character strings embedded in character text is described and an implementation of this method in the form of a compiler is discussed. The compiler accepts a regular expression as source language and produces an IBM 7094 program as object language. The object program then accepts the text to be searched as input and produces a signal every time an embedded string in the text matches the given regular expression. Examples, problems, and solutions are also presented.", acknowledgement = ack-nhfb, fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", keywords = "match; regular expression; search", oldlabel = "Thompson68", remark = "The on-the-fly compilation of regular expressions to IBM 7094 machine code is part of US Patent \#3568156, awarded 9 August 1967 to Kenneth L. Thompson. This may be the first instance of the use of regular-expression pattern matching in text-editor software.", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/Thompson68", } @InProceedings{Johansen:1969:FGR, author = "Peter Johansen", title = "Free groups and regular expressions", crossref = "ACM:1969:CRA", pages = "113--128", year = "1969", bibdate = "Wed Feb 20 18:32:51 MST 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Kaplan:1969:REE, author = "Donald M. Kaplan", title = "Regular expressions and the equivalence of programs", journal = j-J-COMP-SYS-SCI, volume = "3", number = "4", pages = "361--386", month = nov, year = "1969", CODEN = "JCSSBM", DOI = "https://doi.org/10.1016/S0022-0000(69)80027-9", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:25:16 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0022000069800279", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Article{Gill:1970:SAR, author = "A. Gill", title = "Symmetric and Antisymmetric Regular Expressions", journal = j-SIAM-J-APPL-MATH, volume = "18", number = "3", pages = "539--557", month = may, year = "1970", CODEN = "SMJMAP", ISSN = "0036-1399 (print), 1095-712X (electronic)", ISSN-L = "0036-1399", bibdate = "Thu Oct 15 18:16:06 MDT 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/siamjapplmath.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; JSTOR database", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Applied Mathematics", journal-URL = "http://epubs.siam.org/siap", } @Article{Vere:1970:TE, author = "Steven Vere", title = "Translation equations", journal = j-CACM, volume = "13", number = "2", pages = "83--89", month = feb, year = "1970", CODEN = "CACMA2", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", MRclass = "68A30", MRnumber = "45 4925", MRreviewer = "H. Maurer", bibdate = "Tue Mar 25 13:26:09 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/cacm1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "See errata \cite{Vere:1970:TEE}.", abstract = "Input limited transduction expressions, or translation equations, are used to describe the syntax and left-context sensitive semantics for context-free languages. A formal procedure is given for deriving from a set of translation equations the specifications for a pushdown translator. The translator consists of Mealy form finite-state automata interacting by means of a pushdown stack. Within the framework described string recognition and parsing may be treated as special cases of the translation problem.", acknowledgement = ack-nhfb, classcodes = "C4210 (Formal logic)", corpsource = "Univ. California, Los Angeles, CA, USA", fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", keywords = "automata; computational linguistics; context-free languages; finite state automata; formal languages; meta-compilers; parsing; pushdown transducer; recognizers; regular expression; syntax directed compilers; transduction expression; translation; Turing machines", } @Article{Vere:1970:TEE, author = "S. Vere", title = "Translation Equations (Errata)", journal = j-CACM, volume = "13", number = "5", pages = "286--286", month = may, year = "1970", CODEN = "CACMA2", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Fri Jan 17 18:28:27 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/cacm1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "See \cite{Vere:1970:TE}.", acknowledgement = ack-nhfb, fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", } @Article{Ferguson:1971:GAL, author = "W. A. Ferguson and G. J. Lipovski", title = "A generalized assembly language using regular expressions", journal = j-SIGPLAN, volume = "6", number = "2", pages = "217--236", month = feb, year = "1971", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Thu May 25 06:40:58 MDT 2006", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", } @Article{Harrison:1971:IST, author = "Malcolm C. Harrison", title = "Implementation of the Substring Test by Hashing", journal = j-CACM, volume = "14", number = "12", pages = "777--779", month = dec, year = "1971", CODEN = "CACMA2", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Mon Jan 22 06:48:43 MST 2001", bibsource = "http://dblp.uni-trier.de/db/journals/cacm/cacm14.html#Harrison71; https://www.math.utah.edu/pub/tex/bib/cacm1970.bib; https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "See also \cite{Tharp:1982:PTS}.", acknowledgement = ack-nhfb, classcodes = "C6130 (Data handling techniques)", corpsource = "New York Univ., NY, USA", fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", keywords = "compression; data handling; hashing; information; information retrieval; programming; searching; signature; subset; substring test", oldlabel = "Harrison71", treatment = "P Practical", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/Harrison71", } @InProceedings{Hearn:1971:CSA, author = "Anthony C. Hearn", booktitle = "Proceedings of the Second Colloquium on Advanced Computing Methods in Theoretical Physics, {CNRS}, Marseilles", title = "The Computer Solution of Algebraic Problems by Pattern Matching", publisher = "????", address = "????", pages = "I-45--I-57", year = "1971", bibdate = "Fri Sep 22 14:22:15 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/red-g-l.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "This paper discusses computer techniques for the solution of algebraic problems in theoretical physics and related areas by pattern matching.", } @Article{Patel:1971:GRL, author = "A. R. Patel", title = "Generation of Right-Linear Grammars from Regular Expressions", journal = j-IEEE-TRANS-COMPUT, volume = "C-20", number = "4", pages = "472--473", month = apr, year = "1971", CODEN = "ITCOB4", DOI = "https://doi.org/10.1109/T-C.1971.223271", ISSN = "0018-9340 (print), 1557-9956 (electronic)", ISSN-L = "0018-9340", bibdate = "Wed Jul 13 06:38:14 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1671864", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12", } @Book{Aho:1972:TPT, author = "Alfred V. Aho and Jeffrey D. Ullman", title = "The Theory of Parsing, Translation, and Compiling. {I}: Parsing", volume = "I", publisher = pub-PH, address = pub-PH:adr, pages = "xviii + 542", year = "1972", ISBN = "0-13-914556-7", ISBN-13 = "978-0-13-914556-8", LCCN = "QA76.6 .A286 1972-73", bibdate = "Wed Dec 15 15:01:28 1993", bibsource = "https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @InProceedings{Cook:1972:LTS, author = "Stephen A. Cook", title = "Linear Time Simulation of Deterministic Two-Way Pushdown Automata", crossref = "Freiman:1972:IPP", pages = "75--80", year = "1972", bibdate = "Mon Sep 4 06:55:37 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://books.google.com/books?id=PifeQwAACAAJ", acknowledgement = ack-nhfb, remark = "This complicated theoretical paper led to the work in \cite{Knuth:1977:FPM}. No machine readable copy, nor a DOI, has yet been found.", } @TechReport{Gabow:1972:EIE, author = "Harold N. Gabow", title = "An efficient implementation of {Edmonds}' maximum matching algorithm", type = "Technical Report", number = "CS-TR-72-328", institution = inst-STAN-CS, address = inst-STAN-CS:adr, month = jun, year = "1972", bibdate = "Fri Nov 7 07:00:05 MST 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/stanford-cstr.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://i.stanford.edu/TR/CS-TR-72-328.html", abstract = "A matching in a graph is a collection of edges, no two of which share a vertex. A maximum matching contains the greatest number of edges possible. This paper presents an efficient implementation of Edmonds' algorithm for finding maximum matchings. The computation time is proportional to $ V^3 $, where V is the number of vertices; previous algorithms have computation time proportional to $ V^4 $. The implementation avoids Edmonds' blossom reduction by using pointers to encode the structure of alternating paths.", acknowledgement = ack-nhfb, } @Article{Smith:1972:GRE, author = "L. W. Smith and S. S. Yau", title = "Generation of regular expressions for automata by the integral of regular expressions", journal = j-COMP-J, volume = "15", number = "3", pages = "222--228", month = aug, year = "1972", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/15.3.222", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Tue Dec 4 14:47:50 MST 2012", bibsource = "http://comjnl.oxfordjournals.org/content/15/3.toc; http://www3.oup.co.uk/computer_journal/hdb/Volume_15/Issue_03/; https://www.math.utah.edu/pub/tex/bib/compj.bib; https://www.math.utah.edu/pub/tex/bib/compj1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://comjnl.oxfordjournals.org/content/15/3/222.full.pdf+html; http://www3.oup.co.uk/computer_journal/hdb/Volume_15/Issue_03/150222.sgm.abs.html; http://www3.oup.co.uk/computer_journal/hdb/Volume_15/Issue_03/tiff/222.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_15/Issue_03/tiff/223.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_15/Issue_03/tiff/224.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_15/Issue_03/tiff/225.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_15/Issue_03/tiff/226.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_15/Issue_03/tiff/227.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_15/Issue_03/tiff/228.tif", acknowledgement = ack-nhfb, classcodes = "C4220 (Automata theory)", corpsource = "Northwestern Univ., Evanston, IL, USA", fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", keywords = "algorithm; expressions; finite automata; generation or regular expressions; integral of regular", treatment = "T Theoretical or Mathematical", } @Book{Aho:1973:TPT, author = "Alfred V. Aho and Jeffrey D. Ullman", title = "The Theory of Parsing, Translation, and Compiling. {II}. Compiling", volume = "II", publisher = pub-PH, address = pub-PH:adr, pages = "xiii + 460", year = "1973", ISBN = "0-13-914564-8", ISBN-13 = "978-0-13-914564-3", LCCN = "QA76.6 .A286 1972-73", bibdate = "Wed Dec 15 15:01:25 1993", bibsource = "https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Davison:1973:RSC, author = "G. A. Davison", title = "Rapidly Searching for Character String Matches Using Hash Coding", journal = j-IBM-TDB, volume = "16", number = "1", pages = "??--??", month = jun, year = "1973", CODEN = "IBMTAA", ISSN = "0018-8689", bibdate = "Sat Jan 25 17:38:12 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "723", fjournal = "IBM Technical Disclosure Bulletin", journalabr = "IBM Tech Disclosure Bull", keywords = "computer programming", } @Article{Gimpel:1973:TDP, author = "James F. Gimpel", title = "A Theory of Discrete Patterns and Their Implementation in {SNOBOL4}", journal = j-CACM, volume = "16", number = "2", pages = "91--100", month = feb, year = "1973", CODEN = "CACMA2", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", MRclass = "68A15 (68A45)", MRnumber = "52 7198", MRreviewer = "John K. Debenham", bibdate = "Mon Jan 22 06:44:26 MST 2001", bibsource = "Compendex database; http://dblp.uni-trier.de/db/journals/cacm/cacm16.html#Gimpel73; https://www.math.utah.edu/pub/tex/bib/cacm1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The notion of a discrete pattern is formalized and certain properties deduced. A pattern is shown to be a generalization of a formal language. Algorithms for implementing the kinds of patterns in SNOBOL4 are given. The general approach is to create, in-so-far as possible, a bottom-up parse from a top-down specification.", acknowledgement = ack-nhfb, classcodes = "C4210 (Formal logic); C6140 (Programming languages)", classification = "723", corpsource = "Bell Telephone Labs., Holmdel, NJ, USA", fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", journalabr = "Commun ACM", keywords = "computer programming languages; data processing --- Data Structures; discrete patterns; formal language; formal languages; parsing; pattern implementation; pattern matching; pattern recognition systems; pattern theory; patterns; programming languages; SNOBOL4; string processing", oldlabel = "Gimpel73", treatment = "T Theoretical or Mathematical", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/Gimpel73", } @Article{James:1973:ACP, author = "E. B. James and Derek P. Partridge", title = "Adaptive Correction of Program Statements", journal = j-CACM, volume = "16", number = "1", pages = "27--37", month = jan, year = "1973", CODEN = "CACMA2", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Mon Jan 22 06:52:38 MST 2001", bibsource = "Compendex database; http://dblp.uni-trier.de/db/journals/cacm/cacm16.html#JamesP73; https://www.math.utah.edu/pub/tex/bib/cacm1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "A method of analyzing statements in a programming language which can tolerate a considerable inaccuracy in their specification is proposed. This method involves principles at present mainly confined to studies in the area of artificial intelligence such as feature extraction, approximate tree matching, and strategy improvement by feedback from the matching process. A pilot program incorporating the principles is described and preliminary operating results are presented. A final section surveys further principles which are currently being investigated.", acknowledgement = ack-nhfb, classcodes = "C4240 (Programming and algorithm theory)", classification = "723", corpsource = "Imperial Coll. Sci. and Technol., London, UK", fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", journalabr = "Commun ACM", keywords = "adaptive correction; artificial intelligence; automatic parsing; compiler; computer metatheory; computer programming languages; linguistic pattern matching; program statements; programming; programming languages; syntax analysis; theory", oldlabel = "JamesP73", treatment = "T Theoretical or Mathematical", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/JamesP73", } @TechReport{Smith:1973:M, author = "David Canfield Smith and Horace J. Enea", title = "{MLISP2}", type = "Technical Report", number = "CS-TR-73-356", institution = inst-STAN-CS, address = inst-STAN-CS:adr, month = may, year = "1973", bibdate = "Fri Nov 7 07:00:05 MST 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/stanford-cstr.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://i.stanford.edu/TR/CS-TR-73-356.html", abstract = "MLISP2 is a high-level programming language based on LISP. Features: 1. The notation of MLISP. 2. Extensibility---the ability to extend the language and to define new languages. 3. Pattern matching---the ability to match input against context free or sensitive patterns. 4. Backtracking--the ability to set decision points, manipulate contexts and backtrack.", acknowledgement = ack-nhfb, } @Book{Aho:1974:DAC, author = "Alfred V. Aho and John E. Hopcroft and Jeffrey D. Ullman", title = "The Design and Analysis of Computer Algorithms", publisher = pub-AW, address = pub-AW:adr, pages = "x + 470", year = "1974", ISBN = "0-201-00029-6", ISBN-13 = "978-0-201-00029-0", LCCN = "QA76.6 .A284 1974", bibdate = "Tue Dec 14 22:34:07 1993", bibsource = "https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, tableofcontents = "1. Models of computation \\ 2. Design of efficient algorithms \\ 3. Sorting and order statistics \\ 4. Data structures for set manipulation problems \\ 5. Algorithms on graphs \\ 6. Matrix multiplication and related operations \\ 7. The Fast Fourier Transform and its applications \\ 8. Integer and polynomial arithmetic \\ 9. Pattern-matching algorithms \\ 10. NP-complete problems \\ 11. Some provably intractable problems \\ 12. Lower bounds on numbers of arithmetic operations", } @TechReport{Colby:1974:PMR, author = "Kenneth Mark Colby and Roger C. Parkison and William S. Faught", title = "Pattern-matching rules for the recognition of natural language dialogue expressions", type = "Technical Report", number = "CS-TR-74-431", institution = inst-STAN-CS, address = inst-STAN-CS:adr, month = jun, year = "1974", bibdate = "Fri Nov 7 07:00:05 MST 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/stanford-cstr.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://i.stanford.edu/TR/CS-TR-74-431.html", abstract = "Man-machine dialogues using everyday conversational English present problems for computer processing of natural language. Grammar-based parsers which perform a word-by-word, parts-of-speech analysis are too fragile to operate satisfactorily in real time interviews allowing unrestricted English. In constructing a simulation of paranoid thought processes, we designed an algorithm capable of handling the linguistic expressions used by interviewers in teletyped diagnostic psychiatric interviews. The algorithm uses pattern-matching rules which attempt to characterize the input expressions by progressively transforming them into patterns which match, completely or fuzzily, abstract stored patterns. The power of this approach lies in its ability to ignore recognized and unrecognized words and still grasp the meaning of the message. The methods utilized are general and could serve any `host' system which takes natural language input.", acknowledgement = ack-nhfb, } @Article{Earley:1974:HLO, author = "J. Earley", title = "High level operations in automatic programming", journal = j-SIGPLAN, volume = "9", number = "4", pages = "34--42", month = apr, year = "1974", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sat Apr 25 11:46:37 MDT 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C6140D (High level languages)", conflocation = "Santa Monica, CA, USA; 28-29 March 1974", conftitle = "ACM SIGPLAN Symposium on Very High Level Languages", corpsource = "Univ. California, Berkeley, CA, USA", fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "automatic programming; constrained data structures; high level operations; implicitly specified data structures; iterators; nonprocedural languages; pattern languages; pattern matching facilities; problem oriented languages; programming language VERS2", sponsororg = "ACM", treatment = "A Application; T Theoretical or Mathematical", } @InProceedings{Ehrenfeucht:1974:CMR, author = "Andrzej Ehrenfeucht and Paul Zeiger", title = "Complexity measures for regular expressions", crossref = "ACM:1974:CRS", pages = "75--79", year = "1974", bibdate = "Wed Feb 20 18:33:29 MST 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @TechReport{Morris:1974:FPM, author = "James H. {Morris, Jr.} and Vaughn R. Pratt and Donald E. Knuth", title = "Fast Pattern Matching in Strings", type = "Technical Report", number = "STAN-CS-74-440 (PB237360/AS)", institution = inst-STAN-CS, address = inst-STAN-CS:adr, pages = "32", month = jul, year = "1974", bibdate = "Fri Nov 21 14:21:14 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/stanford-cstr.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "", acknowledgement = ack-nhfb, } @TechReport{vonHenke:1974:APV, author = "Friedrich W. von Henke and David C. Luckham", title = "Automatic program verification {III}: a methodology for verifying programs", type = "Technical Report", number = "CS-TR-74-474", institution = inst-STAN-CS, address = inst-STAN-CS:adr, month = dec, year = "1974", bibdate = "Fri Nov 7 07:00:05 MST 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/stanford-cstr.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://i.stanford.edu/TR/CS-TR-74-474.html", abstract = "The paper investigates methods for applying an on-line interactive verification system designed to prove properties of PASCAL programs. The methodology is intended to provide techniques for developing a debugged and verified version starting from a program, that (a) is possibly unfinished in some respects, (b) may not satisfy the given specifications, e.g., may contain bugs, (c) may have incomplete documentation, (d) may be written in non-standard ways, e.g., may depend on user-defined data structures. The methodology involves (i) interactive application of a verification condition generator, an algebraic simplifier and a theorem-prover; (ii) techniques for describing data structures, type constraints, and properties of programs and subprograms (i.e. lower level procedures); (iii) the use of (abstract) data types in structuring programs and proofs. Within each unit (i.e. segment of a problem), the interactive use is aimed at reducing verification conditions to manageable proportions so that the non-trivial factors may be analysed. Analysis of verification conditions attempts to localize errors in the program logic, to extend assertions inside the program, to spotlight additional assumptions on program subfunctions (beyond those already specified by the programmer), and to generate appropriate lemmas that allow a verification to be completed. Methods for structuring correctness proofs are discussed that are similar to those of `structured programming'. A detailed case study of a pattern matching algorithm illustrating the various aspects of the methodology (including the role played by the user) is given.", acknowledgement = ack-nhfb, } @Article{Wagner:1974:OCR, author = "Robert A. Wagner", title = "Order-$n$ Correction for Regular Languages", journal = j-CACM, volume = "17", number = "5", pages = "265--268", month = may, year = "1974", CODEN = "CACMA2", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Mon Jan 22 07:27:44 MST 2001", bibsource = "Compendex database; http://dblp.uni-trier.de/db/journals/cacm/cacm17.html#Wagner74; https://www.math.utah.edu/pub/tex/bib/cacm1970.bib; https://www.math.utah.edu/pub/tex/bib/spell.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "A method is presented for calculating a string B, belonging to a given regular language L, which is ``nearest'' (in number of edit operations) to a given input string $a$. {$B$} is viewed as a reasonable ``correction'' for the possibly erroneous string $a$, where a was originally intended to be a string of {$L$}. \par The calculation of {$B$} by the method presented requires time proportional to $ |a| $, the number of characters in $a$. The method should find applications in information retrieval, artificial intelligence, and spelling correction systems.", acknowledgement = ack-nhfb, classcodes = "C4210 (Formal logic); C6130 (Data handling techniques)", classification = "723", corpsource = "Vanderbilt Univ., Nashville, TN, USA", fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", journalabr = "Commun ACM", keywords = "artificial intelligence; compiler error recovery; computer programming languages; context free languages; context-free languages; correction; corrector; edit operations; error correction; error correction codes; error correction, regular languages, regular events, finite state automata, compiler error recovery, spelling correction, string best match problem, correction, corrector, errors, nondeterministic finite-state automata; errors; finite state automata; information; nondeterministic finite state automata; nondeterministic finite-state automata; order $n$ correction; regular events; regular languages; retrieval; spelling correction; string best match problem", oldlabel = "Wagner74", treatment = "T Theoretical or Mathematical", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/Wagner74", } @Article{Aho:1975:ESM, author = "Alfred V. Aho and Margaret J. Corasick", title = "Efficient String Matching: an Aid to Bibliographic Search", journal = j-CACM, volume = "18", number = "6", pages = "333--340", month = jun, year = "1975", CODEN = "CACMA2", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", MRclass = "68A50", MRnumber = "51 7393", MRreviewer = "K. H. V. Booth", bibdate = "Mon Jan 22 06:20:48 MST 2001", bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/protein.pattern.bib; ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib; http://dblp.uni-trier.de/db/journals/cacm/cacm18.html#AhoC75; https://www.math.utah.edu/pub/tex/bib/cacm1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "This paper describes a simple, efficient algorithm to locate all occurrences of any of a finite number of keywords in a string of text. The algorithm consists of constructing a finite state pattern matching machine from the keywords and then using the pattern matching machine to process the text string in a single pass. Construction of the pattern matching machine takes time proportional to the sum of the lengths of the keywords. The number of state transitions made by the pattern matching machine in processing the text string is independent of the number of keywords. The algorithm has been used to improve the speed of a library bibliographic search program by a factor of 5 to 10.", acknowledgement = ack-nhfb, classcodes = "C6120 (File organisation); C7250 (Information storage and retrieval)", classification = "721; 723", corpsource = "Bell Labs., Murray Hill, NJ, USA", fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", journalabr = "Commun ACM", keywords = "algorithm; automata theory --- Finite Automata; bibliographic search; computational complexity.; efficient; finite state machines; finite state pattern matching; information retrieval; information retrieval systems; keywords; keywords and phrases; patterns UNIX searching; string matching; string pattern matching; text; text editing; text-editing", oldlabel = "AhoC75", treatment = "P Practical", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/AhoC75", } @Article{Berkling:1975:CDH, author = "K. Berkling and W. Kluge", title = "Conceptual Design of a Hardwired Main Storage Management Unit", journal = j-COMP-J, volume = "18", number = "4", pages = "360--365", month = nov, year = "1975", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/18.4.360", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Tue Dec 4 14:47:56 MST 2012", bibsource = "Compendex database; http://comjnl.oxfordjournals.org/content/18/4.toc; http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/; https://www.math.utah.edu/pub/tex/bib/compj.bib; https://www.math.utah.edu/pub/tex/bib/compj1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://comjnl.oxfordjournals.org/content/18/4/360.full.pdf+html; http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/tiff/360.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/tiff/361.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/tiff/362.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/tiff/363.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/tiff/364.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/tiff/365.tif", acknowledgement = ack-nhfb, classcodes = "C6120 (File organisation); C6150J (Operating systems)", classification = "722; 723", corpsource = "Gesellschaft Math. und Datenverarbeitung GmbH, Bonn, West Germany", fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", keywords = "bit planes; computer operating systems; data storage, digital; hardwired main storage management unit; operating system; special processor; storage cells; storage management; string search algorithm", treatment = "T Theoretical or Mathematical", } @Article{Galil:1975:CLA, author = "Zvi Galil", title = "On converting on-line algorithms into real-time and on real-time algorithms for string-matching and palindrome recognition", journal = j-SIGACT, volume = "7", number = "4", pages = "26--30", month = nov, year = "1975", CODEN = "SIGNDM", DOI = "https://doi.org/10.1145/990502.990505", ISSN = "0163-5700 (print), 1943-5827 (electronic)", ISSN-L = "0163-5700", bibdate = "Wed Mar 21 06:52:58 MDT 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigact.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We give a sufficient condition when an on-line algorithm can be transformed into a real-time algorithm. We use this condition to construct real-time algorithms for string-matching and palindrome recognition problems by random access machines and by Turing machines.", acknowledgement = ack-nhfb, fjournal = "ACM SIGACT News", journal-URL = "http://dl.acm.org/citation.cfm?id=J697", } @Article{Manacher:1975:NLT, author = "Glenn Manacher", title = "A New Linear-Time {``On-Line''} Algorithm for Finding the Smallest Initial Palindrome of a String", journal = j-J-ACM, volume = "22", number = "3", pages = "346--351", month = jul, year = "1975", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Wed Jan 15 18:12:53 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Despite significant advances in linear-time scanning algorithms, particularly those based wholly or in part on either Cook's linear-time simulation of two-way deterministic pushdown automata or Weiner's algorithm, the problem of recognizing the initial leftmost nonvoid palindrome of a string in time proportional to the length $N$ of the palindrome, examining no symbols other than those in the palindrome, has remained open. The algorithm presented solves this problem, assuming that addition of two integers less than or equal to $N$ may be performed in a single operation. Like the Knuth--Morris--Pratt algorithm, it runs in time independent of the size of the input alphabet. The algorithm as presented finds only even palindromes. However, an extension allows one to recognize the initial odd or even palindrome of length 2 or greater.", acknowledgement = ack-nhfb, classification = "722; 723", fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", journalabr = "J Assoc Comput Mach", keywords = "computer programming; computer systems, digital --- On Line Operation; linear-time algorithm; palindromes", } @Article{Salton:1975:VSM, author = "Gerard Salton and A. Wong and C. S. Yang", title = "A Vector Space Model for Automatic Indexing", journal = j-CACM, volume = "18", number = "11", pages = "613--620", month = nov, year = "1975", CODEN = "CACMA2", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Mon Jan 22 07:18:07 MST 2001", bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib; http://dblp.uni-trier.de/db/journals/cacm/cacm18.html#SaltonWY75; https://www.math.utah.edu/pub/tex/bib/cacm1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "In a document retrieval, or other pattern matching environment where stored entities (documents) are compared with each other or with incoming patterns (search requests), it appears that the best indexing (property) space is one where each entity lies as far away from the others as possible; in these circumstances the value of an indexing system may be expressible as a function of the density of the object space; in particular, retrieval performance may correlate inversely with space density. An approach based on space density computations is used to choose an optimum indexing vocabulary for a collection of documents. Typical evaluation results are shown, demonstrating the usefulness of the model.", acknowledgement = ack-nhfb, annote = "Optimizing of relationship strength based data access.", classcodes = "C6130 (Data handling techniques); C7240 (Information analysis and indexing)", classification = "723; 901", corpsource = "Cornell Univ., Ithaca, NY, USA", fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", journalabr = "Commun ACM", keywords = "automatic indexing; content analysis; density; document retrieval; incoming patterns; indexing; information science; library mechanisation; pattern matching environment; space; vector space model", oldlabel = "SaltonWY75", treatment = "A Application; P Practical", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/SaltonWY75", } @InBook{Dijkstra:1976:PMP, author = "Edsger W. Dijkstra", booktitle = "A Discipline of Programming", title = "The pattern matching problem", chapter = "18", publisher = pub-PH, address = pub-PH:adr, year = "1976", bibdate = "Mon Mar 16 08:14:00 2015", bibsource = "https://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, oldlabel = "EWD:EWD459pub", } @Article{Ehrenfeucht:1976:CMR, author = "Andrzej Ehrenfeucht and Paul Zeiger", title = "Complexity measures for regular expressions", journal = j-J-COMP-SYS-SCI, volume = "12", number = "2", pages = "134--146", month = apr, year = "1976", CODEN = "JCSSBM", DOI = "https://doi.org/10.1016/S0022-0000(76)80034-7", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:25:32 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0022000076800347", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Article{Fosdick:1976:DFA, author = "Lloyd D. Fosdick and Leon J. Osterweil", title = "Data Flow Analysis in Software Reliability", journal = j-COMP-SURV, volume = "8", number = "3", pages = "305--330", month = sep, year = "1976", CODEN = "CMSVAN", DOI = "https://doi.org/10.1145/356674.356676", ISSN = "0010-4892", ISSN-L = "0360-0300", bibdate = "Thu Jun 19 09:20:22 MDT 2008", bibsource = "Compendex database; http://www.acm.org/pubs/contents/journals/surveys/; https://www.math.utah.edu/pub/tex/bib/compsurv.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The ways that the methods of data flow analysis can be applied to improve software reliability are described. There is also a review of the basic terminology from graph theory and from data flow analysis in global program optimization. The notation of regular expressions is used to describe actions on data for sets of paths. These expressions provide the basis of a classification scheme for data flow which represents patterns of data flow along paths within subprograms and along paths which cross subprogram boundaries. Fast algorithms, originally introduced for global optimization, are described and it is shown how they can be used to implement the classification scheme. It is then shown how these same algorithms can also be used to detect the presence of data flow anomalies which are symptomatic of programming errors. Finally, some characteristics of and experience with DAVE, a data flow analysis system embodying some of these ideas, are described.", acknowledgement = ack-nhfb, classification = "723", fjournal = "ACM Computing Surveys", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J204", keywords = "computer programming; computer software reliability; data flow analysis", } @InProceedings{Galil:1976:RTA, author = "Zvi Galil", title = "Real-time algorithms for string-matching and palindrome recognition", crossref = "ACM:1976:CRE", pages = "161--173", year = "1976", bibdate = "Wed Feb 20 18:33:30 MST 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Galil:1976:TFS, author = "Zvi Galil", title = "Two Fast Simulations Which Imply Some Fast String Matching and Palindrome-Recognition Algorithms", journal = j-INFO-PROC-LETT, volume = "4", number = "4", pages = "85--87", day = "??", month = jan, year = "1976", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue Nov 17 10:49:43 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "721; C4220 (Automata theory)", corpsource = "Dept. of Computer Sci., IBM T.J. Watson Res. Center, Yorktown Heights, NY, USA", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "automata theory; deterministic multitape Turing machine; fast string matching; palindrome recognition; random access machine; simulations; Turing machines", treatment = "T Theoretical or Mathematical", } @Article{Manacher:1976:APM, author = "G. K. Manacher", title = "An application of pattern matching to a problem in geometrical complexity", journal = j-INFO-PROC-LETT, volume = "5", number = "1", pages = "6--7", day = "??", month = may, year = "1976", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue Nov 17 10:49:43 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition); C5530 (Pattern recognition and computer vision equipment)", corpsource = "Dept. of Information Engng., Univ. of Illinois, Chicago, IL, USA", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", keywords = "combinatorial problems; geometrical complexity; pattern matching; pattern recognition; polygons", treatment = "P Practical", } @Article{McCreight:1976:SES, author = "Edward M. McCreight", title = "A Space-Economical Suffix Tree Construction Algorithm", journal = j-J-ACM, volume = "23", number = "2", pages = "262--272", month = apr, year = "1976", CODEN = "JACOAH", DOI = "https://doi.org/10.1145/321941.321946", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Sat Jan 26 12:46:16 MST 2013", bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/protein.pattern.bib; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "A new algorithm is presented for constructing auxiliary digital search trees to aid in exact-match substring searching. This algorithm has the same asymptotic running time bound as previously published algorithms, but is more economical in space. Some implementation considerations are discussed, and new work on the modification of these search trees in response to incremental changes in the strings they index (the update problem) is presented.", acknowledgement = ack-ds # " and " # ack-nhfb, classification = "723; 901", comment = "Algorithms to build, use, and modify suffix tree are presented. The advantage of this algorithm over other linear time algorithms to perform similar tasks is that this algorithm uses less space. This seems to the primary reference for suffix trees.", fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", journalabr = "J Assoc Comput Mach", keywords = "computer programming; information science --- Information Retrieval", rawdata = "McCreight, E. M (1976) ``A Space Economical Suffix Tree Construction Algorithm,'' {\it Journal of the ACM}, {\bf32}(2):262--272, April.", } @TechReport{Sabsevitz:1976:REM, author = "A. L. Sabsevitz", title = "A Regular Expression Matcher For The {C} Language", type = "Technical Memorandum", number = "1101 (TM 76-9141-5)", institution = inst-ATT-BELL, address = inst-ATT-BELL:adr, pages = "??", day = "2", month = jun, year = "1976", bibdate = "Tue Jun 06 08:07:45 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", abstract = "This memorandum describes a primitive regular expression matching facility written for language C. Routines have been provided to compile regular expressions and to apply such compiled expressions to string subjects.", acknowledgement = ack-nhfb, } @Article{Abbott:1977:DIY, author = "R. J. Abbott", title = "A do-it-yourself instant compiler.kit", journal = j-SIGCSE, volume = "9", number = "1", pages = "53--58", month = feb, year = "1977", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/382063.803358", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sun Nov 18 08:53:56 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigcse1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Special issue for the Seventh Technical Symposium on Computer Science Education.", abstract = "The theory of compiler-compilers is well known. Here we present a small collection of SNOBOL subroutines which make the SNOBOL pattern matcher a self-documenting instant compiler. All one need add are the syntax productions (as simple SNOBOL patterns mimicking BNF) and the associated (synthesizing) semartic transformation in the form of arbitrarily simple SNOBOL programs. The resulting compiler produces a complete (or partial at the us{\'e}r's discretion) trace of the parse showing how the syntax matches or fails to match the input. After a match is achieved, the semantic rules are executed on the resulting parse tree. The execution of these rules too are optionally traced so that one has a full picture of just which transformations were performed at each node of the tree. Finally the parse tree is printed.", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", } @Article{Bird:1977:IPI, author = "Richard S. Bird", title = "Improving Programs by the Introduction of Recursion", journal = j-CACM, volume = "20", number = "11", pages = "856--863", month = nov, year = "1977", CODEN = "CACMA2", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", MRclass = "68A05", MRnumber = "56 17179", MRreviewer = "V. Cazanescu", bibdate = "Mon Jan 22 06:26:29 MST 2001", bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/Functional.bib; http://dblp.uni-trier.de/db/journals/cacm/cacm20.html#Bird77a; https://www.math.utah.edu/pub/tex/bib/cacm1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "A new technique of program transformation, called ``recursion introduction,'' is described and applied to two algorithms which solve pattern matching problems. By using a recursion introduction, algorithms which manipulate a stack are first translated into recursive algorithms in which no stack operations occur. These algorithms are then subjected to a second transformation, a method of recursion elimination called ``tabulation,'' to produce programs with a very efficient running time. In particular, it is shown how the fast linear pattern matching algorithm of Knuth, Morris, and Pratt can be derived in a few steps from a simple nonlinear stack algorithm.", acknowledgement = ack-nhfb, classcodes = "C4240 (Programming and algorithm theory)", classification = "723", corpsource = "Univ. of Reading, Reading, UK", fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", journalabr = "Commun ACM", keywords = "computer programming; functional program transformation optimization recursion elimination pattern matching computational induction; program transformation; programming theory; recursion introduction; stack", oldlabel = "Bird77a", treatment = "T Theoretical or Mathematical", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/Bird77a", } @Article{Bird:1977:TDP, author = "R. S. Bird", title = "Two dimensional pattern matching", journal = j-INFO-PROC-LETT, volume = "6", number = "5", pages = "168--170", day = "??", month = oct, year = "1977", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue Nov 17 10:49:43 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C4240 (Programming and algorithm theory); C6130 (Data handling techniques)", corpsource = "Dept. of Computer Sci., Univ. of Reading, Reading, UK", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", keywords = "pattern matching; pattern recognition; string matching; text editing; two dimensional", treatment = "T Theoretical or Mathematical", } @Article{Boyer:1977:FSS, author = "Robert S. Boyer and J. Strother Moore", title = "A Fast String Searching Algorithm", journal = j-CACM, volume = "20", number = "10", pages = "762--772", month = oct, year = "1977", CODEN = "CACMA2", DOI = "https://doi.org/10.1145/359842.359859", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Mon Jan 22 06:27:49 MST 2001", bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/protein.pattern.bib; http://dblp.uni-trier.de/db/journals/cacm/cacm20.html#BoyerM77; https://www.math.utah.edu/pub/tex/bib/cacm1970.bib; https://www.math.utah.edu/pub/tex/bib/cacm1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "See also \cite{Knuth:1977:FPM,Sunday:1990:VFS,Baeza-Yates:1992:NAT}.", abstract = "An algorithm is presented that searches for the location, ``i,'' of the first occurrence of a character string, ``pat,'' in another string, ``string.'' During the search operation, the characters of pat are matched starting with the last character of pat. The information gained by starting the match at the end of the pattern often allows the algorithm to proceed in large jumps through the text being searched. Thus the algorithm has the unusual property that, in most cases, not all of the first i characters of string are inspected. The number of characters actually inspected (on the average) decreases as a function of the length of pat. For a random English pattern of length 5, the algorithm will typically inspect i/4 characters of string before finding a match at i. Furthermore, the algorithm has been implemented so that (on the average) fewer than i plus patlen machine instructions are executed. These conclusions are supported with empirical evidence and a theoretical analysis of the average behavior of the algorithm. The worst case behavior of the algorithm is linear in i plus patlen, assuming the availability of array space for tables linear in patlen plus the size of the alphabet.", acknowledgement = ack-nhfb, classcodes = "C4240 (Programming and algorithm theory); C6130 (Data handling techniques)", classification = "723; 901", comment = "The Boyer--Moore string matching algorithm is, in the worst case, linear in the length of the text + length of the pattern. The average case behavior is sublinear. Practical efficient implementations of this algorithm exist. By starting the comparisons at the right of the pattern instead of the left of the pattern, large jumps can be made in the text.", corpsource = "Stanford Res. Inst., Stanford, CA, USA", fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", journalabr = "Commun ACM", keywords = "algorithm; Boyer--Moore; character string; computer operating systems; computer programming; fast; information science --- Information Retrieval; list processing; pattern matching; string matching; string searching; text; text editing", oldlabel = "BoyerM77", received = "June 1975", revised = "April 1976", treatment = "T Theoretical or Mathematical", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/BoyerM77", } @Article{Brownlee:1977:ABI, author = "J. Nevil Brownlee", title = "An {Algol}-based implementation of {SNOBOL 4} patterns", journal = j-CACM, volume = "20", number = "7", pages = "527--529", month = jul, year = "1977", CODEN = "CACMA2", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Mon Jan 22 06:28:32 MST 2001", bibsource = "Compendex database; http://dblp.uni-trier.de/db/journals/cacm/cacm20.html#Brownlee77; https://www.math.utah.edu/pub/tex/bib/cacm1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "When a string appears as the subject of a SNOBOL4 statement, it may be scanned to see whether or not it contains a specified pattern. However, since the scanner is fundamentally an interpreter (using pattern graphs as its input code), pattern matching appears to be a time-consuming process. This paper describes an alternative approach in which SNOBOL4 patterns are compiled into Algol functions, which can be combined into larger (more complicated) patterns, and which are directly executed. It was developed as part of the implementation of ``Snobal\slash 67'', a Burroughs B6700 compiler for a SNOBAL4-like language.", acknowledgement = ack-nhfb, classcodes = "C6140D (High level languages)", classification = "723", corpsource = "Univ. of Auckland, Private Bag, Auckland, New Zealand", fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", journalabr = "Commun ACM", keywords = "ALGOL; compiled; computer operating systems --- Program Compilers; computer programming languages; implementation; pattern recognition systems; patterns; procedure oriented languages; SNOBOL 4", oldlabel = "Brownlee77", treatment = "P Practical", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/Brownlee77", } @TechReport{Carr:1977:CSM, author = "R. G. Carr", title = "Character String Manipulation in the {C} Language", type = "Technical Memorandum", number = "1208", institution = inst-ATT-BELL, address = inst-ATT-BELL:adr, pages = "??", day = "31", month = oct, year = "1977", bibdate = "Tue Jun 06 08:07:45 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", abstract = "This document describes the C language features and the available subroutines. It is intended to complement the C tutorial UNPL(1001) with emphasis on strings.", acknowledgement = ack-nhfb, } @Article{Davis:1977:ARE, author = "D. E. Davis and R. D. Moore and M. C. Williams and O. C. Woodard", title = "Automatic Registration in an Electron-Beam Lithographic System", journal = j-IBM-JRD, volume = "21", number = "6", pages = "498--505", month = nov, year = "1977", CODEN = "IBMJAE", ISSN = "0018-8646 (print), 2151-8556 (electronic)", ISSN-L = "0018-8646", bibdate = "Tue Mar 25 14:26:59 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/ibmjrd.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "A description is given of pattern registration, a process by which the circuit patterns required at a particular level of device fabrication are mapped to those of the preceding level. The considerations taken as basic in designing an accurate, high-speed registration process for a production-type electron-beam exposure system are discussed. This automatic registration system operates in 150 milliseconds per integrated circuit chip, allowing the system to achieve a throughput of 2000 5-mm chips per hour with overlay error of less than 0.75 $ \mu $ m (3 sigma). The operation of this system, its performance characteristics, and measurements of its pattern-matching accuracy are presented.", acknowledgement = ack-nhfb, classcodes = "B2220C (General integrated circuit fabrication techniques); B2550G (Lithography); B2570 (Semiconductor integrated circuits); C3355 (Control applications in manufacturing processes)", classification = "713; 745; 932", corpsource = "IBM Systems Products Div. Lab., East Fishkill, Hopewell Junction, NY, USA", fjournal = "IBM Journal of Research and Development", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5288520", journalabr = "IBM J Res Dev", keywords = "automatic registration system; circuit technology; electron beam applications; electron beams --- Applications; electron resists; integrated; integrated circuit manufacture; lithography --- Applications; manufacturing processes; pattern registration process; photolithography", treatment = "P Practical", } @Article{Dirilten:1977:PMU, author = "H. Dirilten and T. G. Newman", title = "Pattern Matching Under Affine Transformations", journal = j-IEEE-TRANS-COMPUT, volume = "C-26", number = "3", pages = "314--317", month = mar, year = "1977", CODEN = "ITCOB4", DOI = "https://doi.org/10.1109/TC.1977.1674832", ISSN = "0018-9340 (print), 1557-9956 (electronic)", ISSN-L = "0018-9340", bibdate = "Mon Jul 11 21:56:53 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1674832", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12", } @Article{Francez:1977:BRC, author = "Nissim Francez and Boris Klebansky and Amir Pnueli", title = "Backtracking in Recursive Computations", journal = j-ACTA-INFO, volume = "8", number = "2", pages = "125--144", day = "24", month = may, year = "1977", CODEN = "AINFA2", ISSN = "0001-5903 (print), 1432-0525 (electronic)", ISSN-L = "0001-5903", bibdate = "Fri Sep 22 14:22:31 2023", bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/bevan.bib; ftp://ftp.ira.uka.de/pub/bibliography/Misc/allison.bib; ftp://ftp.ira.uka.de/pub/bibliography/Misc/HBP/ACTAI.bib; https://www.math.utah.edu/pub/tex/bib/actainfo.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "A mathematical (denotational) semantics is constructed for a formalism of recursive equations with the {\em Alternative} operator. This formalism enables the combination of recursion and backtracking. The semantics is defined by applying fixpoint theory to set valued functions. We introduce the notion of strategy to produce subset of the result. Two implementations are suggested using an auxiliary stack. the concept of a sub-fixpoint is introduced, and the implementations are shown to be incomplete even w.r.t. sub-fixpoint values. One special strategy, the leftmost strategy, which stems from problems such as pattern matching and parsing, is discussed.", annote = "denotational semantics of recursive equations with the alternative operator. Can use recursion and backtracking. Uses set valued functions in semantics.", checked = "19940503", fjournal = "Acta Informatica", journal-URL = "http://www.springerlink.com/content/0001-5903", keywords = "alternative operator; backtracking; choice; denotational semantics; fixpoint; nondeterministic; recursion; semantics", refs = "15", } @Article{Goto:1977:PHA, author = "E. Goto and T. Ida and T. Gunji", key = "Goto \& Ida", title = "Parallel Hashing Algorithms", journal = j-INFO-PROC-LETT, volume = "6", number = "1", pages = "8--13", day = "??", month = feb, year = "1977", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue Nov 17 10:49:43 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C4240 (Programming and algorithm theory); C6120 (File organisation)", corpsource = "Inst. for Phys. and Chem. Res., Wako-shi, Saitama, Japan", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", keywords = "fast pattern matching; memory accesses; parallel hashing algorithms; retrieve; software systems; storage management", treatment = "T Theoretical or Mathematical", } @TechReport{Hoalst:1977:SMC, author = "B. C. Hoalst", title = "String Manipulation and Conversion for Switching Control Center", type = "Technical Memorandum", number = "1211 (TM 77-5222-2)", institution = inst-ATT-BELL, address = inst-ATT-BELL:adr, pages = "??", day = "20", month = oct, year = "1977", bibdate = "Tue Jun 06 08:07:45 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", abstract = "This library provides a number of basic mechanisms for implementation of complex string formatting tasks from C programs.", acknowledgement = ack-nhfb, } @Article{Housden:1977:CSP, author = "R. J. W. Housden and N. Kotarski", title = "Character string pattern matching in {Algol 68}", journal = j-SIGPLAN, volume = "12", number = "6", pages = "144--152", month = jun, year = "1977", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:14:05 MST 2003", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C6140D (High level languages); C6150E (General utility programs)", conflocation = "Glasgow, UK; 29-31 March 1977", conftitle = "Proceedings of the Strathclyde ALGOL 68 Conference", corpsource = "Univ. of East Anglia, Norwich, UK", fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "ALGOL; ALGOL 68; character string pattern matching; data handling; modes; operators; pattern recognition; procedures; SNOBOL 4", sponsororg = "ACM", treatment = "P Practical", } @Article{Knuth:1977:FPM, author = "Donald E. Knuth and James H. {Morris, Jr.} and Vaughan R. Pratt", title = "Fast Pattern Matching in Strings", journal = j-SIAM-J-COMPUT, volume = "6", number = "2", pages = "323--350", month = jun, year = "1977", CODEN = "SMJCAT", DOI = "https://doi.org/10.1137/0206024", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68A45", MRnumber = "56 #10198", MRreviewer = "B. Chandrasekaran", bibdate = "Fri Mar 22 18:03:29 MST 2002", bibsource = "Compiler/math.prog.construction.bib; http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/6/2; https://www.math.utah.edu/pub/tex/bib/cacm1970.bib; https://www.math.utah.edu/pub/tex/bib/cacm1990.bib; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database; Misc/traces.bib", note = "Errata, see \cite{Rytter:1980:CPA}. See also \cite{Boyer:1977:FSS,Rytter:1980:CPA,Sunday:1990:VFS,Hume:1991:FSS,Baeza-Yates:1992:NAT}.", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", received = "29 August 1974", remark = "This paper builds on work in \cite{Cook:1972:LTS}.", revised = "7 April 1976", } @TechReport{Luderer:1977:CPT, author = "G. W. R. Luderer", title = "Cut and Paste --- Two {UNIX} Word Processing Commands", type = "Technical Memorandum", number = "1205 (MF 77-8234-086)", institution = inst-ATT-BELL, address = inst-ATT-BELL:adr, pages = "??", day = "30", month = sep, year = "1977", bibdate = "Tue Jun 06 08:07:45 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", abstract = "{\tt Cut} and {\tt Paste} are two new UNIX word processing commands that complement {\tt grep} and {\tt cat}. {\tt Cut} dissects a file vertically, and {\tt Paste} is the reverse operation of {\tt Cut}.", acknowledgement = ack-nhfb, } @TechReport{Reiser:1977:EDO, author = "John F. Reiser", title = "{EDTV} --- a Display-Oriented Text Editor For {UNIX}", type = "Technical Memorandum", number = "1177 (TM 77-1353-6)", institution = inst-ATT-BELL, address = inst-ATT-BELL:adr, pages = "??", day = "1", month = aug, year = "1977", bibdate = "Tue Jun 06 08:07:45 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", abstract = "This memorandum is a description of the features and commands of {\tt edtv}, a display-oriented editor which runs under the UNIX operating system. It allows the regular expressions editing of {\tt ed}, the standard UNIX editor.", acknowledgement = ack-nhfb, } @Article{Silverston:1977:NPM, author = "Stefan M. Silverston", title = "A note on pattern matching under {Quickscan} in {SNOBOL4}", journal = j-SIGPLAN, volume = "12", number = "10", pages = "70--74", month = oct, year = "1977", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:14:10 MST 2003", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C6130 (Data handling techniques); C6140D (High level languages)", corpsource = "Computer Sci. Dept., Iowa State Univ., Ames, IA, USA", fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "data handling; heuristics; pattern matching; procedure oriented languages; Quickscan; SNOBOL4", treatment = "P Practical", } @Article{Stockman:1977:EHC, author = "G. C. Stockman and Ashok K. Agrawala", title = "Equivalence of {Hough} curve detection to template matching", journal = j-CACM, volume = "20", number = "11", pages = "820--822", month = nov, year = "1977", CODEN = "CACMA2", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Mon Jan 22 07:24:30 MST 2001", bibsource = "http://dblp.uni-trier.de/db/journals/cacm/cacm20.html#StockmanA77; https://www.math.utah.edu/pub/tex/bib/cacm1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classcodes = "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)", corpsource = "LNK Corp., Silver Spring, MD, USA", fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", keywords = "Hough; Hough curve detection; pattern recognition; template matching; transformation", oldlabel = "StockmanA77", treatment = "T Theoretical or Mathematical", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/StockmanA77", } @Article{Vineberg:1977:ICSa, author = "Maniel Vineberg", title = "Implementation of character string pattern matching on a multiprocessor", journal = j-COMP-ARCH-NEWS, volume = "6", number = "2", pages = "1--7", month = may, year = "1977", CODEN = "CANED2", ISSN = "0163-5964 (ACM), 0884-7495 (IEEE)", ISSN-L = "0163-5964", bibdate = "Fri May 12 09:40:45 MDT 2006", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigarch.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGARCH Computer Architecture News", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J89", } @Article{Vineberg:1977:ICSb, author = "Maniel Vineberg", title = "Implementation of character string pattern matching on a multiprocessor", journal = j-SIGMOD, volume = "9", number = "2", pages = "1--7", month = may, year = "1977", CODEN = "SRECD8", DOI = "https://doi.org/10.1145/965645.810246", ISSN = "0163-5808 (print), 1943-5835 (electronic)", ISSN-L = "0163-5808", bibdate = "Tue Jun 17 17:07:14 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigmod.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "An algorithm to do pattern matching, a basic character string operation, is presented. The Programmable Algorithm Machine (PAM), a proposed special-purpose computer which will feature multiple processing elements and operate efficiently over a wide class of applications, is described. It is shown that the multiple processing elements of the PAM allow concurrent execution of independent operations both in a special case of the pattern matching algorithm, where the string sizes (lengths) are known at compile time, and in the general case, where the sizes are not known.", acknowledgement = ack-nhfb, fjournal = "SIGMOD Record (ACM Special Interest Group on Management of Data)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J689", } @TechReport{Yao:1977:CPM, author = "Andrew Chi-Chih Yao", title = "The complexity of pattern matching for a random string", type = "Technical Report", number = "CS-TR-77-629", institution = inst-STAN-CS, address = inst-STAN-CS:adr, month = oct, year = "1977", bibdate = "Fri Nov 7 07:00:05 MST 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/stanford-cstr.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://i.stanford.edu/TR/CS-TR-77-629.html", abstract = "We study the average-case complexity of finding all occurrences of a given pattern $ \alpha $ in an input text string. Over an alphabet of q symbols, let $ c(\alpha, n) $ be the minimum average number of characters that need to be examined in a random text string of length $n$. We prove that, for large $m$, almost all patterns $ \alpha $ of length $m$ satisfy $ c(\alpha, n) = \Theta (\lceil \log_q ({n - m} / {\ln m} + 2) \rceil)$ if $ m \leq n \leq 2 m$, and $ c(\alpha, n) = \Theta ({\lceil \log_q m \rceil } / m n)$ if $ n > 2 m$. This in particular confirms a conjecture raised in a recent paper by Knuth, Morris, and Pratt [1977].", acknowledgement = ack-nhfb, } @Article{Akl:1978:CGM, author = "S. G. Akl", title = "Comments on: {G. Manacher}, {``An application of pattern matching to a problem in geometrical complexity''}", journal = j-INFO-PROC-LETT, volume = "7", number = "2", pages = "86--??", day = "28", month = feb, year = "1978", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue Nov 17 10:49:43 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C4240 (Programming and algorithm theory)", corpsource = "School of Computer Sci., McGill Univ., Montreal, Que., Canada", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", keywords = "computational complexity; geometrical complexity; pattern matching; polygon comparison", treatment = "T Theoretical or Mathematical", } @Article{Baker:1978:TER, author = "Theodore P. Baker", title = "A technique for extending rapid exact-match string matching to arrays of more than one dimension", journal = j-SIAM-J-COMPUT, volume = "7", number = "4", pages = "533--541", month = "????", year = "1978", CODEN = "SMJCAT", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68G10", MRnumber = "81h:68085", bibdate = "Mon Nov 29 10:58:52 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/7/4; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @Article{Choueka:1978:FAD, author = "Yaacov Choueka", title = "Finite automata, definable sets, and regular expressions over $ \omega^n$-tapes", journal = j-J-COMP-SYS-SCI, volume = "17", number = "1", pages = "81--97", month = aug, year = "1978", CODEN = "JCSSBM", DOI = "https://doi.org/10.1016/0022-0000(78)90036-3", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:25:38 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/0022000078900363", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Article{Ditzel:1978:PMH, author = "D. R. Ditzel", title = "Pattern matching for high level languages", journal = j-SIGPLAN, volume = "13", number = "5", pages = "46--55", month = may, year = "1978", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:14:17 MST 2003", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C6130 (Data handling techniques); C6140D (High level languages)", corpsource = "Computer Sci. Dept., Iowa State Univ., Ames, IA, USA", fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "characters; data handling; high level languages; pattern matching; procedure oriented languages; searching; string; text editor", treatment = "T Theoretical or Mathematical", } @TechReport{Freeman:1978:PCL, author = "R. B. Freeman", title = "{Parse()} --- A {C} Language Routine to Parse a String into Words", type = "Technical Memorandum", number = "1271", institution = inst-ATT-BELL, address = inst-ATT-BELL:adr, pages = "??", day = "15", month = jun, year = "1978", bibdate = "Tue Jun 06 08:07:45 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", abstract = "These notes document {\tt parse()}, a C language routine that parses an input string and returns the \ldots{} words and the number of words in the string.", acknowledgement = ack-nhfb, } @Article{Pagan:1978:FSS, author = "F. G. Pagan", title = "Formal Semantics of a {Snobol4} Subset", journal = j-COMP-LANGS, volume = "3", number = "1", pages = "13--30", month = "????", year = "1978", CODEN = "COLADA", ISSN = "0096-0551 (print), 1873-6742 (electronic)", ISSN-L = "0096-0551", bibdate = "Thu Apr 10 09:52:25 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/complngs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classcodes = "C4210 (Formal logic); C6140D (High level languages)", classification = "723", corpsource = "Dept. of Math., Statistics and Computer Sci., Memorial Univ. of Newfoundland, St. John's, Nfld., Canada", fjournal = "Computer Languages", journal-URL = "http://www.sciencedirect.com/science/journal/00960551", journalabr = "Comput Lang", keywords = "abstract interpreter; abstract syntax; computer programming languages; concrete syntax; formal languages; function invocation; pattern matching; programming languages; semantics; Snobol4; SNOBOL4 subset; statement sequencing; Vienna Definition Language", treatment = "G General Review", } @Article{Parker:1978:SCO, author = "K. P. Parker and E. J. McCluskey", title = "Sequential Circuit Output Probabilities From Regular Expressions", journal = j-IEEE-TRANS-COMPUT, volume = "C-27", number = "3", pages = "222--231", month = mar, year = "1978", CODEN = "ITCOB4", DOI = "https://doi.org/10.1109/TC.1978.1675075", ISSN = "0018-9340 (print), 1557-9956 (electronic)", ISSN-L = "0018-9340", bibdate = "Mon Jul 11 08:13:27 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1675075", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12", } @InProceedings{Slissenko:1978:SMR, author = "A. Slissenko", title = "String-Matching in Real-Time: Some Properties of the Data Structure", crossref = "Winkowski:1978:MFC", pages = "493--496", year = "1978", bibdate = "Sat Jul 3 07:43:10 MDT 1999", bibsource = "https://www.math.utah.edu/pub/bibnet/authors/s/slissenko-anatol.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", } @Article{Beyer:1979:LAI, author = "T. Beyer and W. Jones and S. Mitchell", title = "Linear Algorithms for Isomorphism of Maximal Outerplanar Graphs", journal = j-J-ACM, volume = "26", number = "4", pages = "603--610", month = oct, year = "1979", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Wed Jan 15 18:12:53 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Two linear algorithms are presented for solving the isomorphism problem for maximal outerplanar graphs (mops). These algorithms present improvements over corresponding linear algorithms for planar graph isomorphism when applied to mops. The algorithms are based on a code for a mop {$G$} which is obtained from a unique Hamiltonian cycle in {$G$}. The first involves a string-matching automation and the second involves the removal of vertices of degree two in layers until either an edge or triangular face remains.", acknowledgement = ack-nhfb, classification = "723; 921", fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", journalabr = "J Assoc Comput Mach", keywords = "computer programming; mathematical techniques --- Graph Theory", } @InProceedings{Cowan:1979:HKRa, author = "Richard M. Cowan and Martin L. Griss", title = "Hashing --- The Key to Rapid Pattern Matching", crossref = "Ng:1979:SAC", volume = "72", pages = "266--278", year = "1979", bibdate = "Sun Jul 17 10:04:39 1994", bibsource = "https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @InProceedings{Cowan:1979:HKRb, author = "Richard M. Cowan and Martin L. Griss", booktitle = "Proc. {EUROSAM} 1979, Lecture Notes in Computer Science", title = "Hashing --- The Key to Rapid Pattern Matching", volume = "72", publisher = pub-SV, address = pub-SV:adr, pages = "266--278", year = "1979", bibdate = "Fri Sep 22 14:23:22 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/red-a-f.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Galil:1979:IWC, author = "Zvi Galil", title = "On Improving the Worse Case Running Time of the {Boyer--Moore} String Matching Algorithm", journal = j-CACM, volume = "22", number = "9", pages = "505--508", month = sep, year = "1979", CODEN = "CACMA2", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", MRclass = "68H05 (68C25)", MRnumber = "80m:68083", MRreviewer = "Andrew Yao", bibdate = "Mon Jan 22 06:42:55 MST 2001", bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib; http://dblp.uni-trier.de/db/journals/cacm/cacm22.html#Galil79; https://www.math.utah.edu/pub/tex/bib/cacm1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, annote = "It compares the pattern with the text from the right end of the pattern. Whenever a mismatch occurs, it shifts the pattern according to a precomputed table. In the case that the text character positioned against the last character in the pattern does not appear in the pattern, we can immediately shift the pattern right a distance equal to the size of the pattern. Thus, we need to inspect only about $ n / m $ characters of the text (where $n$ and $m$ are the sizes of the text pattern).", classcodes = "C4240 (Programming and algorithm theory); C6130 (Data handling techniques)", corpsource = "Tel-Aviv Univ., Tel-Aviv, Israel", fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", keywords = "algorithm; computational complexity; data handling; running time; string matching; worst case", oldlabel = "Galil79", treatment = "T Theoretical or Mathematical", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/Galil79", } @TechReport{Griss:1979:HKR, author = "M. L. Griss", title = "Hashing---the Key to Rapid Pattern Matching", number = "UUCS-79-108", institution = "Computer Science Department, University of Utah", pages = "??", year = "1979", bibdate = "Thu Jul 21 09:35:11 1994", bibsource = "https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Harrington:1979:NSI, author = "Steven J. Harrington", title = "A New Symbolic Integration System in {REDUCE}", journal = j-COMP-J, volume = "22", number = "2", pages = "127--131", month = may, year = "1979", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/22.2.127", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Tue Dec 4 14:48:05 MST 2012", bibsource = "Compendex database; http://comjnl.oxfordjournals.org/content/22/2.toc; http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_02/; https://www.math.utah.edu/pub/tex/bib/compj.bib; https://www.math.utah.edu/pub/tex/bib/compj1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; Theory/Comp.Alg.1.bib; Theory/reduce.bib", URL = "http://comjnl.oxfordjournals.org/content/22/2/127.full.pdf+html; http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_02/tiff/127.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_02/tiff/128.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_02/tiff/129.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_02/tiff/130.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_02/tiff/131.tif", abstract = "A new integration system, employing both algorithmic and pattern match integration schemes is presented. The organization of the system differs from that of earlier programs in its emphasis on the algorithmic approach to integration, its modularity, and its ease of revision. The new {Norman-Risch} algorithm and its implementation at the University of Cambridge are employed, supplemented by a powerful collection of simplification and transformation rules. The facility for user defined integrals and functions is also included. The program is both fast and powerful, and can be easily modified to incorporate anticipated developments in symbolic integration.", acknowledgement = ack-nhfb, annote = "A new integration system, employing both algorithmic and pattern match integration schemes is presented. The organization of the system differs from that of earlier programs in its emphasis on the algorithmic approach to integration, its modularity, and its ease of revision. The new Norman-Risch algorithm and its implementation at the University of Cambridge are employed, supplemented by a powerful collection of simplification and transformation rules. The facility for user defined integrals and functions is also included. The program is both fast and powerful, and can be easily modified to incorporate anticipated developments in symbolic integration.", classcodes = "C4160 (Numerical integration and differentiation)", classification = "723", corpsource = "Univ. of Utah, Salt Lake City, UT, USA", fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", keywords = "algorithmic integration schemes; computer programming; integration; integration schemes; Norman Risch algorithm; pattern match; Reduce; reduce; rules; simplification rules; symbolic integration system; transformation", remark = "A new integration system, employing both algorithmic and pattern match integration schemes is presented. The organization of the system differs from that of earlier programs in its emphasis on the algorithmic approach to integration, its modularity, and its ease of revision. The new Norman-Risch algorithm and its implementation at the University of Cambridge are employed, supplemented by a powerful collection of simplification and transformation rules. The facility for user defined integrals and functions is also included. The program is both fast and powerful, and can be easily modified to incorporate anticipated developments in symbolic integration.", treatment = "G General Review; N New Development", } @Book{Hopcroft:1979:IAT, author = "John E. Hopcroft and Jeffrey D. Ullman", title = "Introduction to Automata Theory, Languages, and Computation", publisher = pub-AW, address = pub-AW:adr, pages = "418", year = "1979", ISBN = "0-201-02988-X", ISBN-13 = "978-0-201-02988-8", LCCN = "QA267 .H56", bibdate = "Wed Sep 9 09:30:16 MDT 2020", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = "Addison-Wesley Series in Computer Science", acknowledgement = ack-nhfb, tableofcontents = "Preliminaries \\ Finite automata and regular expressions \\ Properties of regular sets \\ Context-free grammars \\ Pushdown automata \\ Properties of context-free languages \\ Turing machines \\ Undecidability \\ The Chomsky hierarchy \\ Deterministic context-free languages \\ Closure properties of families of languages \\ Computational complexity theory \\ Intractable problems \\ Highlights of other important language classes", } @Article{Hunt:1979:OCR, author = "H. B. Hunt", title = "Observations on the complexity of regular expression problems", journal = j-J-COMP-SYS-SCI, volume = "19", number = "3", pages = "222--236", month = dec, year = "1979", CODEN = "JCSSBM", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:25:41 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/0022000079900023", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @TechReport{Kessler:1979:PPM, author = "R. Kessler", title = "{PMETA} --- Pattern Matching {META}/{REDUCE}", type = "Report", number = "USCG Op. Note No. 40", institution = "Univ. of Utah, CS Dept.", address = "Salt Lake City, UT, USA", month = jan, year = "1979", bibdate = "Fri Sep 22 14:23:22 2023", bibsource = "Ai/lisp.bib; https://www.math.utah.edu/pub/tex/bib/redextra.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, keywords = "LISP", } @Article{Kodratoff:1979:CFS, author = "Yves Kodratoff", title = "A class of functions synthesized from a finite number of examples and a {LISP} program scheme", journal = j-INT-J-COMPUT-INF-SCI, volume = "8", number = "6", pages = "489--521", month = dec, year = "1979", CODEN = "IJCIAH", ISSN = "0091-7036", MRclass = "68G10 (68B10)", MRnumber = "80i:68074", bibdate = "Sat Apr 26 14:03:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C4240 (Programming and algorithm theory)", corpsource = "Inst. de Programmation, CNRS, Paris, France", fjournal = "International Journal of Computer and Information Sciences", journal-URL = "http://link.springer.com/journal/10766", keywords = "finite number of examples; functions; LISP program scheme; pattern matching; programming theory", treatment = "T Theoretical or Mathematical", } @Article{Lesk:1979:DTD, author = "Arthur M. Lesk", title = "Detection of Three-Dimensional Patterns of Atoms in Chemical Structures", journal = j-CACM, volume = "22", number = "4", pages = "219--224", month = apr, year = "1979", CODEN = "CACMA2", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Mon Jan 22 06:58:32 MST 2001", bibsource = "Compendex database; http://dblp.uni-trier.de/db/journals/cacm/cacm22.html#Lesk79; https://www.math.utah.edu/pub/tex/bib/cacm1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "An algorithm for detecting occurrences of a three-dimensional pattern of objects within a larger structure is presented. The search technique presented used the geometric structure of the pattern to define characteristics demanded of candidates for matching. This is useful in cases where the properties of each atom, considered individually, do not adequately limit the number of sets of possible matchings. Several applications of this technique in the field of chemistry are: (1) in pharmacology: Searching for a common constellation of atoms in molecules possessing similar biological activities; (2) in X-ray crystallography: fitting a structure or a structural fragment to a set of peaks in the electron-density distribution of a Fourier map; (3) in chemical documentation: retrieving from a file the structures containing specified substructures.", acknowledgement = ack-nhfb, classcodes = "C7320 (Physics and chemistry computing)", classification = "462; 482; 501; 723; 804; 901", corpsource = "Fairleigh Dickinson Univ., Teaneck, NJ, USA", fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", journalabr = "Commun ACM", keywords = "atoms; chemical documentation; chemical structures; chemistry computing; crystallography; crystallography --- X-Ray Analysis; drug products; information science --- Information Retrieval; pattern recognition; pattern recognition systems; pharmacology; search; three dimensional; X-ray", oldlabel = "Lesk79", treatment = "A Application", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/Lesk79", } @TechReport{Lesk:1979:LLAa, author = "Michael E. Lesk and E. Schmidt", title = "{Lex} --- A Lexical Analyzer Generator", type = "Technical Memorandum", number = "1061", institution = inst-ATT-BELL, address = inst-ATT-BELL:adr, pages = "13??", month = jan, year = "1979", bibdate = "Tue Jun 06 08:07:45 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", abstract = "Lex helps write programs whose control flow is directed by instances of regular expressions in the input stream. It is well suited for editor-script type transformations and for segmenting input in preparation for a parsing routine.\par Lex source is a table of regular expressions and corresponding program fragments. The table is translated to a program which reads an input stream, copying it to an output stream and partitioning the input into strings which match the given expressions. As each such string is recognized the corresponding program fragment is executed. The recognition of the expressions is performed by a deterministic finite automaton generated by Lex. The program fragments written by the user are executed in the order in which the corresponding regular expressions occur in the input stream.\par The lexical analysis programs written with Lex accept ambiguous specifications and choose the longest match possible at each input point. If necessary. substantial lookahead is performed on the input, but the input stream will be backed up to the end of the current partition, so that the user has general freedom to manipulate it.\par Lex can be used to generate analyzers in either C or Ratfor, a language which can be translated automatically to portable Fortran. It is available on the PDP-11 UNIX. Honeywell GCOS. and IBM OS systems. Lex is designed to simplify interfacing with Yacc, for those with access to this compiler-compiler system.", abstract-2 = "Lex helps write programs whose control flow is directed by instances of regular expressions \ldots{} input stream.", acknowledgement = ack-nhfb, remark = "Available in PDF file of \cite[pp. 439--451]{Dolotta:1977:DPU}.", tableofcontents = "1. Introduction / 1 \\ 2. Lex Source / 3 \\ 3. Lex Regular Expressions / 3 \\ 4. Lex Actions / 5 \\ 5. Ambiguous Source Rules / 7 \\ 6. Lex Source Definitions / 8 \\ 7. Usage / 8 \\ 8. Lex and Yacc / 9 \\ 9. Examples / 10 \\ 10. Left Context Sensitivity / 11 \\ 11. Character Set / 12 \\ 12. Summary of Source Format / 12 \\ 13. Caveats and Bugs / 13 \\ 14. Acknowledgments / 13 \\ 15. References / 13", } @Article{Reuhkala:1979:RHA, author = "Erkki Reuhkala and Matti Jalanko and Teuvo Kohonen", title = "Redundant Hash Addressing Method Adapted for the Postprocessing and Error-Correction of Computer-Recognized Speech", journal = "Record --- IEEE International Conference on Acoustics, Speech \& Signal Processing", volume = "??", number = "??", pages = "591--594", month = "????", year = "1979", CODEN = "RIIPDR", bibdate = "Sat Jan 25 17:38:12 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "In the recognition of spoken words, a frequently applied method is to first convert the acoustic waveforms into phonemic strings which are then compared with prototype strings stored in a dictionary, using some metric. A standard method is to use dynamic programming for comparison of strings with variable length. This procedure, however, is rather slow. A recently introduced principle of string comparison is based on redundant hash addressing, and it is computationally at least an order of magnitude lighter. This method is here applied, using multiple prototypes of phonemic strings for each word in the dictionary. The matching criterion thereby applied in fact corresponds to a distance-weighted k-nearest-neighbor classifier which allows length variations in strings.", acknowledgement = ack-nhfb, classification = "751", conference = "Rec IEEE Int Conf Acoust Speech Signal Process 4th (ICASSP '79)", keywords = "speech", meetingaddress = "Washington, DC, USA", meetingdate = "Apr 2--4 1979", meetingdate2 = "04/02--04/79", } @Article{Richards:1979:CFR, author = "Martin Richards", title = "A Compact Function for Regular Expression Pattern Matching", journal = j-SPE, volume = "9", number = "7", pages = "527--534", month = jul, year = "1979", CODEN = "SPEXBL", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Tue Mar 13 05:17:46 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, annote = "A pattern matcher based on this algorithm is included in Joerg Schilling's star (fast tar) utility, available at ftp://ftp.fokus.gmd.de/pub/unix/star/star-1.2.tar.gz.", fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", } @Article{Robson:1979:ECP, author = "J. M. Robson", title = "The emptiness of complement problem for semi extended regular expressions requires $ c^n $ space", journal = j-INFO-PROC-LETT, volume = "9", number = "5", pages = "220--222", day = "16", month = dec, year = "1979", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue Nov 17 10:49:43 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C4210 (Formal logic)", corpsource = "Dept. of Computer Sci., Australian Nat. Univ., Canberra, ACT, Australia", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", keywords = "complement problem; emptiness; formal logic; semi extended regular expressions; set intersection", treatment = "T Theoretical or Mathematical", } @Article{Sassa:1979:PMM, author = "Masataka Sassa", title = "A pattern matching macro processor", journal = j-SPE, volume = "9", number = "6", pages = "439--456", month = jun, year = "1979", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.4380090604", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Wed Sep 10 12:36:39 MDT 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.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 = "27 Oct 2006", } @TechReport{Tarjan:1979:FAS, author = "Robert Endre Tarjan", title = "Fast algorithms for solving path problems", type = "Technical Report", number = "CS-TR-79-734", institution = inst-STAN-CS, address = inst-STAN-CS:adr, month = apr, year = "1979", bibdate = "Fri Nov 7 07:00:05 MST 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/stanford-cstr.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://i.stanford.edu/TR/CS-TR-79-734.html", abstract = "Let $ G = (V, E) $ be a directed graph with a distinguished source vertex $s$. The single-source path expression problem is to find, for each vertex $v$, a regular expression $ P(s, v)$ which represents the set of all paths in $G$ from $s$ to $v$. A solution to this problem can be used to solve shortest path problems, solve sparse systems of linear equations, and carry out global flow analysis. We describe a method to compute path expressions by dividing $G$ into components, computing path expressions on the components by Gaussian elimination, and combining the solutions. This method requires $ O(m \alpha (m, n))$ time on a reducible flow graph, where $n$ is the number of vertices in $G$, $m$ is the number of edges in $G$, and $ \alpha $ is a functional inverse of Ackermann's function. The method makes use of an algorithm for evaluating functions defined on paths in trees. A simplified version of the algorithm, which runs in $ O(m \log n)$ time on reducible flow graphs, is quite easy to implement and efficient in practice.", acknowledgement = ack-nhfb, } @TechReport{Tarjan:1979:UAP, author = "Robert Endre Tarjan", title = "A unified approach to path problems", type = "Technical Report", number = "CS-TR-79-729", institution = inst-STAN-CS, address = inst-STAN-CS:adr, month = apr, year = "1979", bibdate = "Fri Nov 7 07:00:05 MST 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/stanford-cstr.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://i.stanford.edu/TR/CS-TR-79-729.html", abstract = "We describe a general method for solving path problems on directed graphs. Such path problems include finding shortest paths, solving sparse systems of linear equations, and carrying out global flow analysis of computer programs. Our method consists of two steps. First, we construct a collection of regular expressions representing sets of paths in the graph. This can be done by using any standard algorithm, such as Gaussian or Gauss--Jordan elimination. Next, we apply a natural mapping from regular expressions into the given problem domain. We exhibit the mappings required to find shortest paths, solve sparse systems of linear equations, and carry out global flow analysis. Our results provide a general-purpose algorithm for solving any path problem, and show that the problem of constructing path expressions is in some sense the most general path problem.", acknowledgement = ack-nhfb, } @Article{Yao:1979:CPM, author = "Andrew Chi Chih Yao", title = "The complexity of pattern matching for a random string", journal = j-SIAM-J-COMPUT, volume = "8", number = "3", pages = "368--387", month = "????", year = "1979", CODEN = "SMJCAT", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68C25", MRnumber = "80g:68064", bibdate = "Mon Nov 29 10:59:03 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/8/3; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @Article{Bailey:1980:FSS, author = "T. A. Bailey and R. G. Dromey", title = "Fast string searching by finding subkeys in subtext", journal = j-INFO-PROC-LETT, volume = "11", number = "3", pages = "130--133", day = "18", month = nov, year = "1980", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc1970.bib; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C6130 (Data handling techniques)", corpsource = "Dept. of Computing Sci., Univ. of Wollongong, Wollongong, NSW, Australia", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190/", keywords = "characters; data handling; sequences; string search; subkeys; subtext", treatment = "A Application; T Theoretical or Mathematical", } @Article{Booth:1980:LLC, author = "Kellogg S. Booth", title = "Lexicographically least circular substrings", journal = j-INFO-PROC-LETT, volume = "10", number = "4--5", pages = "240--242", day = "5", month = jul, year = "1980", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68E99", MRnumber = "81g:68100", bibdate = "Tue Nov 17 10:49:43 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc1970.bib; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C4240 (Programming and algorithm theory)", corpsource = "Dept. of Computer Sci., Univ. of Waterloo, Waterloo, Ont., Canada", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", keywords = "algorithm theory; canonical form; graph isomorphism algorithms; Knuth Morris Pratt algorithm; least circular substrings; lexicographically least circular shift; linear time pattern matching algorithm", treatment = "T Theoretical or Mathematical", } @TechReport{Floyd:1980:CRE, author = "Robert Floyd and Jeffrey D. Ullman", title = "The Compilation of Regular Expressions into Integrated Circuits", type = "Technical Report", number = "STAN-CS-80-798", institution = inst-STAN-CS, address = inst-STAN-CS:adr, pages = "29", month = apr, year = "1980", bibdate = "Tue Nov 25 08:51:44 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/stanford-cstr.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "", acknowledgement = ack-nhfb, } @Article{Galil:1980:SSF, author = "Zvi Galil and Joel Seiferas", title = "Saving Space in Fast String-Matching", journal = j-SIAM-J-COMPUT, volume = "9", number = "2", pages = "417--438", month = "????", year = "1980", CODEN = "SMJCAT", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68C20 (68C25)", MRnumber = "81i:68052", MRreviewer = "Stanley H. Benton, Jr.", bibdate = "Mon Nov 29 10:59:14 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/9/2; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @Article{Guibas:1980:NPL, author = "Leo J. Guibas and Andrew M. Odlyzko", title = "A new proof of the linearity of the {Boyer--Moore} string searching algorithm", journal = j-SIAM-J-COMPUT, volume = "9", number = "4", pages = "672--682", month = "????", year = "1980", CODEN = "SMJCAT", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68C05 (68C25 68E99)", MRnumber = "82d:68024", MRreviewer = "Armin Cremers", bibdate = "Mon Nov 29 10:59:19 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/9/4; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @Article{Hall:1980:ASM, author = "Patrick A. V. Hall and Geoff R. Dowling", title = "Approximate String Matching", journal = j-COMP-SURV, volume = "12", number = "4", pages = "381--402", month = dec, year = "1980", CODEN = "CMSVAN", DOI = "https://doi.org/10.1145/356827.356830", ISSN = "0010-4892", ISSN-L = "0360-0300", bibdate = "Thu Jun 19 09:28:11 MDT 2008", bibsource = "http://www.acm.org/pubs/contents/journals/surveys/; https://www.math.utah.edu/pub/tex/bib/compsurv.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM Computing Surveys", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J204", } @Article{Horspool:1980:PFS, author = "R. Nigel Horspool", title = "Practical Fast Searching in Strings", journal = j-SPE, volume = "10", number = "6", pages = "501--506", month = jun, year = "1980", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.4380100608", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.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", keywords = "Boyer--Moore; Knuth--Morris--Pratt; string matrix", onlinedate = "27 Oct 2006", } @Article{Iyengar:1980:SSA, author = "S. Sitharama Iyengar and Vincent Alia", title = "A string searching algorithm", journal = j-APPL-MATH-COMP, volume = "6", number = "2", pages = "123--131", month = mar, year = "1980", CODEN = "AMHCBQ", DOI = "https://doi.org/10.1016/0096-3003(80)90037-5", ISSN = "0096-3003 (print), 1873-5649 (electronic)", ISSN-L = "0096-3003", bibdate = "Tue Nov 20 21:00:45 MST 2012", bibsource = "http://www.elsevier.com/locate/issn/00963003; https://www.math.utah.edu/pub/tex/bib/applmathcomput.bib; https://www.math.utah.edu/pub/tex/bib/applmathcomput1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/0096300380900375", acknowledgement = ack-nhfb, fjournal = "Applied Mathematics and Computation", journal-URL = "http://www.sciencedirect.com/science/journal/00963003/", } @Article{Leiss:1980:CFA, author = "Ernst Leiss", title = "Constructing a finite automaton for a given regular expression", journal = j-SIGACT, volume = "12", number = "3", pages = "81--87", month = "Fall", year = "1980", CODEN = "SIGNDM", DOI = "https://doi.org/10.1145/1008861.1008870", ISSN = "0163-5700 (print), 1943-5827 (electronic)", ISSN-L = "0163-5700", bibdate = "Wed Mar 21 08:21:20 MDT 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigact.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGACT News", journal-URL = "http://dl.acm.org/citation.cfm?id=J697", } @Article{Rytter:1980:CPA, author = "Wojciech Rytter", title = "A correct preprocessing algorithm for {Boyer--Moore} string-searching", journal = j-SIAM-J-COMPUT, volume = "9", number = "3", pages = "509--512", month = "????", year = "1980", CODEN = "SMJCAT", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68H05 (68C05)", MRnumber = "81g:68129", bibdate = "Mon Nov 29 10:59:17 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/9/3; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @Article{Salter:1980:CLC, author = "Richard M. Salter and Terence J. Brennan and Daniel P. Friedman", title = "{Concur}: a Language for Continuous, Concurrent Processes", journal = j-COMP-LANGS, volume = "5", number = "3-4", pages = "163--189", month = "????", year = "1980", CODEN = "COLADA", ISSN = "0096-0551 (print), 1873-6742 (electronic)", ISSN-L = "0096-0551", bibdate = "Tue Mar 25 14:04:06 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/complngs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classcodes = "C6140D (High level languages)", classification = "723", corpsource = "Drexel Univ., Philadelphia, PA, USA", fjournal = "Computer Languages", journal-URL = "http://www.sciencedirect.com/science/journal/00960551", journalabr = "Comput Lang", keywords = "computer programming languages; CONCUR; continuous, concurrent processes; data-driven mode; generalized pattern-matcher; Hendrix's robot; high level languages; industrial robots --- Computer Applications; LISP; modeling system; simulation method", treatment = "P Practical", } @Article{Zvegintzov:1980:PMR, author = "N. Zvegintzov", title = "Partial-Match Retrieval in an Index Sequential Directory", journal = j-COMP-J, volume = "23", number = "1", pages = "37--40", month = feb, year = "1980", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/23.1.37", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", MRclass = "68H05 (68C05)", MRnumber = "80m:68084", bibdate = "Tue Dec 4 14:48:07 MST 2012", bibsource = "Compendex database; http://comjnl.oxfordjournals.org/content/23/1.toc; http://www3.oup.co.uk/computer_journal/hdb/Volume_23/Issue_01/; https://www.math.utah.edu/pub/tex/bib/compj1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://comjnl.oxfordjournals.org/content/23/1/37.full.pdf+html; http://www3.oup.co.uk/computer_journal/hdb/Volume_23/Issue_01/tiff/37.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_23/Issue_01/tiff/38.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_23/Issue_01/tiff/39.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_23/Issue_01/tiff/40.tif", acknowledgement = ack-nhfb, classcodes = "C6120 (File organisation)", classification = "723; 901", fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", keywords = "file organisation; fixed length strings; index sequential directory; information retrieval systems; partial match retrieval; partially specified templates; table lookup", treatment = "P Practical", } @Article{Barth:1981:AIK, author = "Gerhard Barth", title = "An Alternative for the Implementation of the {Knuth--Morris--Pratt} Algorithm", journal = j-INFO-PROC-LETT, volume = "13", number = "4--5", pages = "134--137", day = "??", month = "End", year = "1981", CODEN = "IFPLAT", DOI = "https://doi.org/10.1016/0020-0190(81)90042-9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, annote = "This issue was labelled End 1981, instead of Day Month 1981.", classification = "C6120 (File organisation); C7250L (Non-bibliographic retrieval systems)", corpsource = "Computer Sci. Dept., Pennsylvania State Univ., University Park, PA, USA", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", keywords = "information retrieval; Knuth--Morris--Pratt algorithm; PASCAL; string matching", treatment = "P Practical", } @TechReport{Beebe:1981:IPM, author = "Nelson H. F. Beebe", title = "Ideas for Pattern Matching Software", institution = inst-CLSC, address = inst-CLSC:adr, pages = "3", day = "12", month = may, year = "1981", bibdate = "Thu Sep 07 06:04:40 2006", bibsource = "https://www.math.utah.edu/pub/bibnet/authors/b/beebe-nelson-h-f.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Galil:1981:LTS, author = "Z. Galil and J. Seireras", title = "Linear-time string-matching using only a fixed number of local storage locations", journal = j-THEOR-COMP-SCI, volume = "13", number = "3", pages = "331--336", month = mar, year = "1981", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:36:07 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1980.bib", acknowledgement = ack-nhfb, classification = "C4220 (Automata theory); C4240 (Programming and algorithm theory)", corpsource = "Dept. of Math. Sci., Tel-Aviv Univ., Tel-Aviv, Israel", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "automata-theoretic terms; dynamic storage allocation; finite automata; FORTRAN; linear-time string-matching algorithm; local storage locations; programming theory; random-access machine; restricted writing alphabet; writing multihead finite automaton", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Galil:1981:SMR, author = "Z. Galil", title = "String Matching in Real Time", journal = j-J-ACM, volume = "28", number = "1", pages = "134--149", month = jan, year = "1981", CODEN = "JACOAH", DOI = "https://doi.org/10.1145/322234.322244", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Tue Oct 25 22:10:20 1994", bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "A sufficient condition for an on-line algorithm to be transformed into a real-time algorithm is given. This condition is used to construct real-time algorithms for various string-matching problems by random access machines and by Turing machines.", acknowledgement = ack-nhfb, fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", } @InProceedings{Galil:1981:TSO, author = "Zvi Galil and Joel Seiferas", title = "Time-space-optimal string matching (Preliminary Report)", crossref = "ACM:1981:CPT", pages = "106--113", year = "1981", bibdate = "Wed Feb 20 18:33:45 MST 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @TechReport{Karp:1981:ERPa, author = "R. M. Karp and M. O. Rabin", title = "Efficient Randomized Pattern-Matching Algorithms", type = "Technical report", number = "TR-31-81", institution = "Harvard University", address = "Cambridge, MA, USA", pages = "??", month = "??", year = "1981", bibdate = "Sun May 02 07:50:09 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/cacm1970.bib; https://www.math.utah.edu/pub/tex/bib/cacm1980.bib; https://www.math.utah.edu/pub/tex/bib/cacm1990.bib; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "An incremental hash function is described for application to the string search problem. See \cite{Baeza-Yates:1992:NAT}.", acknowledgement = ack-nhfb, } @TechReport{Karp:1981:ERPb, author = "R. M. Karp and M. O. Rabin", title = "Efficient Randomized Pattern-Matching Algorithms", number = "TR-31-81", institution = "Harvard University", address = "Cambridge, MA, USA", year = "1981", bibdate = "Sun May 02 07:50:09 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "See \cite{Baeza-Yates:1992:NAT}.", acknowledgement = ack-nhfb, } @Article{Leiss:1981:CRR, author = "Ernst Leiss", title = "The complexity of restricted regular expressions and the synthesis problem for finite automata", journal = j-J-COMP-SYS-SCI, volume = "23", number = "3", pages = "348--354", month = dec, year = "1981", CODEN = "JCSSBM", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:25:46 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/0022000081900702", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Article{Liu:1981:SPM, author = "Ken Chih Liu", title = "On string pattern matching: a new model with a polynomial time algorithm", journal = j-SIAM-J-COMPUT, volume = "10", number = "1", pages = "118--140", month = "????", year = "1981", CODEN = "SMJCAT", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68C25 (68G10)", MRnumber = "83c:68050", bibdate = "Mon Nov 29 10:59:25 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/10/1; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @Article{Magel:1981:REP, author = "Kenneth Magel", title = "Regular expressions in a program complexity metric", journal = j-SIGPLAN, volume = "16", number = "7", pages = "61--65", month = jul, year = "1981", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Oct 28 16:17:00 MST 2003", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C4240 (Programming and algorithm theory)", corpsource = "Computer Sci. Dept., Univ. of Missouri, Rolla, MO, USA", fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "computational complexity; execution sequences; program complexity metric; program control flow complexity; regular expressions", treatment = "T Theoretical or Mathematical", } @Article{Reid:1981:ABB, author = "Brian K. Reid and David Hanson", title = "An annotated bibliography of background material on text manipulation", journal = j-SIGPLAN, volume = "16", number = "6", pages = "157--160", month = jun, year = "1981", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:14:34 MST 2003", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C0310 (EDP management); C6130 (Data handling techniques)", conflocation = "Portland, OR, USA; 8-10 June 1981", conftitle = "Proceedings of the ACM SIGPLAN SIGOA Symposium on Text Manipulation", corpsource = "Stanford Univ., Stanford, CA, USA", fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "document formatting; graphic communication; pattern matching; string communication; string matching; text editing; text manipulation; typography; writing style", treatment = "G General Review", } @Article{Rodeh:1981:LAD, author = "Michael Rodeh and Vaughan R. Pratt and Shimon Even", title = "Linear Algorithm for Data Compression via String Matching", journal = j-J-ACM, volume = "28", number = "1", pages = "16--24", month = jan, year = "1981", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Sat Jan 26 12:46:16 MST 2013", bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-ds # " and " # ack-nhfb, fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", rawdata = "Rodeh, Michael, Vaughan R. Pratt and Shimon Even (1981) ``Linear Algorithm for Data Compression via String Matching,'' Journal of the ACM, {\bf28}(1):16--24, January.", } @Article{Schilit:1981:SGB, author = "Bill N. Schilit", title = "A solution to the great big substitution problem: subject modification during pattern matching in {SNOBOL4}", journal = j-SIGPLAN, volume = "16", number = "8", pages = "41--49", month = aug, year = "1981", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Oct 28 16:17:00 MST 2003", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C6140D (High level languages)", corpsource = "Center for Computing Activities, Columbia Univ., New York, NY, USA", fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "data handling; high level languages; pattern matching; programming language; SNOBOL4; substitution problem; substrings", treatment = "P Practical", } @Article{Talcott:1981:BRC, author = "Carolyn Talcott", title = "Book Review: {{\booktitle{A Computational Logic}} (Robert S. Boyer and J. Strother Moore)}", journal = j-SIAM-REVIEW, volume = "23", number = "2", pages = "264--266", month = "????", year = "1981", CODEN = "SIREAD", DOI = "https://doi.org/10.1137/1023053", ISSN = "0036-1445 (print), 1095-7200 (electronic)", ISSN-L = "0036-1445", bibdate = "Sat Mar 29 09:53:18 MDT 2014", bibsource = "http://epubs.siam.org/toc/siread/23/2; https://www.math.utah.edu/pub/tex/bib/siamreview.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "SIAM Review", journal-URL = "http://epubs.siam.org/sirev", onlinedate = "April 1981", } @Article{Tarjan:1981:FAS, author = "Robert Endre Tarjan", title = "Fast Algorithms for Solving Path Problems", journal = j-J-ACM, volume = "28", number = "3", pages = "594--614", month = jul, year = "1981", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Wed Jan 15 18:12:53 MST 1997", bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/Compiler.Lins.bib; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Let {$ G = (V, E) $} be a directed graph with a distinguished source vertex $s$. The single-source path expression problem is to find, for each vertex $v$, a regular expression {$ P(s, v) $} which represents the set of all paths in {$G$} from $s$ to $v$. A solution to this problem can be used to solve shortest path problems, solve sparse systems of linear equations, and carry out global flow analysis. A method is described for computing path expressions by dividing {$G$} into components, computing path expressions on the components by Gaussian elimination, and combining the solutions. This method requires {$ O(m \alpha (m, n)) $} time on a reducible flow graph, where $n$ is the number of vertices in {$G$}, $m$ is the number of edges in {$G$}, and $ \alpha $ is a functional inverse of Ackermann's function. The method makes use of an algorithm for evaluating functions defined on paths in trees. A simplified version of the algorithm, which runs in {$ O(m \log n) $} time on reducible flow graphs, is quite easy to implement and efficient in practice.", acknowledgement = ack-nhfb, classification = "723; 921", fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", journalabr = "J Assoc Comput Mach", keywords = "computer programming; mathematical techniques --- Graph Theory", } @Article{Tarjan:1981:UAP, author = "Robert Endre Tarjan", title = "A Unified Approach to Path Problems", journal = j-J-ACM, volume = "28", number = "3", pages = "577--593", month = jul, year = "1981", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Wed Jan 15 18:12:53 MST 1997", bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Compiler/Compiler.Lins.bib; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "A general method is described for solving path problems on directed graphs. Such path problems include finding shortest paths, solving sparse systems of linear equations, and carrying out global flow analysis of computer programs. The method consists of two steps. First, a collection of regular expressions representing sets of paths in the graph is constructed. This can be done by using any standard algorithm, such as Gaussian or Gauss--Jordan elimination. Next, a natural mapping from regular expressions into the given problem domain is applied. The mappings required to find shortest paths are exhibited, sparse systems of linear equations are solved, and global flow analysis is carried out. The results provide a general-purpose algorithm for solving any path problem and show that the problem of constructing path expressions is in some sense the most general path problem.", acknowledgement = ack-nhfb, classification = "723; 921", fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", journalabr = "J Assoc Comput Mach", keywords = "computer programming; mathematical techniques", } @Article{Thomas:1981:RSH, author = "W. Thomas", title = "Remark on the star-height-problem", journal = j-THEOR-COMP-SCI, volume = "13", number = "2", pages = "231--237", month = feb, year = "1981", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:36:07 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1980.bib", acknowledgement = ack-nhfb, classification = "C4220 (Automata theory)", corpsource = "Math. Inst., Freiburg, West Germany", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "automata theory; general regular expressions; regular events; star height problem", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @TechReport{Trickey:1981:GLP, author = "Howard W. Trickey", title = "Good layouts for pattern recognizers", type = "Technical Report", number = "CS-TR-81-871", institution = inst-STAN-CS, address = inst-STAN-CS:adr, pages = "??--??", month = aug, year = "1981", bibdate = "Thu Nov 20 12:11:36 MST 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/stanford-cstr.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www-db.stanford.edu/TR/CS-TR-81-871.html", abstract = "A system to lay out custom circuits that recognize regular languages can be a useful VLSI design automation tool. This paper describes the algorithms used in an implementation of a regular expression compiler. Layouts that use a network of programmable logic arrays (PLA's) have smaller areas than those of some other methods, but there are the problems of partitioning the circuit and then placing the individual PLA's. Regular expressions have a structure which allows a novel solution to these problems: dynamic programming can be used to find layouts which are in some sense optimal. Various search pruning heuristics have been used to increase the speed of the compiler, and the experience with these is reported in the conclusions.", acknowledgement = ack-nhfb, } @Article{Allen:1982:FID, author = "F. W. Allen", title = "A file index for document storage and retrieval utilizing descriptor fragments", journal = j-COMP-J, volume = "25", number = "1", pages = "2--6", month = feb, year = "1982", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/25.1.2", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Tue Dec 4 14:48:12 MST 2012", bibsource = "Compendex database; http://comjnl.oxfordjournals.org/content/25/1.toc; http://www3.oup.co.uk/computer_journal/hdb/Volume_25/Issue_01/; https://www.math.utah.edu/pub/tex/bib/compj.bib; https://www.math.utah.edu/pub/tex/bib/compj1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://comjnl.oxfordjournals.org/content/25/1/2.full.pdf+html; http://www3.oup.co.uk/computer_journal/hdb/Volume_25/Issue_01/tiff/2.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_25/Issue_01/tiff/3.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_25/Issue_01/tiff/4.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_25/Issue_01/tiff/5.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_25/Issue_01/tiff/6.tif", acknowledgement = ack-nhfb, classcodes = "C7240 (Information analysis and indexing); C7250C (Bibliographic retrieval systems)", classification = "723; 901", corpsource = "Dept. of Management Information Systems, Univ. of Arizona, Tucson, AZ, USA", fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", keywords = "algorithm; author names; bit index; character substrings; descriptor; document retrieval; document storage; document texts; file index; file subset addresses; fragments; indexing; information retrieval; information science; information storage; keywords; mapping; partial match; probabilities; queries; search strategy; titles; word fragments", treatment = "P Practical", } @Article{Burkowski:1982:HHS, author = "Forbes J. Burkowski", title = "A hardware hashing scheme in the design of a multiterm string comparator", journal = j-IEEE-TRANS-COMPUT, volume = "C-31", number = "9", pages = "825--834", month = sep, year = "1982", CODEN = "ITCOB4", DOI = "https://doi.org/10.1109/TC.1982.1676098", ISSN = "0018-9340 (print), 1557-9956 (electronic)", ISSN-L = "0018-9340", bibdate = "Sun Jul 10 10:33:15 MDT 2011", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/ieeetranscomput1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "See correction \cite{Burkowski:1984:CHH}.", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1676098", abstract = "A discussion is provided of the off-the-shelf'' design of a term detection unit which may be used in the scanning of text emanating from a serial source such as disk or bubble memory. The main objective of this design is the implementation of a high performance unit which can detect any one of many terms (e. g., 1024 terms) while accepting source text at disk transfer rates. The unit incorporates off-the-shelf'' off-the-shelf'' currently available chips. The design involves a hardware-based hashing scheme that allows incoming text to be compared to selected terms in a RAM which contains all of the strings to be detected. The organization of data in the RAM of the term detector is dependent on a graph-theoretic algorithm which computes maximal matchings on bipartite graphs. The capability of the unit depends on various parameters in the design, and this dependence is demonstrated by means of various tables that report on the results of various simulation studies.", acknowledgement = ack-nhfb, classification = "722; 723; 901", fjournal = "IEEE Transactions on Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12", journalabr = "IEEE Trans Comput", keywords = "information retrieval systems", } @Article{Davies:1982:SST, author = "D. Julian M. Davies", title = "String Searching in Text Editors", journal = j-SPE, volume = "12", number = "8", pages = "709--717", month = aug, year = "1982", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.4380120803", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.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", keywords = "algorithms", onlinedate = "27 Oct 2006", review = "ACM CR 40357", subject = "F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Sorting and searching \\ I.7 Computing Methodologies, TEXT PROCESSING, Text Editing", } @Article{deVSmit:1982:CTS, author = "G. {de V. Smit}", title = "A Comparison of Three String Matching Algorithms", journal = j-SPE, volume = "12", number = "1", pages = "57--66", month = jan, year = "1982", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.4380120106", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.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 = "27 Oct 2006", subject = "F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching \\ F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Sorting and searching", xxauthor = "G. D. V. Smith", } @Article{Duff:1982:CBS, author = "Steven G. Duff", title = "The case for {BUFFERS} in {SNOBOL4}", journal = j-SIGPLAN, volume = "17", number = "11", pages = "24--30", month = nov, year = "1982", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/988152.988157", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 16:16:35 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Two articles have appeared recently in SIGPLAN Notices describing the 'Great Big Substitution Problem' of SNOBOL4 pattern matching [BLAT80, SCHI81]. Although the proposals in these papers are different, they both suggest the addition of new operators to the language to solve the problem. The purpose of this paper is to show that the Great Big Substitution Problem is embedded in a problem of a more pervasive nature, and to suggest a correspondingly more general solution.", acknowledgement = ack-nhfb, classification = "C6140D (High level languages)", corpsource = "Dept. of Computer Sci., California State Univ., Fullerton, CA, USA", fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "BUFFERS; high level languages; pattern matching; SNOBOL4; Substitution Problem", treatment = "P Practical", } @Article{Floyd:1982:CRE, author = "Robert W. Floyd and Jeffrey D. Ullman", title = "The Compilation of Regular Expressions into Integrated Circuits", journal = j-J-ACM, volume = "29", number = "3", pages = "603--622", month = jul, year = "1982", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Wed Jan 15 18:12:53 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The design of integrated circuits to implement arbitrary regular expressions is considered. In general, a regular expression with $n$ operands may be converted into a nondeterministic finite automaton with at most $n$ states and $n$ transitions. Instead of converting the nondeterministic device to a deterministic one, two ways of implementing the nondeterministic device directly are proposed. One approach is to produce a PLA (programmable logic array) of approximate dimensions $n$ rows and $ 2 n $ columns by representing the states of the nondeterministic finite automaton directly by columns. Another approach is to use the hierarchical structure of the automaton produced from the regular expression by the McNaughton--Yamada algorithm to guide a hierarchical layout of the circuit. The advantages of each approach are discussed.", acknowledgement = ack-nhfb, classification = "713; 723", fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", journalabr = "J Assoc Comput Mach", keywords = "automatic layout; integrated circuits", } @Article{Ganapathi:1982:RCC, author = "Mahadevan Ganapathi and Charles N. Fischer and John L. Hennessy", key = "Ganapathi et al.", title = "Retargetable Compiler Code Generation", journal = j-COMP-SURV, volume = "14", number = "4", pages = "573--592", month = dec, year = "1982", CODEN = "CMSVAN", DOI = "https://doi.org/10.1145/356893.356897", ISSN = "0010-4892", ISSN-L = "0360-0300", bibdate = "Thu Jun 19 09:31:39 MDT 2008", bibsource = "Compendex database; http://www.acm.org/pubs/contents/journals/surveys/; https://www.math.utah.edu/pub/tex/bib/compsurv.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/virtual-machines.bib", note = "See also \cite{Wulf:1983:SFR,Ganapathi:1983:SFRa,Fraser:1983:SFR,Ganapathi:1983:SFRb}.", abstract = "A classification of automated retargetable code generation techniques and a survey of the work on these techniques is presented. Retargetable code generation research is classified into three categories: interpretive code generation, pattern-matched code generation, and table-driven code generation. Interpretive code generation approaches generate code for a virtual machine and then expand into real target code. Pattern-matched code generation approaches separate the machine description from the code generation algorithm. Table-driven code generation approaches employ a formal machine description and use a code-generator generator to produce code generators automatically. An analysis of these techniques and a critique of automatic code generation algorithms are presented.", acknowledgement = ack-nhfb, classification = "723", fjournal = "ACM Computing Surveys", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J204", keywords = "Code-generator generator; compiler compiler; computer programming languages; intermediate representation; machine description; machine-dependent optimization", owner = "manning", } @Article{Graham:1982:ETD, author = "Susan L. Graham and Robert R. Henry and Robert A. Schulman", title = "An experiment in table driven code generation", journal = j-SIGPLAN, volume = "17", number = "6", pages = "32--43", month = jun, year = "1982", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:14:38 MST 2003", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", acknowledgement = ack-nhfb, classification = "C6150C (Compilers, interpreters and other processors)", conflocation = "Boston, MA, USA; 23-25 June 1982", conftitle = "Proceedings of the SIGPLAN '82 Symposium on Compiler Construction", corpsource = "Computer Sci. Div., Dept. of Electrical Engng. and Computer Sci., Univ. of California, Berkeley, CA, USA", fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "grammar; grammars; local code generator; machine description; OS; parser-like instruction pattern matcher; program compilers; table driven code generation; UNIX Portable 'C' compiler; VAX- 11", sponsororg = "ACM", treatment = "P Practical", } @TechReport{Guoan:1982:USM, author = "Gu Guoan and John Hobby", title = "Using String Matching to Compress {Chinese} Characters", type = "Report", number = "STAN-CS-82-914", institution = inst-STAN-CS, address = inst-STAN-CS:adr, year = "1982", bibdate = "Tue Mar 1 12:50:20 1994", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/texbook3.bib", acknowledgement = ack-hk, } @Article{Hoffmann:1982:PMT, author = "Christoph M. Hoffmann and Michael J. O'Donnell", title = "Pattern Matching in Trees", journal = j-J-ACM, volume = "29", number = "1", pages = "68--95", month = jan, year = "1982", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Wed Jan 15 18:12:53 MST 1997", bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Theory/algebraic.spec.1.bib; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Five new techniques for tree pattern matching are presented, analyzed for time and space complexity, and compared with previously known methods. Particularly important are applications where the same patterns are matched against many subjects and where a subject may be modified incrementally. Therefore, methods which spend some time preprocessing patterns in order to improve the actual matching time are included.", acknowledgement = ack-nhfb, classification = "723; 921", fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", journalabr = "J Assoc Comput Mach", keywords = "computer programming; functional; mathematical techniques --- Trees; pattern matching", } @Article{Karpinski:1982:DSM, author = "M. Karpinski", title = "Decidability of `{Skolem} matrix emptiness problem' entails constructability of exact regular expression", journal = j-THEOR-COMP-SCI, volume = "17", number = "1", pages = "99--102", month = jan, year = "1982", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:36:07 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1980.bib", acknowledgement = ack-nhfb, classification = "B0290B (Error analysis in numerical methods); C4220 (Automata theory)", corpsource = "Math. Sci. Dept., IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "algorithm; constructability; finite automata; finite state machine; Kleene regular expression; matrix algebra; matrix equivalence; Skolem matrix emptiness", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Lee:1982:EAF, author = "Edward T. Lee", title = "An efficient algorithm for finding {Kleene} closure of regular expression matrices", journal = j-INT-J-COMPUT-INF-SCI, volume = "11", number = "6", pages = "409--415", month = dec, year = "1982", CODEN = "IJCIAH", ISSN = "0091-7036", MRclass = "68F10", MRnumber = "84i:68140", bibdate = "Sat Apr 26 14:03:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "B6140C (Optical information, image and video signal processing); C1110 (Algebra); C1250 (Pattern recognition); C4220 (Automata theory)", corpsource = "Dept. of Math. Sci., Memphis State Univ., Memphis, TN, USA", fjournal = "International Journal of Computer and Information Sciences", journal-URL = "http://link.springer.com/journal/10766", keywords = "automata theory; efficient algorithm; fuzzy regular expression matrices; Kleene closure; matrix algebra; pattern recognition; pictorial information systems; regular expression matrices", treatment = "T Theoretical or Mathematical", } @Article{Morgan:1982:AEI, author = "Thomas M. Morgan and Lawrence A. Rowe", title = "Analyzing exotic instructions for a retargetable code generator", journal = j-SIGPLAN, volume = "17", number = "6", pages = "197--204", month = jun, year = "1982", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:14:38 MST 2003", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C6150C (Compilers, interpreters and other processors)", conflocation = "Boston, MA, USA; 23-25 June 1982", conftitle = "Proceedings of the SIGPLAN '82 Symposium on Compiler Construction", corpsource = "Dept. of Electrical Engng. and Computer Sci., Univ. of California, Berkeley, CA, USA", fjournal = "ACM SIGPLAN Notices", journal-URL = "https://dl.acm.org/loi/sigplan", keywords = "block move; compilers; exotic instructions; high-level language operators; instruction set analysis systems; program compilers; retargetable code generator; source-to-source transformations; string edit; string search", sponsororg = "ACM", treatment = "P Practical", } @Article{Sommerville:1982:PMS, author = "Ian Sommerville", title = "A Pattern Matching System", journal = j-SPE, volume = "12", number = "6", pages = "517--530", month = jun, year = "1982", CODEN = "SPEXBL", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", keywords = "design; theory", subject = "F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching \\ F.4.2 Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Grammars and Other Rewriting Systems, Grammar types", } @Article{Tharp:1982:PTS, author = "Alan L. Tharp and Kuo-Chung Tai", title = "The Practicality of Text Signatures for Accelerating String Searching", journal = j-SPE, volume = "12", number = "1", pages = "35--44", month = jan, year = "1982", CODEN = "SPEXBL", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Expands Harrison's work \cite{Harrison:1971:IST}.", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", keywords = "design; experimentation", review = "ACM CR 39738", subject = "D.1 Software, PROGRAMMING TECHNIQUES, Miscellaneous \\ E.2 Data, DATA STORAGE REPRESENTATIONS, Hash-table representations \\ F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching \\ I.7 Computing Methodologies, TEXT PROCESSING, Text Editing", } @TechReport{Ullman:1982:CSM, author = "Jeffrey D. Ullman", title = "Combining state machines and regular expressions for automatic synthesis of {VLSI} circuits", type = "Technical Report", number = "CS-TR-82-927", institution = inst-STAN-CS, address = inst-STAN-CS:adr, pages = "??--??", month = sep, year = "1982", bibdate = "Thu Nov 20 12:11:36 MST 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/stanford-cstr.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www-db.stanford.edu/TR/CS-TR-82-927.html", abstract = "We discuss a system for translating regular expressions into logic equations or PLA's, with particular attention to how we can obtain both the benefits of regular expressions and state machines as input languages. An extended example of the method is given, and the results of our approach is compared with hand design; in this example we use less than twice the area of a hand-designed, machine optimized PLA.", acknowledgement = ack-nhfb, } @Article{Wong:1982:DAS, author = "K. Y. Wong and R. G. Casey and F. M. Wahl", title = "{Document Analysis System}", journal = j-IBM-JRD, volume = "26", number = "6", pages = "647--656", month = nov, year = "1982", CODEN = "IBMJAE", ISSN = "0018-8646 (print), 2151-8556 (electronic)", ISSN-L = "0018-8646", bibdate = "Tue Mar 25 14:26:59 MST 1997", bibsource = "http://www.research.ibm.com/journal/; https://www.math.utah.edu/pub/tex/bib/ibmjrd.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classcodes = "C7240 (Information analysis and indexing)", fjournal = "IBM Journal of Research and Development", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5288520", keywords = "classification; clustering; computer; Document Analysis System; encoding; font sizes; front styles; information analysis; linear adaptive classification scheme; pattern-matching method; processing; run-length; segmentation; smoothing algorithm", treatment = "P Practical", } @Article{Barrero:1983:RLT, author = "A. Barrero and M. G. Thomason and R. C. Gonzalez", title = "Regular-like tree expressions", journal = j-INT-J-COMPUT-INF-SCI, volume = "12", number = "1", pages = "1--11", month = feb, year = "1983", CODEN = "IJCIAH", DOI = "https://doi.org/10.1007/BF00996800", ISSN = "0091-7036", ISSN-L = "0091-7036", bibdate = "Sat Apr 26 12:20:22 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C1160 (Combinatorial mathematics); C4210 (Formal logic)", corpsource = "Dept. of Electrical Engng., Univ. of Tennessee, Knoxville, TN, USA", fjournal = "International Journal of Computer and Information Sciences", journal-URL = "http://link.springer.com/journal/10766", keywords = "chemistry grammars; context-free languages; expansive tree grammar; expansive tree languages; one-to-one correspondence; regular-like tree; regularity-preserving transformations; trees (mathematics)", treatment = "P Practical", } @Article{Fraser:1983:SFR, author = "Christopher W. Fraser", title = "Surveyor's Forum: {Retargetable} Code Generators", journal = j-COMP-SURV, volume = "15", number = "3", pages = "281--283", month = sep, year = "1983", CODEN = "CMSVAN", DOI = "https://doi.org/10.1145/356914.356922", ISSN = "0360-0300 (print), 1557-7341 (electronic)", ISSN-L = "0360-0300", bibdate = "Thu Jun 19 09:32:37 MDT 2008", bibsource = "http://www.acm.org/pubs/contents/journals/surveys/; https://www.math.utah.edu/pub/tex/bib/compsurv.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "See \cite{Ganapathi:1982:RCC,Wulf:1983:SFR,Ganapathi:1983:SFRa,Ganapathi:1983:SFRb}.", acknowledgement = ack-nhfb, fjournal = "ACM Computing Surveys", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J204", } @Article{Galil:1983:TSO, author = "Zvi Galil and Joel Seiferas", title = "Time-space-optimal string matching", journal = j-J-COMP-SYS-SCI, volume = "26", number = "3", pages = "280--294", month = jun, year = "1983", CODEN = "JCSSBM", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:25:49 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/0022000083900028", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Article{Ganapathi:1983:SFRa, author = "M. Ganapathi and J. L. Hennessy and C. N. Fischer", title = "Surveyor's Forum: {Retargetable} Code Generators", journal = j-COMP-SURV, volume = "15", number = "3", pages = "280--281", month = sep, year = "1983", CODEN = "CMSVAN", DOI = "https://doi.org/10.1145/356914.356921", ISSN = "0360-0300 (print), 1557-7341 (electronic)", ISSN-L = "0360-0300", bibdate = "Thu Jun 19 09:32:37 MDT 2008", bibsource = "http://www.acm.org/pubs/contents/journals/surveys/; https://www.math.utah.edu/pub/tex/bib/compsurv.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "See \cite{Ganapathi:1982:RCC,Wulf:1983:SFR,Fraser:1983:SFR,Ganapathi:1983:SFRb}.", acknowledgement = ack-nhfb, fjournal = "ACM Computing Surveys", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J204", } @Article{Ganapathi:1983:SFRb, author = "M. Ganapathi and J. L. Hennessy and C. N. Fischer", title = "Surveyor's Forum: {Retargetable} Code Generators", journal = j-COMP-SURV, volume = "15", number = "3", pages = "283--284", month = sep, year = "1983", CODEN = "CMSVAN", DOI = "https://doi.org/10.1145/356914.356923", ISSN = "0360-0300 (print), 1557-7341 (electronic)", ISSN-L = "0360-0300", bibdate = "Thu Jun 19 09:32:37 MDT 2008", bibsource = "http://www.acm.org/pubs/contents/journals/surveys/; https://www.math.utah.edu/pub/tex/bib/compsurv.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "See \cite{Ganapathi:1982:RCC,Wulf:1983:SFR,Ganapathi:1983:SFRa,Fraser:1983:SFR}.", acknowledgement = ack-nhfb, fjournal = "ACM Computing Surveys", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J204", } @InProceedings{Gonnet:1983:UDB, author = "Gaston H. Gonnet", title = "Unstructured Data Bases or Very Efficient Text Searching", crossref = "ACM:1983:PSA", pages = "117--124", year = "1983", bibdate = "Sat Jan 25 17:38:12 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/spell.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "ACM (order n 475830). Baltimore, MD, USA.", abstract = "Several algorithms are presented for searching data bases that consist of text. The algorithms apply mostly to very large data bases that are difficult to structure. Algorithms are described which search the original data base without transformation and hence could be used as general text searching algorithms. Also described are algorithms requiring pre-processing, the best of them achieving a logarithmic behaviour. These efficient algorithms solve the `plagiarism' problem among n papers. The problem of misspellings, ambiguous spellings, simple errors, endings, positional information, etc. is treated using signature functions.", acknowledgement = ack-nhfb, affiliationaddress = "Univ of Waterloo, Dep of Computer Science, Waterloo, Ont, Can", classification = "722; 723; 901", conference = "Proceedings of the Second ACM SIGACT-SIGMOD Symposium on Principles of Database Systems.", keywords = "computer programming --- Algorithms; computer systems, digital --- On Line Operation; data processing --- Data Handling; database systems; Design; full text search; hashing; information retrieval systems --- Online Searching; pattern matching; string searching; text searching algorithms; unstructured data bases", meetingaddress = "Atlanta, GA, USA", sponsor = "ACM, Special Interest Group for Automata \& Computability Theory, New York, NY, USA; ACM, Special Interest Group for the Management of Data, New York, NY, USA", } @Article{Griswold:1983:ISP, author = "Ralph E. Griswold", title = "Implementing {Snobol4} Pattern Matching in {Icon}", journal = j-COMP-LANGS, volume = "8", number = "2", pages = "77--92", month = "????", year = "1983", CODEN = "COLADA", ISSN = "0096-0551 (print), 1873-6742 (electronic)", ISSN-L = "0096-0551", bibdate = "Tue Mar 25 14:04:06 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/complngs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classcodes = "C6130 (Data handling techniques)", classification = "723", corpsource = "Dept. of Computer Sci., Univ. of Arizona, Tucson, AZ, USA", fjournal = "Computer Languages", journal-URL = "http://www.sciencedirect.com/science/journal/00960551", journalabr = "Comput Lang", keywords = "computer software; cursor model; data handling; Icon; pattern matching; pattern recognition; SNOBOL4 pattern matching; string; substring model", treatment = "P Practical", } @Article{Haskin:1983:OCH, author = "Roger L. Haskin and Lee A. Hollaar", title = "Operational Characteristics of a Hardware-Based Pattern Matcher", journal = j-TODS, volume = "8", number = "1", pages = "15--40", month = mar, year = "1983", CODEN = "ATDSD3", ISSN = "0362-5915 (print), 1557-4644 (electronic)", ISSN-L = "0362-5915", bibdate = "Sat Apr 14 10:34:48 MDT 2001", bibsource = "Compendex database; Database/Graefe.bib; http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tods.bib", URL = "http://www.acm.org/pubs/articles/journals/tods/1983-8-1/p15-haskin/p15-haskin.pdf; http://www.acm.org/pubs/citations/journals/tods/1983-8-1/p15-haskin/", abstract = "The design and operation of a new class of hardware-based pattern matchers, such as would be used in a backended database processor in a full-text or other retrieval system, is presented. This recognizer is based on a unique implementation technique for finite state automata consisting of partitioning the state table among a number of simple digital machines. It avoids the problems generally associated with implementing finite state machines, such as large state table memories, complex control mechanisms, and state encodings. Because it consists primarily of memory, with its high regularity and density, needs only limited static interconnections, and operates at a relatively low speed, it can be easily constructed using integrated circuit techniques.\par After a brief discussion of other pattern-matching hardware, the structure and operation of the partitioned finite state automaton is given, along with a simplified discussion of how the state tables are partitioned. The expected performance of the resulting system and the state table partitioning programs is then discussed.", acknowledgement = ack-nhfb, classification = "723; 901", fjournal = "ACM Transactions on Database Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J777", keywords = "backend processors; computer system architecture; database systems; finite state automata; full text retrieval systems; information science; text searching", subject = "Hardware --- Logic Design --- Design Styles (B.6.1): {\bf Cellular arrays and automata}; Hardware --- Integrated Circuits --- Types and Design Styles (B.7.1): {\bf Algorithms implemented in hardware}; Information Systems --- Database Management --- Database Machines (H.2.6); Information Systems --- Information Storage and Retrieval --- Information Search and Retrieval (H.3.3): {\bf Search process}", } @Article{Ito:1983:HFO, author = "Tetsuro Ito and Makoto Kizawa", title = "Hierarchical File Organization and its Application to Similar-String Matching", journal = j-TODS, volume = "8", number = "3", pages = "410--433", month = sep, year = "1983", CODEN = "ATDSD3", ISSN = "0362-5915 (print), 1557-4644 (electronic)", ISSN-L = "0362-5915", bibdate = "Sat Apr 14 10:34:48 MDT 2001", bibsource = "Compendex database; Database/Graefe.bib; Database/Wiederhold.bib; http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/spell.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tods.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", URL = "http://www.acm.org/pubs/articles/journals/tods/1983-8-3/p410-ito/p410-ito.pdf; http://www.acm.org/pubs/citations/journals/tods/1983-8-3/p410-ito/", abstract = "The automatic correction of misspelled inputs is discussed from a viewpoint of similar-string matching. First a hierarchical file organization based on a linear ordering of records is presented for retrieving records highly similar to any input query. Then the spelling problem is attacked by constructing a hierarchical file for a set of strings in a dictionary of English words. The spelling correction steps proceed as follows: (1) find one of the best-match strings which are most similar to a query, (2) expand the search area for obtaining the good-match strings, and (3) interrupt the file search as soon as the required string is displayed. Computational experiments verify the performance of the proposed methods for similar-string matching under the UNIX time-sharing system.", acknowledgement = ack-nhfb, annote = "A spelling checker to provide possible correct spellings for all possible words. Results are quite sketchy", classification = "723", fjournal = "ACM Transactions on Database Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J777", keywords = "best match; data processing, algorithms; experimentation; file organization; good match; hierarchical clustering; linear ordering; measurement; office automation; performance; similar-string; similarity; spelling correction; text editor; theory; verification", review = "ACM CR 8408-0665", subject = "I.2 Computing Methodologies, ARTIFICIAL INTELLIGENCE, Natural Language Processing \\ I.5.4 Computing Methodologies, PATTERN RECOGNITION, Applications, Text processing \\ E.5 Data, FILES, Organization/structure \\ H.3.2 Information Systems, INFORMATION STORAGE AND RETRIEVAL, Information Storage, File organization \\ H.3.3 Information Systems, INFORMATION STORAGE AND RETRIEVAL, Information Search and Retrieval, Search process \\ H.3.3 Information Systems, INFORMATION STORAGE AND RETRIEVAL, Information Search and Retrieval, Selection process \\ H.4 Information Systems, INFORMATION SYSTEMS APPLICATIONS, Office Automation", } @Article{Johnsen:1983:CTL, author = "O. Johnsen and J. Segen and G. L. Cash", title = "Coding of Two-Level Pictures by Pattern Matching and Substitution", journal = j-BELL-SYST-TECH-J, volume = "62", number = "8", pages = "2513--2545", month = oct, year = "1983", CODEN = "BSTJAN", ISSN = "0005-8580", bibdate = "Tue Nov 9 11:15:56 MST 2010", bibsource = "http://bstj.bell-labs.com/oldfiles/year.1983/BSTJ.1983.6208.html; http://www.alcatel-lucent.com/bstj/vol62-1983/bstj-vol62-issue08.html; https://www.math.utah.edu/pub/tex/bib/bstj1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://bstj.bell-labs.com/BSTJ/images/Vol62/bstj62-8-2513.pdf; http://www.alcatel-lucent.com/bstj/vol62-1983/articles/bstj62-8-2513.pdf", acknowledgement = ack-nhfb, fjournal = "The Bell System Technical Journal", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1538-7305/issues/", } @TechReport{Karlin:1983:ERE, author = "Anna R. Karlin and Howard W. Trickey and Jeffrey D. Ullman", title = "Experience with a regular expression compiler", type = "Technical Report", number = "CS-TR-83-972", institution = inst-STAN-CS, address = inst-STAN-CS:adr, pages = "??--??", month = jun, year = "1983", bibdate = "Thu Nov 20 12:11:36 MST 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/stanford-cstr.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www-db.stanford.edu/TR/CS-TR-83-972.html", abstract = "The language of regular expressions is a useful one for specifying certain sequential processes at a very high level. They allow easy modification of designs for circuits, like controllers, that are described by patterns of events they must recognize and the responses they must make to those patterns. This paper discusses the compilation of such expressions into reasonably compact layouts. The translation of regular expressions into nondeterministic automata by two different methods is discussed, along with the advantages of each method. A major part of the compilation problem is selection of good state codes for the nondeterministic automata; one successful strategy is explained in the paper.", acknowledgement = ack-nhfb, } @Article{Kashyap:1983:NSM, author = "R. L. Kashyap and B. J. Oommen", title = "The Noisy Substring Matching Problem", journal = j-IEEE-TRANS-SOFTW-ENG, volume = "SE-9", number = "3", pages = "365--370", month = may # "\slash " # jun, year = "1983", CODEN = "IESEDJ", DOI = "https://doi.org/10.1109/TSE.1983.237018", ISSN = "0098-5589 (print), 1939-3520 (electronic)", ISSN-L = "0098-5589", bibdate = "Thu Feb 1 08:07:37 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1703065", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Software Engineering", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32", } @Article{Kornman:1983:PMP, author = "Brent D. Kornman", title = "Pattern Matching and Pattern-Directed Invocation in Systems Programming Languages", journal = j-J-SYST-SOFTW, volume = "3", number = "1", pages = "95--102", month = mar, year = "1983", CODEN = "JSSODM", ISSN = "0164-1212 (print), 1873-1228 (electronic)", ISSN-L = "0164-1212", bibdate = "Wed Dec 16 15:40:53 MST 1998", bibsource = "Compendex database; http://www.sciencedirect.com/science/journal/01641212; https://www.math.utah.edu/pub/tex/bib/jsystsoftw.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliationaddress = "PAR Technology Corp, New Hartford, NY, USA", classification = "723; 912", fjournal = "The Journal of systems and software", journal-URL = "http://www.sciencedirect.com/science/journal/01641212", journalabr = "J Syst Software", keywords = "computer programming languages; pattern matching; pattern recognition; pattern-directed invocation; systems science and cybernetics --- Artificial Intelligence", } @Article{Moran:1983:CDO, author = "Shlomo Moran", title = "On the Complexity of Designing Optimal Partial-Match Retrieval Systems", journal = j-TODS, volume = "8", number = "4", pages = "543--551", month = dec, year = "1983", CODEN = "ATDSD3", ISSN = "0362-5915 (print), 1557-4644 (electronic)", ISSN-L = "0362-5915", MRclass = "68P20 (68P10)", MRnumber = "86j:68024", bibdate = "Sat Apr 14 10:34:48 MDT 2001", bibsource = "Compendex database; Database/Graefe.bib; Database/Wiederhold.bib; Graphics/siggraph/83.bib; http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tods.bib", URL = "http://www.acm.org/pubs/articles/journals/tods/1983-8-4/p543-moran/p543-moran.pdf; http://www.acm.org/pubs/citations/journals/tods/1983-8-4/p543-moran/", abstract = "We consider the problem of designing an information retrieval system on which partial match queries have to be answered. Each record in the system consists of a list of {\em attributes}, and a partial match query specifies the values of some of the attributes. The records are stored in {\em buckets\/} in a secondary memory, and in order to answer a partial match query all the buckets that may contain a record satisfying the specifications of that query must be retrieved. The bucket in which a given record is stored is found by a multiple key hashing function, which maps each attribute to a string of a fixed number of bits. The address of that bucket is then represented by the string obtained by concatenating the strings on which the various attributes were mapped. A partial match query may specify only part of the bits in the string representing the address, and the larger the number of bits specified, the smaller the number of buckets that have to be retrieved in order to answer the query. \par The optimization problem considered in this paper is that of deciding to how many bits each attribute should be mapped by the bashing function above, so that the expected number of buckets retrieved per query is minimized. Efficient solutions for special cases of this problem have been obtained in [1], [12], and [14]. It is shown that in general the problem is NP-hard, and that if {$P$} NP, it is also not fully approximable. Two heuristic algorithms for the problem are also given and compared.", acknowledgement = ack-nhfb, annote = "Optimal variable bit lengths of hashstrings, it is NP-hard.", classification = "723; 901; 922", fjournal = "ACM Transactions on Database Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J777", keywords = "approximation algorithms; computer programming --- algorithms; file organization; hashing; information science; NP-hard problems; optimization, TODS hashing, searching; partial match retrieval; searching", oldlabel = "geom-947", review = "ACM CR 8411-0954", subject = "Theory of Computation --- Analysis of Algorithms and Problem Complexity --- Nonnumerical Algorithms and Problems (F.2.2); Information Systems --- Information Storage and Retrieval --- Information Search and Retrieval (H.3.3)", } @Book{Sedgewick:1983:A, author = "Robert Sedgewick", title = "Algorithms", publisher = pub-AW, address = pub-AW:adr, pages = "viii + 551", year = "1983", ISBN = "0-201-06672-6", ISBN-13 = "978-0-201-06672-2", LCCN = "QA76.6 .S435 1983", bibdate = "Wed Dec 15 18:23:21 1993", bibsource = "https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, tableofcontents = "Introduction \\ 1. Preview \\ Mathematical Algorithms \\ 2. Arithmetic \\ 3. Random numbers \\ 4. Polynomials \\ 5. Gaussian Elimination \\ 6. Curve fitting \\ 7. Integration \\ Sorting \\ 8. Elementary sorting methods \\ 9. Quicksort \\ 10. Radix sorting \\ 11. Priority Queues \\ 12. Selection and merging \\ 13. External sorting \\ Searching \\ 14. Elementary searching methods \\ 15. Balanced trees \\ 16. Hashing \\ 17. Radix searching \\ 18. External searching \\ String Processing \\ 19. String searching \\ 20. Pattern matching \\ 21. Parsing \\ 22. File compression \\ 23. Cryptology \\ Geometric Algorithms \\ 24. Elementary geometric methods \\ 25. Finding the convex hull \\ 26. Range searching \\ 27. Geometric intersection \\ 28. Closest point problems \\ Graph Algorithms \\ 29. Elementary graph algorithms \\ 30. Connectivity \\ 31. Weighted graphs \\ 32. Directed graphs \\ 33. Network flow \\ 34. Matching \\ Advanced Topics \\ 35. Algorithm machines \\ 36. The Fast Fourier Transform \\ 37. Dynamic programming \\ 38. Linear programming \\ 39. Exhaustive search \\ 40. NP-complete problems", } @Article{Simon:1983:PMT, author = "Hans-Ulrich U. Simon", title = "Pattern Matching in Trees and Nets", journal = j-ACTA-INFO, volume = "20", number = "3", institution = "U Saarlandes", pages = "227--248", month = dec, year = "1983", CODEN = "AINFA2", ISSN = "0001-5903 (print), 1432-0525 (electronic)", ISSN-L = "0001-5903", MRclass = "68Q45", MRnumber = "85a:68096", bibdate = "Sat Oct 9 09:56:22 MDT 1999", bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Graphics/rosenfeld/1984.bib; ftp://ftp.ira.uka.de/pub/bibliography/Misc/HBP/ACTAI.bib; https://www.math.utah.edu/pub/tex/bib/actainfo.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", acknowledgement = ack-nhfb, fjournal = "Acta Informatica", journal-URL = "http://www.springerlink.com/content/0001-5903", keywords = "image multiplicity comparison", } @Article{Slissenko:1983:DPS, author = "A. Slissenko", title = "Detection of Periodicities and String-Matching in Real Time", journal = j-J-SOV-MATH, volume = "22", number = "3", pages = "1316--1386", year = "1983", CODEN = "JSOMAR", ISSN = "0090-4104 (print), 2376-5798 (electronic)", ISSN-L = "0090-4104", bibdate = "Fri Sep 22 14:23:22 2023", bibsource = "https://www.math.utah.edu/pub/bibnet/authors/s/slissenko-anatol.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Russian original in: {\em Zapiski Nauchnykh Seminarov LOMI}, 105:62--173, 1981.", acknowledgement = ack-nhfb, fjournal = "Journal of Soviet Mathematics", journal-URL = "http://link.springer.com/journal/10958", } @Article{Toda:1983:TDP, author = "M. Toda and K. Inoue and I. Takanami", title = "Two-dimensional pattern matching by two-dimensional on-line tessellation acceptors", journal = j-THEOR-COMP-SCI, volume = "24", number = "2", pages = "179--194", month = jul, year = "1983", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:36:07 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1980.bib", acknowledgement = ack-nhfb, classification = "C4220 (Automata theory)", corpsource = "Dept. of Electronics, Yamaguchi Univ., Ube, Japan", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "array matching problem; finite automata; finite state pattern matching machines; finite state string matching machines; online detection; string matching algorithms; string matching problem; two-dimensional online tessellation acceptor; two-dimensional pattern matching", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Weiser:1983:RSB, author = "Mark Weiser", title = "Reconstructing Sequential Behavior from Parallel Behavior Projections", journal = j-INFO-PROC-LETT, volume = "17", number = "3", pages = "129--135", day = "5", month = oct, year = "1983", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "722; 723; C4240 (Programming and algorithm theory)", corpsource = "Computer Sci. Dept., Univ. of Maryland, College Park, MD, USA", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "computer programming; computer systems, digital --- Parallel Processing; data flow; data flow slices; formal languages; parallel processing; parallelism; regular expressions; slicing; vectorization", treatment = "T Theoretical or Mathematical", } @Article{Weste:1983:DTW, author = "N. Weste and D. J. Burr and B. D. Ackland", title = "Dynamic Time {Warp} Pattern Matching Using an Integrated Multiprocessing Array", journal = j-IEEE-TRANS-COMPUT, volume = "C-32", number = "8", pages = "731--744", month = aug, year = "1983", CODEN = "ITCOB4", DOI = "https://doi.org/10.1109/TC.1983.1676311", ISSN = "0018-9340 (print), 1557-9956 (electronic)", ISSN-L = "0018-9340", bibdate = "Sun Jul 10 10:01:11 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1676311", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12", } @Article{Wulf:1983:SFR, author = "William A. Wulf and Joe Newcomer and Bruce Leverett and Rick Cattell and Paul Knueven", title = "Surveyor's Forum: {Retargetable} Code Generators", journal = j-COMP-SURV, volume = "15", number = "3", pages = "279--280", month = sep, year = "1983", CODEN = "CMSVAN", DOI = "https://doi.org/10.1145/356914.356920", ISSN = "0360-0300 (print), 1557-7341 (electronic)", ISSN-L = "0360-0300", bibdate = "Thu Jun 19 09:32:37 MDT 2008", bibsource = "http://www.acm.org/pubs/contents/journals/surveys/; https://www.math.utah.edu/pub/tex/bib/compsurv.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "See \cite{Ganapathi:1982:RCC,Ganapathi:1983:SFRa,Fraser:1983:SFR,Ganapathi:1983:SFRb}.", acknowledgement = ack-nhfb, fjournal = "ACM Computing Surveys", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J204", } @Article{Aoe:1984:MIS, author = "J. Aoe and Y. Yamamoto and R. Shimada", title = "A Method for Improving String Pattern Matching Machines", journal = j-IEEE-TRANS-SOFTW-ENG, volume = "SE-10", number = "1", pages = "116--120", month = jan # "\slash " # feb, year = "1984", CODEN = "IESEDJ", DOI = "https://doi.org/10.1109/TSE.1984.5010205", ISSN = "0098-5589 (print), 1939-3520 (electronic)", ISSN-L = "0098-5589", bibdate = "Thu Feb 1 08:07:37 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=5010205", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Software Engineering", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32", } @Article{Apostolico:1984:PMM, author = "A. Apostolico and R. Giancarlo", title = "Pattern matching machine implementation of a fast test for unique decipherability", journal = j-INFO-PROC-LETT, volume = "18", number = "3", pages = "155--158", day = "30", month = mar, year = "1984", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/cryptography.bib; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "B6140C (Optical information, image and video signal processing); C1160 (Combinatorial mathematics); C1250 (Pattern recognition); C1260 (Information theory)", corpsource = "ISI, Univ. of Salerno, Salerno, Italy", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", keywords = "codes; fast implementation; graph theory; pattern matching machine; pattern recognition; Sardinas- Patterson-Even test; unique decipherability", treatment = "N New Development; T Theoretical or Mathematical", } @Article{Barth:1984:ACT, author = "Gerhard Barth", title = "An analytical comparison of two string searching algorithms", journal = j-INFO-PROC-LETT, volume = "18", number = "5", pages = "249--256", day = "18", month = jun, year = "1984", CODEN = "IFPLAT", DOI = "https://doi.org/10.1016/0020-0190(84)90003-6", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68Q25", MRnumber = "85m:68012", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "723; C4240 (Programming and algorithm theory)", corpsource = "Fachbereich Informatik, Univ. Kaiserslautern, Kaiserslautern, West Germany", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "algorithm theory; average case analysis; average case complexities; combinatorial algorithms; comparisons; complexity; computer programming; heuristics; KMP algorithm; Knuth--Morris--Pratt algorithm; Markov chain theory; pattern matching algorithms; string searching algorithms; trial-and-error", treatment = "T Theoretical or Mathematical", } @Article{Barton:1984:SSF, author = "Paul C. Barton", title = "String search function in {C} [letter]", journal = j-DDJ, volume = "9", number = "8", pages = "8--??", month = aug, year = "1984", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Mon Sep 2 09:09:39 MDT 1996", bibsource = "http://www.ddj.com/index/author/index.htm; https://www.math.utah.edu/pub/tex/bib/dr-dobbs-1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Burkowski:1984:CHH, author = "F. J. Burkowski", title = "Correction to {``A Hardware Hashing Scheme in the Design of a Multiterm String Comparator''}", journal = j-IEEE-TRANS-COMPUT, volume = "C-33", number = "4", pages = "375--375", month = apr, year = "1984", CODEN = "ITCOB4", DOI = "https://doi.org/10.1109/TC.1984.1676447", ISSN = "0018-9340 (print), 1557-9956 (electronic)", ISSN-L = "0018-9340", bibdate = "Sun Jul 10 09:22:51 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "See \cite{Burkowski:1982:HHS}.", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1676447", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12", } @Article{Cleary:1984:DCU, author = "John G. Cleary and I. H. Witten", title = "Data Compression Using Adaptive Coding and Partial String Matching", journal = j-IEEE-TRANS-COMM, volume = "COM-32", number = "4", pages = "396--402", month = apr, year = "1984", CODEN = "IECMBT", ISSN = "0090-6778 (print), 1558-0857 (electronic)", ISSN-L = "0090-6778", bibdate = "Sat Jan 26 12:46:16 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-ds, fjournal = "IEEE Transactions on Communications", rawdata-1 = "Cleary, John G., and I. H. Witten (1984) ``Data Compression Using Adaptive Coding and Partial String Matching,'' {\it IEEE Transactions on Communications}, {\bf COM-32}(4):396--402, April.", rawdata-2 = "Cleary, J. G., and I. H. Witten (1984) ``Data Compression Using Adaptive Coding and Partial String Matching,'' {\it IEEE Transactions on Communications} COM-32(4):396--402, April.", } @InProceedings{Galil:1984:OPA, author = "Zvi Galil", title = "Optimal parallel algorithms for string matching", crossref = "ACM:1984:PSA", pages = "240--248", year = "1984", bibdate = "Thu Feb 21 06:51:34 MST 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Holub:1984:GCU, author = "Allen I. Holub", title = "{Grep C} --- a {Unix}-Like, Generalized, Regular Expression Parser in {C}", journal = j-DDJ, volume = "9", number = "10", pages = "50--??", month = oct, year = "1984", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Thu Jan 9 09:35:43 MST 1997", bibsource = "Compendex database; http://www.ddj.com/index/author/index.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "723", fjournal = "Dr. Dobb's Journal of Software Tools", journalabr = "Dr Dobb's J", keywords = "C language; computer programming languages; computer programs; parser; pattern recognition; regular expressions; text pattern finder; UNIX", pagecount = "29p between p 50 and 83", } @Article{Hurson:1984:VDP, author = "A. R. Hurson", title = "A {VLSI} design for the parallel finite state automaton and its performance evaluation as a hardware scanner", journal = j-INT-J-COMPUT-INF-SCI, volume = "13", number = "6", pages = "491--508", month = dec, year = "1984", CODEN = "IJCIAH", ISSN = "0091-7036", MRclass = "68Q35", MRnumber = "792 724", bibdate = "Sat Apr 26 14:03:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C4220 (Automata theory); C5220 (Computer architecture)", corpsource = "Sch. of Electr. Eng. and Comptu. Sci., Oklahoma Univ., Norman, OK, USA", fjournal = "International Journal of Computer and Information Sciences", journal-URL = "http://link.springer.com/journal/10766", keywords = "computer architecture; computerised pattern recognition; finite automata; hardware architecture; hardware scanner; parallel finite state automaton; pattern matching; performance evaluation; text retrieval; VLSI; VLSI design", treatment = "T Theoretical or Mathematical", } @InProceedings{Kowalski:1984:NMT, author = "G. Kowalski and A. Meltzer", editor = "{IEEE}", booktitle = "First International Conference on Computer Applications ({June 20--22, 1984})", title = "New multi-term high speed text search algorithms", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "514--522", year = "1984", bibdate = "Sat Sep 02 14:37:42 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, remark = "Not found in IEEE Xplore database.", } @PhdThesis{Liang:1984:WHP, author = "Franklin Mark Liang", title = "Word Hy-phen-a-tion by Com-pu-ter", type = "{Ph.D.} dissertation", school = "Computer Science Department, Stanford University", address = "Stanford, CA, USA", pages = "92", month = mar, year = "1984", bibdate = "Fri Jul 08 14:48:58 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/texbook3.bib", URL = "http://www.tug.org/docs/liang/; http://wwwlib.umi.com/dissertations/fullcit/8329742", abstract = "This thesis describes research leading to an improved word hyphenation algorithm for the T(,E)X82 typesetting system. Hyphenation is viewed primarily as a data compression problem, where we are given a dictionary of words with allowable division points, and try to devise methods that take advantage of the large amount of redundancy present. The new hyphenation algorithm is based on the idea of hyphenating and inhibiting patterns. These are simply strings of letters that, when they match in a word, give us information about hyphenation at some point in the pattern. For example, `-tion' and `c-c' are good hyphenating patterns. An important feature of this method is that a suitable set of patterns can be extracted automatically from the dictionary. In order to represent the set of patterns in a compact form that is also reasonably efficient for searching, the author has developed a new data structure called a packed trie. This data structure allows the very fast search times characteristic of indexed tries, but in many cases it entirely eliminates the wasted space for null links usually present in such tries. We demonstrate the versatility and practical advantages of this data structure by using a variant of it as the critical component of the program that generates the patterns from the dictionary. The resulting hyphenation algorithm uses about 4500 patterns that compile into a packed trie occupying 25K bytes of storage. These patterns find 89\% of the hyphens in a pocket dictionary word list, with essentially no error. By comparison, the uncompressed dictionary occupies over 500K bytes.", acknowledgement = ack-nhfb, } @Article{Moller-Nielsen:1984:EFS, author = "Peter Moller-Nielsen and Jorgen Staunstrup", title = "Experiments with a Fast String Searching Algorithm", journal = j-INFO-PROC-LETT, volume = "18", number = "3", pages = "129--135", day = "30", month = mar, year = "1984", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "723; C4240 (Programming and algorithm theory)", corpsource = "Computer Sci. Dept., Aarhus Univ., Aarhus, Denmark", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190/", journalabr = "Inf Process Lett", keywords = "algorithm theory; computer programming; fast string searching algorithm; MultiMaren multiprocessor; multiprocessing systems; multiprocessor; string searching", treatment = "T Theoretical or Mathematical", } @Article{Sellers:1984:PRG, author = "Peter H. Sellers", title = "Pattern recognition in genetic sequences by mismatch density", journal = j-BULL-MATH-BIOL, volume = "46", number = "4", pages = "501--514", month = jul, year = "1984", CODEN = "BMTBAP", DOI = "https://doi.org/10.1007/BF02459499", ISSN = "0092-8240 (print), 1522-9602 (electronic)", ISSN-L = "0092-8240", bibdate = "Wed Jun 28 16:16:02 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/bullmathbiol.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/BF02459499", acknowledgement = ack-nhfb, fjournal = "Bulletin of Mathematical Biology", journal-URL = "http://link.springer.com/journal/11538", } @Article{Weiner:1984:LRK, author = "J. L. Weiner", title = "The Logical Record Keeper: {PROLOG} On The {IBM}", journal = j-BYTE, volume = "9", number = "9", pages = "125--31", month = sep, year = "1984", CODEN = "BYTEDJ", ISSN = "0360-5280 (print), 1082-7838 (electronic)", ISSN-L = "0360-5280", bibdate = "Fri Sep 22 14:23:22 2023", bibsource = "/usr/local/src/bib/bibliography/Ai/log.prog.85.bib; https://www.math.utah.edu/pub/tex/bib/byte1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "QA76.5B98", abstract = "This very high-level language makes it easy to program knowledge-intensive tasks. Owners of a personal computer need a language such as PROLOG that allows them to solve common but interesting problems without having to devote an inordinate amount of time to programming. One might think that a language like LISP, which is widely used in the artificial intelligence community, might be as effective as PROLOG for common real-world problems, but that's not the case. LISP is a much lower-level language. The main advantage that PROLOG has over LISP is the fact that patterns and pattern matching are so fundamental to PROLOG. The problem of representing knowledge in LISP is casting that knowledge into lists that LISP can process.", acknowledgement = ack-nhfb, fjournal = "BYTE Magazine", keywords = "high level languages", } @Article{You:1984:PES, author = "Zhisheng You and Anil K. Jain", title = "Performance Evaluation of Shape Matching Via Chord Length Distribution", journal = j-CVGIP, volume = "28", number = "2", pages = "185--198", month = nov, year = "1984", CODEN = "CVGPDB", ISSN = "0734-189x (print), 1557-895x (electronic)", ISSN-L = "0734-189X", bibdate = "Thu Feb 6 18:44:11 MST 1997", bibsource = "Compendex database; Graphics/rosenfeld/1984.bib; https://www.math.utah.edu/pub/tex/bib/cvgip.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Sichuan U/Mich St U", classification = "723", fjournal = "Computer Vision, Graphics, and Image Processing", journal-URL = "http://www.sciencedirect.com/science/journal/0734189X", journalabr = "Comput Vision Graphics Image Process", keywords = "chord length distribution; image part form; image processing; pattern recognition; shape matching", } @Article{Abdali:1985:TCR, author = "S. K. Abdali and B. D. Saunders", title = "Transitive closure and related semiring properties via eliminants", journal = j-THEOR-COMP-SCI, volume = "40", number = "2-3", pages = "257--274", month = "????", year = "1985", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:29:49 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1985.bib", acknowledgement = ack-nhfb, classification = "C4220 (Automata theory)", corpsource = "Dept. of Comput. Sci. and Eng., Univ. of Pet. and Min., Dhahran, Saudi Arabia", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "algebraic structures; axiomatic formulation; closed semirings; closure algorithms; computer science; correctness; eliminants; finite automata; graph-theoretical path problems; linear equations; matrix closure; operations research; regular expressions; semiring properties; transitive closure", pubcountry = "Netherlands A11", treatment = "T Theoretical or Mathematical", } @TechReport{Aho:1985:APS, author = "Alfred V. Aho and Brian W. Kernighan and Peter J. Weinberger", title = "Awk --- A Pattern Scanning and Processing Language Programmer's Manual", type = "Computing Science Technical Report", number = "118", institution = inst-ATT-BELL, address = inst-ATT-BELL:adr, pages = "ii ++ 38", day = "5", month = jun, year = "1985", bibdate = "Fri Aug 25 15:53:20 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", abstract = "Awk is a programming language that allows many tasks of information retrieval, data processing, and report generation to be specified simply. An awk program is a sequence of pattern--action statements that searches a set of files for lines matching any of the specified patterns and executes the action associated with each matching pattern. For example, the pattern \par \$1 == {"name"} \par is a complete {\em awk\/} program that prints all input lines whose first field is the string name; the action \par \{ print \$1, \$2 \} \par is a complete program that prints the first and second fields of each input line; and the pattern--action statement \par \$1 == {"address"} { print \$2, \$3 }\par is a complete program that prints the second and third fields of each. input line whose first field is {\tt address}.\par Awk patterns may include arbitrary combinations of regular expressions and comparison operations on strings, numbers, fields, variables, and array elements. Actions may include the same pattern-matching constructions as in patterns as well as arithmetic and string expressions; assignments; {\tt if-else}, {\tt while} and {\ff for} statements; function calls; and multiple input and output streams. This manual describes the version of awk released in June, 1985.", acknowledgement = ack-nhfb, } @Article{Ashdown:1985:PPM, author = "Ian E. Ashdown", title = "Parallel Pattern Matching and {Fgrep}", journal = j-DDJ, volume = "10", number = "9", pages = "46--??", month = sep, year = "1985", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Thu Jan 9 09:35:43 MST 1997", bibsource = "Compendex database; http://www.ddj.com/index/author/index.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "byHeart Software, North Vancouver, BC, Can", affiliationaddress = "byHeart Software, North Vancouver, BC, Can", classification = "723", fjournal = "Dr. Dobb's Journal of Software Tools", journalabr = "Dr Dobb's J", keywords = "Aho--Corasick algorithm; computer operating systems; computer programming --- Algorithms; data processing --- File Organization; fgrep algorithm; file-search utility; parallel pattern; pattern recognition; UNIX operating system", pagecount = "19p between p 46 and 67", } @Book{Berkovich:1985:MSP, author = "Simon Y. Berkovich and Abd El Fatah A. Hegazy", title = "Matching String Patterns in Large Textual Files", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "122--127", year = "1985", ISBN = "0-8186-0639-8", ISBN-13 = "978-0-8186-0639-7", LCCN = "QA75.5 .I6351 1985", bibdate = "Tue May 12 09:47:27 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "IEEE Service Cent. Piscataway, NJ, USA.", abstract = "The authors present a general approach that could be efficient when searching large textual files for near-matching of a set of patterns. The approach is based on a mapping of string segments into key-number values. To apply the terms of query against text strings in a single pass simultaneously, the input set of patterns is arranged in a hash table. The tolerance property of hash collisions and pattern representation by segment extraction can be used to detect different classes of string variations.", acknowledgement = ack-nhfb, affiliationaddress = "George Washington Univ, Washington, DC, USA", classification = "723", conference = "International Symposium on New Directions in Computing.", keywords = "data processing --- File Organization; database searching; database systems; hash tables; large textual files; string pattern matching", meetingaddress = "Trondheim, Norw", sponsor = "IEEE Computer Soc, Los Alamitos, CA, USA; Norwegian Inst of Technology, Trondheim, Norw; Kongsberg Vaepenfabrikk, Norw", } @InProceedings{Cheng:1985:APF, author = "H. D. Cheng and K. S. Fu", title = "Algorithm Partition for a Fixed-Size {VLSI} Architecture Using Space-Time Domain Expansion", crossref = "Hwang:1985:PSC", pages = "126--132", year = "1985", bibdate = "Fri Nov 16 08:47:34 2007", bibsource = "https://www.math.utah.edu/pub/tex/bib/fparith.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acsel-lab.com/arithmetic/arith7/papers/ARITH7_Cheng_Fu.pdf", abstract = "The space-time domain expansion method has recently been used to transform a computational task with a recursive formula into a VLSI architecture. In addition to its simplicity and completeness, an important advantage of this method is that it can easily solve the problem of partitioning an algorithm to fit a fixed size VLSI architecture. We propose a computational model and a partition rule which can be easily used to partition any recursive computation problem suited to the space-time domain expansion method so it can be solved on fixed-size VLSI architectures. Several examples, such as partitioned vector inner product, partitioned comparators in relational database management, partitioned matrix multiplications. and partitioned transitive closure computation, parallel recognition of general context-free languages, string matching and dynamic time-warp pattern-matching are used to illustrate the proposed method.", acknowledgement = ack-nhfb, keywords = "algorithm partition; ARITH-7; multiprocessing; pipelining; recursive task; space-time domain expansion; very large scale integration (VLSI)", } @Article{Faloutsos:1985:AMT, author = "Christos Faloutsos", title = "Access Methods for Text", journal = j-COMP-SURV, volume = "17", number = "1", pages = "49--74", month = mar, year = "1985", CODEN = "CMSVAN", DOI = "https://doi.org/10.1145/4078.4080", ISSN = "0360-0300 (print), 1557-7341 (electronic)", ISSN-L = "0360-0300", bibdate = "Thu Jun 19 09:34:46 MDT 2008", bibsource = "Compendex database; http://www.acm.org/pubs/contents/journals/surveys/; https://www.math.utah.edu/pub/tex/bib/compsurv.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Also published in/as: ``{Multiattribute} Hashing Using Gray Codes'', ACM SIGMOD, 1986.", URL = "http://www.acm.org/pubs/toc/Abstracts/0360-0300/4080.html", abstract = "This paper compares text retrieval methods intended for office systems. The operational requirements of the office environment are discussed, and retrieval methods from database systems and from information retrieval systems are examined. We classify these methods and examine the most interesting representatives of each class. Attempts to speed up retrieval with special purpose hardware are also presented, and issues such as approximate string matching and compression are discussed. A qualitative comparison of the examined methods is presented. The signature file method is discussed in more detail.", acknowledgement = ack-nhfb, affiliation = "Univ of Toronto, Computer Systems Research Inst, Toronto, Ont, Can", affiliationaddress = "Univ of Toronto, Computer Systems Research Inst, Toronto, Ont, Can", annote = "Signature files.", classification = "723; 901", fjournal = "ACM Computing Surveys", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J204", keywords = "database systems; design, information science; document retrieval; Information Retrieval; office automation; text retrieval", review = "ACM CR 8601-0058", subject = "{\bf H.3.3}: Information Systems, INFORMATION STORAGE AND RETRIEVAL, Information Search and Retrieval. {\bf H.2.2}: Information Systems, DATABASE MANAGEMENT, Physical Design, Access methods. {\bf H.3.6}: Information Systems, INFORMATION STORAGE AND RETRIEVAL, Library Automation. {\bf H.4.1}: Information Systems, INFORMATION SYSTEMS APPLICATIONS, Office Automation. {\bf I.7.m}: Computing Methodologies, TEXT PROCESSING, Miscellaneous.", } @Article{Gillogly:1985:FPM, author = "James J. Gillogly", title = "Fast Pattern Matching for Word Lists", journal = j-CRYPTOLOGIA, volume = "9", number = "1", pages = "55--62", month = jan, year = "1985", CODEN = "CRYPE6", DOI = "https://doi.org/10.1080/0161-118591859762", ISSN = "0161-1194 (print), 1558-1586 (electronic)", ISSN-L = "0161-1194", bibdate = "Mon Jun 30 15:38:43 MDT 2008", bibsource = "http://www.dean.usma.edu/math/pubs/cryptologia/; https://www.math.utah.edu/pub/tex/bib/cryptologia.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.informaworld.com/smpp/content~content=a741902694~db=all~order=page", acknowledgement = ack-nhfb, fjournal = "Cryptologia", journal-URL = "http://www.tandfonline.com/loi/ucry20", romanvolume = "IX", } @Article{GonzalezSmith:1985:PAD, author = "M. E. {Gonzalez Smith} and J. A. Storer", title = "Parallel Algorithms for Data Compression", journal = j-J-ACM, volume = "32", number = "2", pages = "344--373", month = apr, year = "1985", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Wed Jan 15 18:12:53 MST 1997", bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0004-5411/3152.html", abstract = "Parallel algorithms for data compression by textual substitution that are suitable for VLSI implementation are studied. Both `static' and `dynamic' dictionary schemes are considered.", acknowledgement = ack-nhfb, affiliationaddress = "Brandeis Univ, Waltham, MA, USA", classification = "723", fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", journalabr = "J Assoc Comput Mach", keywords = "Algorithms; algorithms; computer programming; computer systems, digital --- Parallel Processing; data compression; image information; parallel algorithms; statistics; theory; verification; VLSI", subject = "{\bf E.4}: Data, CODING AND INFORMATION THEORY, Data compaction and compression. {\bf B.7.1}: Hardware, INTEGRATED CIRCUITS, Types and Design Styles, VLSI (very large scale integration). {\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems. {\bf G.1.0}: Mathematics of Computing, NUMERICAL ANALYSIS, General, Parallel algorithms. {\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Computations on discrete structures. {\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching. {\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Routing and layout.", } @Article{Griswold:1985:RSI, author = "Ralph E. Griswold", title = "{Rebus} --- a {SNOBOL4\slash Icon} hybrid", journal = j-SIGPLAN, volume = "20", number = "2", pages = "7--16", month = feb, year = "1985", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/988304.988306", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 16:20:20 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C6140D (High level languages)", corpsource = "Dept. of Comput. Sci., Arizona Univ., Tucson, AZ, USA", fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "control structures; high level languages; Icon; pattern matching; programming language; Rebus; semantic framework; SNOBOL4; syntax", treatment = "P Practical", } @TechReport{Hershberger:1985:FSA, author = "John Hershberger and Ernst Mayr", title = "Fast sequential algorithms to find shuffle-minimizing and shortest paths in a shuffle-exchange network", type = "Technical Report", number = "CS-TR-85-1050", institution = inst-STAN-CS, address = inst-STAN-CS:adr, pages = "??--??", month = may, year = "1985", bibdate = "Thu Nov 20 12:11:36 MST 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/stanford-cstr.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www-db.stanford.edu/TR/CS-TR-85-1050.html", abstract = "This paper analyzes the problem of finding shortest paths and shuffle-minimizing paths in an n-node shuffle-exchange network, where n = $ 2^m $. Such paths have the properties needed by the Valiant-Brebner permutation routing algorithm, unlike the trivial $ (m - 1)$-shuffle paths usually used for shuffle-exchange routing. The Valiant-Brebner algorithm requires n simultaneous route computations, one for each packet to be routed, which can be done in parallel. We give fast sequential algorithms for both problems we consider. Restricting the shortest path problem to allow only paths that use fewer than m shuffles provides intuition applicable to the general problem. Linear-time pattern matching techniques solve part of the restricted problem; as a consequence, a path using fewest shuffles can be found in O(m) time, which is optimal up to a constant factor. The shortest path problem is equivalent to the problem of finding the Hamming distances between a bitstring and all shifted instances of another. An application of the fast Fourier transform solves this problem and the shortest path problem in O(m log m) time.", acknowledgement = ack-nhfb, } @Article{Hoffman:1985:IIA, author = "C. M. Hoffman and M. J. O'Donnell and R. I. Strandh", title = "Implementation of an interpreter for abstract equations", journal = j-SPE, volume = "15", number = "12", pages = "1204--1185", month = dec, year = "1985", CODEN = "SPEXBL", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Wed Aug 24 12:18:38 MDT 1994", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", keywords = "languages; theory", subject = "F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching \\ F.4.1 Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Mathematical Logic, Logic programming \\ F.1.3 Theory of Computation, COMPUTATION BY ABSTRACT DEVICES, Complexity Classes, Reducibility and completeness \\ F.3 Theory of Computation, LOGICS AND MEANINGS OF PROGRAMS, Semantics of Programming Languages \\ D.3.4 Software, PROGRAMMING LANGUAGES, Processors, Interpreters \\ F.4.2 Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Grammars and Other Rewriting Systems, Parsing", } @Article{Hoffmann:1985:IIA, author = "Christoph M. Hoffmann and Michael J. O'Donnell and Robert I. Strandh", title = "Implementation of an Interpreter for Abstract Equations", journal = j-SPE, volume = "15", number = "12", pages = "1185--1204", month = dec, year = "1985", CODEN = "SPEXBL", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", keywords = "algorithms; languages; theory", review = "ACM CR 8607-0605", subject = "D.3.4 Software, PROGRAMMING LANGUAGES, Processors, Interpreters \\ F.4.1 Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Mathematical Logic, Logic programming \\ F.3.2 Theory of Computation, LOGICS AND MEANINGS OF PROGRAMS, Semantics of Programming Languages \\ F.4.2 Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Grammars and Other Rewriting Systems, Parsing \\ F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching \\ D.3.1 Software, PROGRAMMING LANGUAGES, Formal Definitions and Theory", xxauthor = "Christoph M. Hoffman and Michael J. O'Donnell and Robert I. Strandh", } @Article{Jantzen:1985:ERE, author = "M. Jantzen", title = "Extending regular expressions with iterated shuffle", journal = j-THEOR-COMP-SCI, volume = "38", number = "2-3", pages = "223--247", month = jun, year = "1985", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:29:49 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1985.bib", acknowledgement = ack-nhfb, classification = "C4240 (Programming and algorithm theory)", corpsource = "Fachbereich Informat., Hamburg Univ., West Germany", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "algebraic language theory; finite expression; iterated shuffle; Kleene star; multicounter machine; NSPACE; product; programming theory; regular expressions extending; union", pubcountry = "Netherlands A05", treatment = "T Theoretical or Mathematical", } @Article{Ju:1985:CSF, author = "M. S. Ju and J. M. Mansour", title = "Comparative Studies of Formulating the Dynamics of Rigid-Body Systems Using {Macsyma} --- a Case Study", journal = "Developments in Mechanics", volume = "13", pages = "185--186", year = "1985", CODEN = "DEMEAX", ISSN = "0419-0262", bibdate = "Wed Jan 15 15:35:13 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/macsyma.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliationaddress = "Case Western Reserve Univ, Cleveland, OH, USA", classification = "461; 601; 921; 931", conference = "Proceedings of the 19th Midwestern Mechanics Conference.", journalabr = "Developments in Mechanics", keywords = "biomechanics; computational efficiency; equations of motion; mathematical techniques; mechanisms; pattern matching algorithm; rigid-body systems", meetingaddress = "Columbus, OH, USA", sponsor = "Ohio State Univ, Dep of Engineering Mechanics, Columbus, OH, USA", } @Article{Kapur:1985:ATC, author = "D. Kapur and M. S. Krishnamoorthy and R. McNaughton and Narendran and P.", title = "An {$ O(\bmod {T} \bmod^3) $} algorithm for testing the {Church--Rosser} property of {Thue} systems", journal = j-THEOR-COMP-SCI, volume = "35", number = "1", pages = "109--114", month = jan, year = "1985", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:29:49 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1985.bib", acknowledgement = ack-nhfb, classification = "C4240 (Programming and algorithm theory)", corpsource = "General Electric Co., Res. and Dev. Center, Schenectady, NY, USA", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "Church--Rosser property; computational complexity; linear string-matching algorithm; reduction algorithm; Thue systems; trees (mathematics)", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", xxnote = "Check math in title??", } @Article{Kristensen:1985:APF, author = "Bent Bruun Kristensen and Ole Lehrmann Madsen and Birger M{\o}ller-Pedersen and Kristen Nygaard", title = "An algebra for program fragments", journal = j-SIGPLAN, volume = "20", number = "7", pages = "161--170", month = jul, year = "1985", CODEN = "SINODQ", ISBN = "0-89791-165-2", ISBN-13 = "978-0-89791-165-8", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:14:50 MST 2003", bibsource = "Compendex database; http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Program fragments are described either by strings in the concrete syntax or by constructor applications in the abstract syntax. By defining conversions between these forms, both may be intermixed. Program fragments are constructed by terminal and nonterminal symbols from the grammar and by variables having program fragments as values. Basic operations such as value transfer, composition and decomposition are defined for program fragments allowing more complicated operations to be implemented. Usual operations such as testing for equality are defined, and in addition more specialized operations such as testing that a program fragment is derivable from another and converting program fragments in concrete form to abstract form are defined. By introducing regular expressions in the grammar these may be used in program fragments in concrete form. By defining constructors for regular expressions these may also be used in program fragments in abstract form.", acknowledgement = ack-nhfb, affiliationaddress = "Univ of California, Santa Barbara, CA, USA", classification = "721; C4210 (Formal logic); C6115 (Programming support)", conference = "Proceedings of the ACM SIGPLAN 85 Symposium on Language Issues in Programming Environments.", conflocation = "Seattle, WA, USA; 25-28 June 1985", conftitle = "Proceedings of the ACM SIGPLAN 85 Symposium on Language Issues in Programming Environments", corpsource = "Dept. of Comput. Sci., California Univ., Santa Barbara, CA, USA", fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", journalabr = "SIGPLAN Notices (ACM Special Interest Group on Programming Languages)", keywords = "abstract syntax; automata theory; composition; computer metatheory --- Programming Theory; computer programming; concrete syntax; constructor applications; decomposition; grammar; Grammars; grammars; languages; program fragments; programming environments; regular expression; regular expressions; strings; theory; value transfer", meetingaddress = "Seattle, WA, USA", pubcountry = "USA A17", sponsor = "ACM, Special Interest Group on Programming Languages, New York, NY, USA; ACM, Special Interest Group on Software Engineering, New York, NY, USA", sponsororg = "ACM", subject = "D.2.3 Software, SOFTWARE ENGINEERING, Coding, Program editors \\ D.2 Software, SOFTWARE ENGINEERING, Miscellaneous \\ D.3.3 Software, PROGRAMMING LANGUAGES, Language Constructs \\ D.2.6 Software, SOFTWARE ENGINEERING, Programming Environments", treatment = "T Theoretical or Mathematical", } @Article{Leiss:1985:CTU, author = "E. Leiss", title = "On classes of tractable unrestricted regular expressions", journal = j-THEOR-COMP-SCI, volume = "35", number = "2-3", pages = "313--327", month = feb, year = "1985", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:29:49 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1985.bib", acknowledgement = ack-nhfb, classification = "C4210 (Formal logic); C4220 (Automata theory); C4240 (Programming and algorithm theory)", corpsource = "Dept. of Comput. Sci., Houston Univ., TX, USA", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "Boolean automata; Boolean functions; closure; computational complexity; context-free languages; equivalence classes; equivalence problem; finite automata; intractable complexity; nontrivial subclasses; reduced automaton; tractable complexity; tractable unrestricted regular expressions", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{McIsaac:1985:PMA, author = "Kevin McIsaac", title = "Pattern matching algebraic identities", journal = j-SIGSAM, volume = "19", number = "2", pages = "4--13", month = may, year = "1985", CODEN = "SIGSBZ", ISSN = "0163-5824 (print), 1557-9492 (electronic)", ISSN-L = "0163-5824", bibdate = "Wed Oct 5 08:31:59 MDT 2005", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigsam.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classcodes = "C4240 (Programming and algorithm theory); C6140 (Programming languages)", corpsource = "Western Australia Univ., Crawley, WA, Australia", fjournal = "SIGSAM Bulletin (ACM Special Interest Group on Symbolic and Algebraic Manipulation)", issue = "74", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1000", keywords = "algebraic identities; algorithmic languages; algorithms; function; identity; matching process; notational extension; pattern matching; programming theory; scaling behaviour; theory", subject = "F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching \\ I.5.1 Computing Methodologies, PATTERN RECOGNITION, Models, Deterministic \\ D.3.3 Software, PROGRAMMING LANGUAGES, Language Constructs, Coroutines", treatment = "P Practical", } @Article{McIsaac:85, author = "Kevin McIsaac", title = "Pattern Matching Algebraic Identities", journal = "{SIGSAM} Bulletin", volume = "19", number = "2", pages = "4--13", month = may, year = "1985", bibdate = "Fri Sep 22 14:23:22 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/red-m-z.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Meyer:1985:ISM, author = "Bertrand Meyer", title = "Incremental String Matching", journal = j-INFO-PROC-LETT, volume = "21", number = "5", pages = "219--227", day = "18", month = nov, year = "1985", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliationaddress = "Univ of California, Dep of Computer Science, Santa Barbara, CA, USA", classification = "723; 903; C6120 (File organisation); C6130 (Data handling techniques); C7250 (Information storage and retrieval)", corpsource = "Dept. of Comput. Sci., California Univ., Santa Barbara, CA, USA", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "analysis of algorithms; bibliographic search; computer programming --- Algorithms; data handling; data processing --- Word Processing; data structures; finite automaton; incremental diagram construction; incremental string matching; Information Retrieval; information retrieval; information science; program correctness; string matching; transition diagram", pubcountry = "Netherlands A01", treatment = "T Theoretical or Mathematical", } @Article{Parigot:1985:LAP, author = "M. Parigot and E. Pelz", title = "A logical approach of {Petri} net languages", journal = j-THEOR-COMP-SCI, volume = "39", number = "2-3", pages = "155--169", month = aug, year = "1985", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:29:49 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1985.bib", acknowledgement = ack-nhfb, classification = "C1160 (Combinatorial mathematics); C4210 (Formal logic); C4220 (Automata theory)", corpsource = "UER de Math. et Inf., Paris VII Univ., France", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "Buchi-like theorem; deadlock languages; directed graphs; finite automata; formal languages; logical approach; logical formulas; Petri net languages; regular expressions", pubcountry = "Netherlands A05", treatment = "T Theoretical or Mathematical", } @Article{Pramanik:1985:HPM, author = "Sakti Pramanik and Chung-Ta King", title = "A Hardware Pattern Matching Algorithm on a Dataflow", journal = j-COMP-J, volume = "28", number = "3", pages = "264--269", month = jul, year = "1985", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/28.3.264", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Tue Dec 4 14:48:18 MST 2012", bibsource = "Compendex database; http://comjnl.oxfordjournals.org/content/28/3.toc; http://www3.oup.co.uk/computer_journal/hdb/Volume_28/Issue_03/; https://www.math.utah.edu/pub/tex/bib/compj.bib; https://www.math.utah.edu/pub/tex/bib/compj1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; Misc/protein.pattern.bib", URL = "http://comjnl.oxfordjournals.org/content/28/3/264.full.pdf+html; http://www3.oup.co.uk/computer_journal/hdb/Volume_28/Issue_03/tiff/264.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_28/Issue_03/tiff/265.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_28/Issue_03/tiff/266.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_28/Issue_03/tiff/267.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_28/Issue_03/tiff/268.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_28/Issue_03/tiff/269.tif", acknowledgement = ack-nhfb, affiliation = "Michigan State Univ, Computer Science Dep, East Lansing, MI, USA", affiliationaddress = "Michigan State Univ, Computer Science Dep, East Lansing, MI, USA", classcodes = "C4250 (Database theory); C6160 (Database management systems (DBMS)); C7250 (Information storage and retrieval)", classification = "722; 723", comment = "``A hardware pattern matcher is presented, which searches for patterns on a data flow, such as characters read from a disk. The backing up on the data flow, for a general pattern matching, is avoided by means of a set of cells running in parallel.''", corpsource = "Dept. of Computer Sci., Michigan State Univ., East Lansing, MI, USA", fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", keywords = "Algorithms; computer programming; data flow; data-flow patterns; database systems; database theory; dataflow; disc storage; hardware; hardware pattern matching algorithm; independent pattern searching; information retrieval system; information retrieval systems; magnetic; marking technique; pattern matching algorithm; priority lines; search", treatment = "T Theoretical or Mathematical", } @Article{Russinoff:1985:EBM, author = "David M. Russinoff", title = "An experiment with the {Boyer--Moore} theorem prover: A proof of {Wilson}'s theorem", journal = j-J-AUTOM-REASON, volume = "1", number = "2", pages = "121--139", month = jun, year = "1985", CODEN = "JAREEW", DOI = "https://doi.org/10.1007/BF00244993", ISSN = "0168-7433 (print), 1573-0670 (electronic)", ISSN-L = "0168-7433", bibdate = "Sat Apr 2 10:48:29 MDT 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/jautomreason.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/BF00244993", acknowledgement = ack-nhfb, ajournal = "J. Autom. Reason.", fjournal = "Journal of Automated Reasoning", journal-URL = "http://link.springer.com/journal/10817", } @Misc{Spencer:1985:REP, author = "Henry Spencer", title = "Regular expression pattern matching software", howpublished = "Usenet \path|mod.sources| and \path|net.sources| archives", month = nov, year = "1985", bibdate = "Fri Sep 22 14:23:22 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Misc{Spencer:regexp, author = "Henry Spencer", title = "Regular expression pattern matching software", howpublished = "Usenet \path|mod.sources| and \path|net.sources| archives", month = nov, year = "1985", bibdate = "Fri Sep 22 14:23:22 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Stearns:1985:ECP, author = "R. E. Stearns and H. B. {Hunt, III}", title = "On the equivalence and containment problems for unambiguous regular expressions, regular grammars and finite automata", journal = j-SIAM-J-COMPUT, volume = "14", number = "3", pages = "598--611", month = "????", year = "1985", CODEN = "SMJCAT", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68Q45 (68Q20)", MRnumber = "87f:68052", MRreviewer = "Peter R. J. Asveld", bibdate = "Mon Nov 29 11:00:24 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/14/3; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @Article{Symes:1985:POC, author = "D. Michael Symes", title = "Procedural Operators Considered as Fundamental Programming Devices", journal = j-COMP-LANGS, volume = "10", number = "2", pages = "75--89", month = "????", year = "1985", CODEN = "COLADA", ISSN = "0096-0551 (print), 1873-6742 (electronic)", ISSN-L = "0096-0551", bibdate = "Thu Apr 10 09:54:16 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/complngs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliationaddress = "I. P. Sharp Associates Ltd, Toronto, Ont, Can", classcodes = "C4240 (Programming and algorithm theory)", classification = "723", corpsource = "I. P. Sharp Associates Ltd., Toronto, Ont., Canada", fjournal = "Computer Languages", journal-URL = "http://www.sciencedirect.com/science/journal/00960551", journalabr = "Comput Lang", keywords = "Algorithms; backtracking; backtracking primitives; computer programming; computer programming languages; control structure; functional; imperative; matching primitives; nested interaction; nested iteration; operator; pattern-; pattern-matching; procedural operator; programming device; programming theory; recursion; searching", treatment = "P Practical", } @Article{Zaki:1985:PSA, author = "Mohamed Zaki and S. A. Gamal-Eldin", title = "A portable syntax analyzer for microcomputers", journal = j-COMP-LANGS, volume = "10", number = "2", pages = "127--146", month = "????", year = "1985", CODEN = "COLADA", ISSN = "0096-0551 (print), 1873-6742 (electronic)", ISSN-L = "0096-0551", bibdate = "Tue Mar 25 14:04:06 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/complngs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliationaddress = "Al-Azhar Univ, Dep of Computers \& Systems Engineering, Cairo, Egypt", classcodes = "C4210 (Formal logic); C4220 (Automata theory); C6150C (Compilers, interpreters and other processors)", classification = "722; 723", corpsource = "Dept. of Comput. and Syst. Eng., Al Azhar Univ., Cairo, Egypt", fjournal = "Computer Languages", journal-URL = "http://www.sciencedirect.com/science/journal/00960551", journalabr = "Comput Lang", keywords = "code; compatibility; compiler; computer operating systems --- Program Compilers; computers, microprocessor; finite automata; finite state automata; generation phase; grammars; high-level; inherited attributes; interfacing; L-attributed grammar; l-attributed grammar; language analysis; lexical analysis; LL(1) parsing; machine independent analyzer; microcomputer applications; microcomputers; modular design; modules; parser; portability; portable syntax analyzer; program compilers; regular expressions; scanner; software portability; storage minimization; symbol table; syntactic structures; syntax analysis; synthesized attributes; system maintainability; system reliability; table-based; tokens", treatment = "P Practical", } @Article{Ackenhusen:1986:SBG, author = "John G. Ackenhusen and Syed S. Ali and David Bishop and Louis F. Rosa and Reed Thorkildsen", title = "Single-board general-purpose speech recognition system", journal = j-ATT-TECH-J, volume = "65", number = "5", pages = "48--59", month = sep, year = "1986", CODEN = "ATJOEM", ISSN = "2376-676X (print), 8756-2324 (electronic)", ISSN-L = "8756-2324", bibdate = "Fri Nov 12 13:09:16 2010", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/bstj1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "This paper describes a single-board implementation of an isolated word recognizer based on the principles of linear predictive coding (LPC) and dynamic time warping (DTW). The recognizer requires only a serial (RS-232) terminal, power supply, and microphone for operation, and may be used to add speech input capability to any serial terminal connected to a host computer. Key elements of the recognizer include a custom integrated circuit for DTW-based pattern matching, a single-chip implementation of real-time LPC feature measurement, and a 16-bit microprocessor for control, communication, and decision functions. As a result of the custom integrated circuit and multiple processor architecture, pattern matching speed is increased by a factor of 50 over an earlier design with no custom integrated circuits and without pipeline processing capabilities, and proceeds on one word while LPC measurement on the next is in progress, increasing speech throughput.", acknowledgement = ack-nhfb, fjournal = "AT\&T Technical Journal", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1538-7305/issues/", keywords = "computers, microcomputer", subject = "dynamic time warping (DTW); isolated word recognizer; linear predictive coding (LPC); multiple processor architecture; system architecture", topic = "speech", } @Article{Apostolico:1986:BMG, author = "Alberto Apostolico and Raffaele Giancarlo", title = "The {Boyer--Moore--Galil} string searching strategies revisited", journal = j-SIAM-J-COMPUT, volume = "15", number = "1", pages = "98--105", month = "????", year = "1986", CODEN = "SMJCAT", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68Q20", MRnumber = "87b:68045", bibdate = "Mon Nov 29 11:00:32 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/15/1; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @Book{Bentley:1986:PP, author = "Jon Louis Bentley", title = "Programming Pearls", publisher = pub-AW, address = pub-AW:adr, pages = "viii + 195", year = "1986", ISBN = "0-201-10331-1 (paperback)", ISBN-13 = "978-0-201-10331-1 (paperback)", LCCN = "QA76.6.B453 1986", bibdate = "Wed Dec 15 08:16:02 1993", bibsource = "https://www.math.utah.edu/pub/bibnet/subjects/acc-stab-num-alg.bib; https://www.math.utah.edu/pub/bibnet/subjects/han-wri-mat-sci-2ed.bib; https://www.math.utah.edu/pub/tex/bib/css.bib; https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/spell.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", note = "Reprinted with corrections.", acknowledgement = ack-nhfb, remark = "Chapter 13, A Spelling Checker, discusses the design and implementation of Unix spell, and notes that ``Steve Johnson wrote the first version of {\tt spell} in an afternoon in 1975.''.", shorttableofcontents = "1: Cracking the oyster \\ 2: Aha! algorithms \\ 3: Data structures programs \\ 4: Writing correct programs \\ 5: Perspective on performance \\ 6: Back of the envelope \\ 7: Algorithm design techniques \\ 8: Code tuning \\ 9: Squeezing space \\ 10: Sorting \\ 11: Searching \\ 12: Heaps \\ 13: Spelling checker", tableofcontents = "Part I: Preliminaries / 1 \\ Column 1: Cracking the Oyster / 3 \\ A Friendly Conversation \\ Precise Problem Statement \\ Program Design \\ Implementation Sketch \\ Principles \\ Problems \\ Further Reading \\ Column 2: Aha! Algorithms / 11 \\ Three Problems \\ Ubiquitous Binary Search \\ The Power of Primitives \\ Getting It Together: Sorting \\ Principles \\ Problems \\ Further Reading \\ Implementing an Anagram Program \\ Column 3: Data Structures Programs / 23 \\ A Survey Program \\ Form Letters \\ An Array of Examples \\ A Big Program \\ Principles \\ Problems \\ Further Reading \\ Column 4: Writing Correct Programs / 35 \\ The Challenge of Binary Search \\ Writing the Program \\ Understanding the Program \\ Implementing the Program \\ Principles \\ The Roles of Program Verification \\ Problems \\ Further Reading \\ Industrial-Strength Program Verification \\ Part II: Performance / 49 \\ Column 5: Perspective on Performance / 51 \\ A Case Study \\ Design Levels \\ Principles \\ Problems \\ Further Reading \\ Column 6: The Back of the Envelope / 59 \\ Basic Skills \\ Quick Calculations in Computing \\ Safety Factors \\ A Case Study \\ Principles \\ Problems \\ Further Reading \\ Quick Calculations in Everyday Life \\ Column 7: Algorithm Design Techniques / 69 \\ The Problem and a Simple Algorithm \\ Two Quadratic Algorithms \\ A Divide-and-Conquer Algorithm \\ A Scanning Algorithm \\ What Does It Matter? \\ Principles \\ Problems \\ Further Reading \\ The Impact of Algorithms \\ Column 8: Code Tuning / 81 \\ A Typical Story \\ A First Aid Quiz \\ Major Surgery --- Binary Search \\ Principles \\ Problems \\ Further Reading \\ Tuning the Federal Government's COBOL Code \\ Column 9: Squeezing Space / 93 \\ The Key --- Simplicity \\ Data Space \\ Code Space \\ Principles \\ Problems \\ Further Reading \\ Two Big Squeezes \\ Part III: The Product / 105 \\ Column 10: Sorting / 107 \\ Insertion Sort --- An $O(N^2)$ Algorithm \\ Quicksort --- An $O(N \log N)$ Algorithm \\ Principles \\ Problems \\ Further Reading \\ Column 11: Searching / 117 \\ The Problem \\ One Solution \\ The Design Space \\ Principles \\ Problems \\ Further Reading \\ Column 12: Heaps / 125 \\ The Data Structure \\ Two Critical Routines \\ Priority Queues \\ A Sorting Algorithm \\ Principles \\ Problems \\ Further Reading \\ Column 13: A Spelling Checker / 139 \\ A Simple Program \\ The Design Space \\ A Subtle Program \\ Principles \\ Problems \\ Further Reading \\ Why Spelling is Hard \\ Epilog / 151 \\ Appendix: Catalog of Algorithms / 155 \\ Hints for Selected Problems / 159 \\ Solutions to Selected Problems / 163 \\ Index / 189", } @Article{Berry:1986:RED, author = "G. Berry and R. Sethi", title = "From regular expressions to deterministic automata", journal = j-THEOR-COMP-SCI, volume = "48", number = "1", pages = "117--126", month = "????", year = "1986", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:29:49 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1985.bib", acknowledgement = ack-nhfb, classification = "C4220 (Automata theory)", corpsource = "Ecole Nat. Sup{\'e}rieure des Mines de Paris, Centre de Math. Appliqu{\'e}es, Valbonne, France", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "deterministic automata; elegant algorithm; finite automata; finite automaton; regular expressions; state transitions", pubcountry = "Netherlands A09", treatment = "T Theoretical or Mathematical", } @Article{Brazma:1986:GRE, author = "A. Brazma and E. Kinber", title = "Generalized regular expressions --- a language for synthesis of programs with branching in loops", journal = j-THEOR-COMP-SCI, volume = "46", number = "2-3", pages = "175--195", month = "????", year = "1986", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:29:49 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1985.bib", acknowledgement = ack-nhfb, classification = "C4210 (Formal logic); C4220 (Automata theory); C6150G (Diagnostic, testing, debugging and evaluating systems)", corpsource = "Comput. Centre, Latvian State Univ., Riga, Latvian SSR, USSR", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "automata; automata theory; branching; equivalence problem; finite alphabet; formal languages; generalised regular expressions; inductive synthesis; loops; natural numbers; program testing; programs synthesis language; set-theoretic properties", pubcountry = "Netherlands A04", treatment = "T Theoretical or Mathematical", } @Article{Cisneros:1986:IPL, author = "G. Cisneros and H. V. McIntosh", title = "Introduction to the programming language {Convert}", journal = j-SIGPLAN, volume = "21", number = "4", pages = "48--57", month = apr, year = "1986", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:14:57 MST 2003", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C6140D (High level languages)", corpsource = "Escuela Superior de Ingenieria Mecanica y Electr., Inst. Politecnico Nacional, Mexico City, Mexico", fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "algorithms; high level languages; languages; programming language Convert; symbol manipulation; transformation rules", pubcountry = "USA A03 A03", subject = "D.3.2 Software, PROGRAMMING LANGUAGES, Language Classifications \\ F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching", treatment = "G General Review; P Practical", } @InProceedings{Cooperman:1986:SMC, author = "Gene Cooperman", title = "A semantic matcher for computer algebra", crossref = "Char:1986:PSS", pages = "132--134", year = "1986", bibdate = "Thu Mar 12 07:38:29 MST 1998", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/issac.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org:80/pubs/citations/proceedings/issac/32439/p132-cooperman/", acknowledgement = ack-nhfb, keywords = "experimentation; human factors; languages", subject = "{\bf I.1.3} Computing Methodologies, SYMBOLIC AND ALGEBRAIC MANIPULATION, Languages and Systems, Special-purpose algebraic systems. {\bf F.4.1} Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Mathematical Logic. {\bf I.1.3} Computing Methodologies, SYMBOLIC AND ALGEBRAIC MANIPULATION, Languages and Systems, Evaluation strategies. {\bf F.2.2} Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching. {\bf I.1.1} Computing Methodologies, SYMBOLIC AND ALGEBRAIC MANIPULATION, Expressions and Their Representation, Representations (general and polynomial). {\bf I.1.3} Computing Methodologies, SYMBOLIC AND ALGEBRAIC MANIPULATION, Languages and Systems, MACSYMA.", } @Article{Crochemore:1986:TR, author = "M. Crochemore", title = "Transducers and repetitions", journal = j-THEOR-COMP-SCI, volume = "45", number = "1", pages = "63--86", month = "????", year = "1986", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:29:49 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1985.bib", acknowledgement = ack-nhfb, classification = "C4220 (Automata theory); C4240 (Programming and algorithm theory)", corpsource = "Centre Sci. et Polytech., Univ. de Paris-Nord, Villetaneuse, France", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "automata theory; factor transducer; factors; optimal bounds; programming theory; repetition searching; string-matching problem; subsequent suffix transducers; subwords; word", pubcountry = "Netherlands A02", treatment = "T Theoretical or Mathematical", } @Article{Davies:1986:APM, author = "G. Davies and S. Bowsher", title = "Algorithms for Pattern Matching", journal = j-SPE, volume = "16", number = "6", pages = "575--601", month = jun, year = "1986", CODEN = "SPEXBL", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", } @Article{Galil:1986:ISM, author = "Z. Galil and R. Giancarlo", title = "Improved string matching with {$k$} mismatches", journal = j-SIGACT, volume = "17", number = "4", pages = "52--54", month = "Spring", year = "1986", CODEN = "SIGNDM", DOI = "https://doi.org/10.1145/8307.8309", ISSN = "0163-5700 (print), 1943-5827 (electronic)", ISSN-L = "0163-5700", bibdate = "Wed Mar 21 08:21:23 MDT 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/att.bib; https://www.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Theory/tq.bib; https://www.math.utah.edu/pub/tex/bib/sigact.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGACT News", journal-URL = "http://dl.acm.org/citation.cfm?id=J697", } @Article{Grigoriadis:1986:LBC, author = "M. D. Grigoriadis and B. Kalantari", title = "A Lower Bound to the Complexity of {Euclidean} and Rectilinear Matching Algorithms", journal = j-INFO-PROC-LETT, volume = "22", number = "2", pages = "73--76", day = "18", month = jan, year = "1986", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68Q25 (68P10)", MRnumber = "87d:68040", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliationaddress = "Rutgers Univ, New Brunswick, NJ, USA", classification = "723; 921; C1160 (Combinatorial mathematics); C4240 (Programming and algorithm theory)", corpsource = "Dept. of Comput. Sci., Rutgers Univ., New Brunswick, NJ, USA", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Algorithms; algorithms; complexity; computational complexity; computer programming; Euclidean matching; Euclidean matching algorithms; graph theory; graphs; heuristic algorithm; lower bound; lower bounds; mathematical techniques --- Graph Theory; performance; rectilinear matching; rectilinear matching algorithms; spanning trees; time complexity; undirected graphs; verification", pubcountry = "Netherlands A04", review = "ACM CR 8611-1025", subject = "G.2.2 Mathematics of Computing, DISCRETE MATHEMATICS, Graph Theory, Graph algorithms \\ F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching \\ I.2.8 Computing Methodologies, ARTIFICIAL INTELLIGENCE, Problem Solving, Control Methods, and Search, Heuristic methods", treatment = "T Theoretical or Mathematical", } @Article{Grosky:1986:IIU, author = "William I. Grosky and Yi Lu", title = "Iconic Indexing Using Generalized Pattern Matching Techniques", journal = j-CVGIP, volume = "35", number = "3", pages = "383--403", month = sep, year = "1986", CODEN = "CVGPDB", ISSN = "0734-189x (print), 1557-895x (electronic)", ISSN-L = "0734-189X", bibdate = "Thu Feb 6 18:44:11 MST 1997", bibsource = "Compendex database; Graphics/rosenfeld/1986.bib; https://www.math.utah.edu/pub/tex/bib/cvgip.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "WSU/U Mich", affiliationaddress = "Wayne State Univ, Detroit, MI, USA", classification = "723", fjournal = "Computer Vision, Graphics, and Image Processing", journal-URL = "http://www.sciencedirect.com/science/journal/0734189X", journalabr = "Comput Vision Graphics Image Process", keywords = "computer programming --- Algorithms; database systems; image multiplicity comparison; image processing; ionic indexing; longest common sequency; pattern matching", } @Article{Highnam:1986:OAF, author = "P. T. Highnam", title = "Optimal Algorithms for Finding the Symmetries of a Planar Point Set", journal = j-INFO-PROC-LETT, volume = "22", number = "5", pages = "219--222", day = "??", month = apr, year = "1986", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68U05", MRnumber = "87h:68144", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliationaddress = "Carnegie-Mellon Univ, Pittsburgh, PA, USA", classification = "723; C4190 (Other numerical methods)", corpsource = "Dept. of Comput. Sci., Carnegie-Mellon Univ., Pittsburgh, PA, USA", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Algorithms; algorithms; asymptotically optimal algorithm; computational geometry; computer programming; linear pattern-matching; mirror symmetry; optimal algorithms; planar point set; rotational symmetries; string matching; symmetry; theory; verification", pubcountry = "Netherlands A01", subject = "G.2.m Mathematics of Computing, DISCRETE MATHEMATICS, Miscellaneous \\ F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Geometrical problems and computations", treatment = "T Theoretical or Mathematical", } @Article{Israeli:1986:FSR, author = "Amos Israeli and A. Itai", title = "A fast and simple randomized parallel algorithm for maximal matching", journal = j-INFO-PROC-LETT, volume = "22", number = "2", pages = "77--80", day = "18", month = jan, year = "1986", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68Q25", MRnumber = "87d:68041", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliationaddress = "Technion-Israel Inst of Technology, Haifa, Isr", classification = "723; 921; C1160 (Combinatorial mathematics); C4240 (Programming and algorithm theory)", corpsource = "Dept. of Comput. Sci., Technion-Israel Inst. of Technol., Haifa, Israel", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Algorithms; algorithms; computational complexity; computer programming; CRCW-PRAM; graph theory; graphs; input graph; mathematical techniques --- Graph Theory; maximal matching; parallel algorithm; parallel processing; parallel randomized algorithm; randomized parallel algorithm; undirected graphs; verification", pubcountry = "Netherlands A05", subject = "G.1.0 Mathematics of Computing, NUMERICAL ANALYSIS, General, Parallel algorithms \\ G.2.2 Mathematics of Computing, DISCRETE MATHEMATICS, Graph Theory, Graph algorithms \\ F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching", treatment = "T Theoretical or Mathematical", } @Article{Israeli:1986:IPA, author = "Amos Israeli and Y. Shiloach", title = "An Improved Parallel Algorithm for Maximal Matching", journal = j-INFO-PROC-LETT, volume = "22", number = "2", pages = "57--60", day = "18", month = jan, year = "1986", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68Q25 (68R10)", MRnumber = "87g:68023", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliationaddress = "Technion-Israel Inst of Technology, Haifa, Isr", classification = "722; 723; 921; C1160 (Combinatorial mathematics); C4240 (Programming and algorithm theory)", corpsource = "Dept. of Comput. Sci., Technion-Israel Inst. of Technol., Haifa, Israel", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Algorithms; algorithms; computational complexity; computer programming; computer systems, digital --- Parallel Processing; CRCW-PRAM; graph matching; graph theory; graphs; mathematical techniques --- Graph Theory; maximal matching; parallel algorithm; performance; undirected graphs; verification", pubcountry = "Netherlands A02", subject = "G.2.2 Mathematics of Computing, DISCRETE MATHEMATICS, Graph Theory, Graph algorithms \\ G.1.0 Mathematics of Computing, NUMERICAL ANALYSIS, General, Parallel algorithms \\ F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching", treatment = "T Theoretical or Mathematical", } @Article{Landau:1986:ESM, author = "G. M. Landau and U. Vishkin", title = "Efficient string matching with k mismatches", journal = j-THEOR-COMP-SCI, volume = "43", number = "2-3", pages = "239--249", month = "????", year = "1986", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:29:49 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1985.bib", acknowledgement = ack-nhfb, classification = "C1250 (Pattern recognition); C4240 (Programming and algorithm theory)", corpsource = "Dept. of Comput. Sci., Tel Aviv Univ., Israel", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "computational complexity; pattern matching; pattern recognition; string matching", pubcountry = "Netherlands A07", treatment = "T Theoretical or Mathematical", } @InProceedings{Landau:1986:IEP, author = "G. M. Landau and U. Vishkin", title = "Introducing efficient parallelism into approximate string matching and a new serial algorithm", crossref = "ACM:1986:PEA", pages = "220--230", year = "1986", bibdate = "Wed Feb 20 18:33:46 MST 2002", bibsource = "http://portal.acm.org/; http://www.acm.org/pubs/contents/proceedings/series/stoc/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/articles/proceedings/stoc/12130/p220-landau/p220-landau.pdf; http://www.acm.org/pubs/citations/proceedings/stoc/12130/p220-landau/", acknowledgement = ack-nhfb, } @Article{Li:1986:SMC, author = "Ming Li and Yaacov Yesha", editor = "G. R. Andrews", title = "String-Matching Cannot Be Done by a Two-Head One-Way Deterministic Finite Automaton", journal = j-INFO-PROC-LETT, volume = "22", number = "5", pages = "231--235", day = "??", month = apr, year = "1986", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68Q20", MRnumber = "87h:68058", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = "22", acknowledgement = ack-nhfb, affiliationaddress = "Cornell Univ, Ithaca, NY, USA", classification = "721; C4220 (Automata theory)", corpsource = "Dept. of Comput. Sci., Cornell Univ., Ithaca, NY, USA", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "automata theory; finite automata; k-head finite automata; Kolmogorov complexity; lower bounds; string-matching; theory; Turning machine; two-head one-way deterministic finite automaton; verification", pubcountry = "Netherlands A03", subject = "F.1.1 Theory of Computation, COMPUTATION BY ABSTRACT DEVICES, Models of Computation, Automata \\ F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Sorting and searching", treatment = "T Theoretical or Mathematical", } @Article{Liu:1986:SPM, author = "Ken-Chih Liu", title = "A String Pattern Matching Extension to {Pascal} and Some Comparisons with {SNOBOL4}", journal = j-SPE, volume = "16", number = "6", pages = "541--548", month = jun, year = "1986", CODEN = "SPEXBL", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", } @Article{Manolopoulos:1986:BSI, author = "Yannis Manolopoulos", title = "Batched Search of Index Sequential Files", journal = j-INFO-PROC-LETT, volume = "22", number = "5", pages = "267--272", day = "??", month = apr, year = "1986", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliationaddress = "Univ of Thessaloniki, Thessaloniki, Greece", classification = "723; 903; C6160 (Database management systems (DBMS))", corpsource = "Dept. of Electr. Eng., Thessaloniki Univ., Greece", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "batched search; database management systems; database systems; index sequential files; information retrieval systems --- Online Searching; on-line search; Performance; performance; query; theory; verification", pubcountry = "Netherlands A09", subject = "H.2.m Information Systems, DATABASE MANAGEMENT, Miscellaneous \\ H.3.3 Information Systems, INFORMATION STORAGE AND RETRIEVAL, Information Search and Retrieval, Search process \\ F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching", treatment = "P Practical", } @Article{Suzuki:1986:SVD, author = "I. Suzuki and Y. Motohashi and K. Taniguchi and T. Kasami and T. Okamoto", title = "Specification and verification of decentralized daisy chain arbiters with omega-extended regular expressions", journal = j-THEOR-COMP-SCI, volume = "43", number = "2-3", pages = "277--291", month = "????", year = "1986", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:29:49 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1985.bib", acknowledgement = ack-nhfb, classification = "C4210 (Formal logic); C4230 (Switching theory); C4240 (Programming and algorithm theory)", corpsource = "Dept. of Electr. Eng., Texas Tech Univ., Lubbock, TX, USA", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "computer interfaces; concurrent processes; containment problem; decentralized daisy chain arbiters; distributed processing; eventuality; finite event sequences; formal logic; infinite event sequences; liveness; logical circuits; omega-extended regular expressions; programming theory; property proving; property specification; property verification; switching networks; temporal logic", pubcountry = "Netherlands A10", treatment = "T Theoretical or Mathematical", } @Article{Takahashi:1986:NSS, author = "K. Takahashi and H. Yamada and H. Nagai and K. Matsumi", title = "A new string search hardware architecture for {VLSI}", journal = j-COMP-ARCH-NEWS, volume = "14", number = "2", pages = "20--27", month = jun, year = "1986", CODEN = "CANED2", ISSN = "0163-5964 (ACM), 0884-7495 (IEEE)", bibdate = "Fri May 12 09:40:43 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigarch.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGARCH Computer Architecture News", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J89", } @Article{Takaoka:1986:LPM, author = "Tadao Takaoka", title = "An On-Line Pattern Matching Algorithm", journal = j-INFO-PROC-LETT, volume = "22", number = "6", pages = "329--330", day = "30", month = may, year = "1986", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliationaddress = "Univ of Ibaraki, Hitachi, Jpn", classification = "723; C6130 (Data handling techniques)", corpsource = "Dept. of Inf. Sci., Ibaraki Univ., Japan", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Algorithms; algorithms; computer programming; data handling; on-line editor; on-line pattern matching algorithm; pattern input; pattern matching algorithm; reading input symbols; response time; text editor; text editors; theory", pubcountry = "Netherlands A11", subject = "I.7.1 Computing Methodologies, TEXT PROCESSING, Text Editing \\ I.5.4 Computing Methodologies, PATTERN RECOGNITION, Applications, Computer vision", treatment = "G General Review", } @Article{Takaoka:1986:OPM, author = "Tadao Takaoka", title = "An On-Line Pattern Matching Algorithm", journal = j-INFO-PROC-LETT, volume = "22", number = "6", pages = "329--330", day = "30", month = may, year = "1986", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliationaddress = "Univ of Ibaraki, Hitachi, Jpn", classification = "723; C6130 (Data handling techniques)", corpsource = "Dept. of Inf. Sci., Ibaraki Univ., Japan", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190/", journalabr = "Inf Process Lett", keywords = "Algorithms; algorithms; computer programming; data handling; on-line editor; on-line pattern matching algorithm; pattern input; pattern matching algorithm; reading input symbols; response time; text editor; text editors; theory", pubcountry = "Netherlands A11", subject = "I.7.1 Computing Methodologies, TEXT PROCESSING, Text Editing \\ I.5.4 Computing Methodologies, PATTERN RECOGNITION, Applications, Computer vision", treatment = "G General Review", } @Article{Turner:1986:OM, author = "D. Turner", title = "An overview of {Miranda}", journal = j-SIGPLAN, volume = "21", number = "12", pages = "158--166", month = dec, year = "1986", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:15:06 MST 2003", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", acknowledgement = ack-nhfb, classification = "C6115 (Programming support); C6120 (File organisation); C6140D (High level languages)", corpsource = "Comput. Lab., Kent Univ., Canterbury, UK", fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "abstract data types; advanced functional programming system; block structure; currying; data structures; guarded equations; high level languages; higher order functions; infinite lists; languages; lazy evaluation; linking; Miranda; Miranda programming environment; pattern matching; polymorphic strong typing; programming environments; separate compilation; type synonyms; UNIX operating system; user defined types; ZF expressions", pubcountry = "USA A11", subject = "D.3.2 Software, PROGRAMMING LANGUAGES, Language Classifications \\ D.4.0 Software, OPERATING SYSTEMS, General, UNIX", treatment = "P Practical; R Product Review", } @InProceedings{Wolberg:1986:SOF, author = "George Wolberg", title = "A Syntactic Omni-Font Character Recognition System", crossref = "IEEE:1986:PCI", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "168--173", year = "1986", ISBN = "0-8186-0721-1", ISBN-13 = "978-0-8186-0721-9", LCCN = "TA1632 .I36 1986", bibdate = "Mon May 11 18:31:33 1998", bibsource = "Compendex database; Graphics/rosenfeld/1986.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/typeset.bib", note = "IEEE Service Cent. Piscataway, NJ, USA.", abstract = "The author introduces a syntactic omni-font character recognition system that recognizes a wide range of fonts, including handprinted characters. A structural pattern-matching approach is used. Essentially, a set of loosely constrained rules specify pattern components and their interrelationships. The robustness of the system is derived from the orthogonal set of pattern descriptors, location functions, and the manner in which they are combined to exploit the topological structure of characters. By virtue of the new pattern description language, PDL, the user may easily write rules to define new patterns for the system to recognize. The system also features scale-invariance and user-definable sensitivity to tilt orientation. The system has achieved a 95. 2\% recognition rate.", acknowledgement = ack-nhfb, affiliation = "Columbia Univ, New York, NY, USA", affiliationaddress = "Columbia Univ, New York, NY, USA", classification = "723", conference = "Proceedings --- CVPR '86: IEEE Computer Society Conference on Computer Vision and Pattern Recognition.", keywords = "character recognition; computer programming languages; image; pattern description language (PDL); robustness; structural pattern matching; symbol; syntactic omnifont character recognition", meetingaddress = "Miami Beach, FL, USA", sponsor = "IEEE Computer Soc, Los Alamitos, CA, USA", } @Misc{Woods:1986:MPB, author = "J. A. Woods", title = "More pep for {Boyer--Moore} {\tt grep}", howpublished = "Usenet netnews group {\tt net.unix}", day = "18", month = mar, year = "1986", bibdate = "Sat Sep 02 14:34:18 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, remark = "See also \cite{Woods:1986:MPB}.", } @Article{Abrahamson:1987:GSM, author = "Karl Abrahamson", title = "Generalized String Matching", journal = j-SIAM-J-COMPUT, volume = "16", number = "6", pages = "1039--1051", month = dec, year = "1987", CODEN = "SMJCAT", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68Q25", MRnumber = "90a:68034", MRreviewer = "Jaroslav Ne{\v{s}}et{\v{r}}il", bibdate = "Mon Nov 29 11:00:58 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/16/6; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @Article{Blumer:1987:CIF, author = "A. Blumer and J. Blumer and D. Haussler and R. McConnell and A. Ehrenfeucht", title = "Complete Inverted Files for Efficient Text Retrieval and Analysis", journal = j-J-ACM, volume = "34", number = "3", pages = "578--595", month = jul, year = "1987", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Wed Jan 15 18:12:53 MST 1997", bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/IMMD_IV.bib; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0004-5411/28873.html", abstract = "Given a finite set of texts {$S$} equals $ \{ w_1, \ldots {}, w_k \} $ over some fixed finite alphabet {$ \Sigma $}, a complete inverted file for {$S$} is an abstract data type that provides the functions {\tt find}($w$ ), which returns the longest prefix of $w$ that occurs (as a subword of a word) in {$S$}; {\tt freq}($w$ ), which returns the number of times $w$ occurs in {$S$}; and {\tt locations}($w$ ), which returns the set of positions where $w$ occurs in {$S$}. A data structure that implements a complete inverted file for {$S$} that occupies linear space and can be built in linear time, using the uniform-cost RAM model, is given. Using this data structure, the time for each of the above query functions is optimal. To accomplish this, techniques from the theory of finite automata and the work on suffix trees are used to build a deterministic finite automation that recognizes the set of all subwords of the set {$S$}. This automation is then annotated with additional information and compacted to facilitate the desired query functions. The result is a data structure that is smaller and more flexible than the suffix tree.", acknowledgement = ack-nhfb, affiliationaddress = "Univ of Denver, Denver, CO, USA", annote = "Data structure is a compact directed acyclic word graph. Searches for arbitrary strings are allowed. Suggest searching DNA sequences. Linear times for finding the longest prefix of a keyword.", classification = "721; 723; 903", fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", journalabr = "J Assoc Comput Mach", keywords = "algorithms; automata theory --- Finite Automata; complete inverted files; data processing; Data Structures; information science --- Information Retrieval; mathematical techniques --- Trees; suffix trees; text retrieval and analysis; theory", subject = "{\bf E.1}: Data, DATA STRUCTURES, Graphs. {\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching. {\bf H.3.1}: Information Systems, INFORMATION STORAGE AND RETRIEVAL, Content Analysis and Indexing, Indexing methods.", } @Article{Bowman:1987:PMU, author = "Charles F. Bowman", title = "Pattern Matching Using Finite State Machines", journal = j-DDJ, volume = "12", number = "10", pages = "46--??", month = oct, year = "1987", CODEN = "DDJOEB", ISSN = "0888-3076", bibdate = "Thu Jan 9 09:35:43 MST 1997", bibsource = "Compendex database; http://www.ddj.com/index/author/index.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "721; 723", fjournal = "Dr. Dobb's Journal of Software Tools", journalabr = "Dr Dobb's J Software Tools", keywords = "automata theory --- Finite Automata; command finding code; computer programs; computer software --- Portability; finite state machines; pattern matching; pattern recognition; source code", pagecount = "14p between p 46 and 108", } @Article{Carpenter:1987:MPA, author = "Gail A. Carpenter and Stephen Grossberg", title = "A Massively Parallel Architecture for a Self-Organizing Neural Pattern Recognition Machine", journal = j-CVGIP, volume = "37", number = "1", pages = "54--115", month = jan, year = "1987", CODEN = "CVGPDB", ISSN = "0734-189x (print), 1557-895x (electronic)", ISSN-L = "0734-189X", bibdate = "Fri Feb 7 17:18:02 1997", bibsource = "Ai/adapt.sys.bib; Ai/Speech.bib; Compendex database; Graphics/rosenfeld/1987.bib; https://www.math.utah.edu/pub/tex/bib/cvgip.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; Math/kbmath.bib; Misc/misc.1.bib; Neural/hildebrandt.bib; Neural/Intro.theory.neural.bib; Neural/neural.1.bib; Neural/neural.5.bib", note = "CARPENTER87", abstract = "A neural network architecture for the learning of recognition categories is derived. Real-time network dynamics are completely characterized through mathematical analysis and computer simulations. The architecture self-organizes and self-stabilizes its recognition codes in response to arbitrary orderings of arbitrarily many and arbitrarily complex binary input patterns. Top-down attentional and matching mechanisms are critical in self-stabilizing the code learning process. The architecture embodies a parallel search scheme which updates itself adaptively as the learning process unfolds. After learning self-stabilizes, the search process is automatically disengaged. Thereafter input patterns directly access their recognition codes without any search. Thus recognition time does not grow as a function of code complexity. A novel input pattern can directly access a category if it shares invariant properties with the set of familiar exemplars of that category. These invariant properties emerge in the form of learned critical feature patterns, or prototypes. The architecture possesses a context-sensitive self-scaling property which enables its emergent critical feature patterns to form. They detect and remember statistically predictive configurations of featural elements which are derived from the set of all input patterns that are ever experienced. Four types of attentional process --- priming, gain control, vigilance, and intermodal competition --- are mechanistically characterized. Top-down priming and gain control are needed for code matching and self-stabilization. Attentional vigilance determines how fine the learned categories will be. If vigilance increases due to an environmental disconfirmation, then the system automatically searches for and learns finer recognition categories. A new nonlinear matching law (the $ \frac {2}{3} $ Rule) and new nonlinear associative laws (the Weber Law Rule, the Associative Decay Rule, and the Template Learning Rule) are needed to achieve these properties. All the rules describe emergent properties of parallel network interactions. The architecture circumvents the noise, saturation, capacity, orthogonality, and linear predictability constraints that limit the codes which can be stably learned by alternative recognition models.", acknowledgement = ack-nhfb, affiliation = "NEU/Boston U", affiliationaddress = "Northeastern Univ, Boston, MA, USA", annote = "A monograph describing the function and implementation of the ART model along with the equations governing its dynamics and several theorems concerning the nature of the patterns learned, and the stability of the learning model. The model consists of two layers of cells with an asymmetric network of weighted interconnections. The first layer of cells implements matching between the input signal and stored patterns. The second layer implements competition among the possible encodings for the input. It also implements a search mechanism, whereby an insufficient match with the template recalled by the initial winner of the competition causes that code to be disabled for the rest of the trial. The closeness of the required match is determined by the vigilance parameter, which is coded as a proportion of the magnitude of the input. The authors suggest that the vigilance parameter may be increased automatically in response to negative environmental feedback, but this process lies outside the scope of the model being described. The model is capable of learning stable ``critical feature'' patterns, which consist of the intersection of the (binary) feature patterns assigned to a class. The number of classes created for a given set of training patterns is controlled by the vigilance parameter (a larger vigilance parameter causes more classes to be created).", classification = "723; 921", conference = "Third Workshop on Hum and Mach Vision", equations = "168", figures = "14", fjournal = "Computer Vision, Graphics, and Image Processing", index = "ART", journal-URL = "http://www.sciencedirect.com/science/journal/0734189X", journalabr = "Comput Vision Graphics Image Process", keywords = "(image multiplicity comparison); computer simulation; interacting memory systems; massively parallel architecture; mathematical techniques --- Differential Equations; pattern recognition; perception; recognition codes; self-organizing neural pattern recognition machine", meetingaddress = "Boston, MA, USA", meetingdate = "Nov 19--21 1985", meetingdate2 = "11/19--21/85", ref = "J18", refs = "40", } @InProceedings{Chase:1987:IBT, author = "D. R. Chase", title = "An improvement to bottom-up tree pattern matching", crossref = "ACM:1987:PFA", pages = "168--177", year = "1987", bibdate = "Mon May 3 12:39:13 MDT 1999", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org:80/pubs/citations/proceedings/plan/41625/p168-chase/", acknowledgement = ack-nhfb, keywords = "algorithms; languages; theory", subject = "{\bf E.1} Data, DATA STRUCTURES, Trees. {\bf E.4} Data, CODING AND INFORMATION THEORY. {\bf F.2.2} Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching.", } @Article{Chrobak:1987:RSM, author = "Marek Chrobak and Wojciech Rytter", title = "Remarks on string-matching and one-way multihead automata", journal = j-INFO-PROC-LETT, volume = "24", number = "5", pages = "325--329", day = "16", month = mar, year = "1987", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68Q20 (68Q05 68Q25)", MRnumber = "88f:68043", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliationaddress = "Warsaw Univ, Warsaw, Pol", classification = "721; 723; C4220 (Automata theory); C4240 (Programming and algorithm theory)", corpsource = "Inst. of Inf., Warsaw Univ., Poland", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "automata theory; complexity; computational complexity; computer metatheory; multihead automata; one-way multihead automata; string-matching; theory; verification", pubcountry = "Netherlands A09", subject = "F.1.1 Theory of Computation, COMPUTATION BY ABSTRACT DEVICES, Models of Computation, Automata \\ F.1.3 Theory of Computation, COMPUTATION BY ABSTRACT DEVICES, Complexity Classes \\ F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching", treatment = "T Theoretical or Mathematical", } @Article{Coulson:1987:PNA, author = "A. F. W. Coulson and J. F. Collins and A. Lyall", title = "Protein and Nucleic Acid Sequence Database Searching: a Suitable Case for Parallel Processing", journal = j-COMP-J, volume = "30", number = "5", pages = "420--424", month = oct, year = "1987", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/30.5.420", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Tue Dec 4 14:48:23 MST 2012", bibsource = "Compendex database; http://comjnl.oxfordjournals.org/content/30/5.toc; http://www3.oup.co.uk/computer_journal/hdb/Volume_30/Issue_05/; https://www.math.utah.edu/pub/tex/bib/compj.bib; https://www.math.utah.edu/pub/tex/bib/compj1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://comjnl.oxfordjournals.org/content/30/5/420.full.pdf+html; http://www3.oup.co.uk/computer_journal/hdb/Volume_30/Issue_05/tiff/420.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_30/Issue_05/tiff/421.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_30/Issue_05/tiff/422.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_30/Issue_05/tiff/423.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_30/Issue_05/tiff/424.tif", acknowledgement = ack-nhfb, affiliation = "Univ of Edinburgh, Edinburgh, Scotl", affiliationaddress = "Univ of Edinburgh, Edinburgh, Scotl", classcodes = "A3620E (Constitution (chains and sequences)); A8715B (Structure, configuration, conformation, and active sites at the biomolecular level); C7250L (Non-bibliographic systems); C7320 (Physics and Chemistry); C7330 (Biology and medicine)", classification = "461; 722; 723; 815", corpsource = "Dept. of Molecular Biol., Edinburgh Univ., UK", fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", keywords = "biology computing; biopolymers --- Database Systems; computer programming --- Algorithms; computer systems, digital; configurations; cystic fibrosis antigen; cystic fibrosis associated antigen; DAP; database systems --- Medical Applications; distributed array processor (DAP) implementation; Drosophila vitellogenins; information retrieval; macromolecular; macromolecules; molecular biophysics; nucleic acid databases; Parallel Processing; parallel processing; pattern direction and searching; physics computing; processor-array machines; protein and nucleic acid sequence database searching; protein databases; protein sequence data; proteins; searching; sequence database; string-matching algorithms", treatment = "P Practical", } @InProceedings{Cruz:1987:GQL, author = "Isabel F. Cruz and Alberto O. Mendelzon and Peter T. Wood", title = "A graphical query language supporting recursion", crossref = "Dayal:1987:PAC", pages = "323--330", year = "1987", bibdate = "Wed Oct 25 12:40:13 MDT 2000", bibsource = "http://www.acm.org/pubs/contents/proceedings/series/sigmod_pods/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/articles/proceedings/mod/38713/p323-cruz/p323-cruz.pdf; http://www.acm.org/pubs/citations/proceedings/mod/38713/p323-cruz/", abstract = "We define a language G for querying data represented as a labeled graph {\em G}. By considering {$G$} as a relation, this graphical query language can be viewed as a relational query language, and its expressive power can be compared to that of other relational query languages. We do not propose G as an alternative to general purpose relational query languages, but rather as a complementary language in which recursive queries are simple to formulate. The user is aided in this formulation by means of a graphical interface. The provision of regular expressions in G allows recursive queries more general than transitive closure to be posed, although the language is not as powerful as those based on function-free Horn clauses. However, we hope to be able to exploit well-known graph algorithms in evaluating recursive queries efficiently, a topic which has received widespread attention recently.", acknowledgement = ack-nhfb, generalterms = "Languages; Theory", subject = "Information Systems --- Database Management --- Languages (H.2.3); Information Systems --- Database Management --- Logical Design (H.2.1): {\bf Data models}; Mathematics of Computing --- Discrete Mathematics --- Graph Theory (G.2.2): {\bf Path and circuit problems}; Theory of Computation --- Mathematical Logic and Formal Languages --- Mathematical Logic (F.4.1): {\bf Recursive function theory}", } @Article{Galil:1987:PSM, author = "Z. Galil and R. Giancarlo", title = "Parallel string matching with k mismatches", journal = j-THEOR-COMP-SCI, volume = "51", number = "3", pages = "341--348", month = "????", year = "1987", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:29:49 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1985.bib", acknowledgement = ack-nhfb, classification = "C4240 (Programming and algorithm theory)", corpsource = "Dept. of Comput. Sci., Columbia Univ., New York, NY, USA", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "computational complexity; fast integer multiplication algorithms; k mismatches; parallel algorithms; string matching", pubcountry = "Netherlands A08", treatment = "T Theoretical or Mathematical", } @Article{Gueriguian:1987:BRB, author = "John L. Gueriguian", title = "Book Review: {{\booktitle{Bark' Galianosi: The Greek-Armenian Dictionary to Galen}} by John A. C. Greppin}", journal = j-ISIS, volume = "78", number = "2", pages = "300--301", month = jun, year = "1987", CODEN = "ISISA4", ISSN = "0021-1753 (print), 1545-6994 (electronic)", ISSN-L = "0021-1753", bibdate = "Tue Jul 30 21:23:27 MDT 2013", bibsource = "http://www.jstor.org/action/showPublication?journalCode=isis; http://www.jstor.org/stable/i211183; https://www.math.utah.edu/pub/tex/bib/isis1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.jstor.org/stable/231579", acknowledgement = ack-nhfb, fjournal = "Isis", journal-URL = "http://www.jstor.org/journal/isis", } @Article{Held:1987:MNH, author = "James P. Held and John V. Carlis", title = "{MATCH}: a new high-level relational operator for pattern matching", journal = j-CACM, volume = "30", number = "1", pages = "62--75", month = jan, year = "1987", CODEN = "CACMA2", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Sat Apr 06 08:06:22 1996", bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib; http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/cacm1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0001-0782/7889.html", acknowledgement = ack-nhfb, annote = "MATCH is used to do pattern matching for complex stored patterns. This is a high level language expansion of HAS, which is Carlis' extension of the DIVIDE operator. MATCH requires a change in the data on which it operates, in that it incorporates the operators of relational algebra into the relations.", fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", keywords = "algorithms; design; languages; theory", review = "ACM CR 8707-0595", subject = "{\bf H.2.1}: Information Systems, DATABASE MANAGEMENT, Logical Design, Data models. {\bf H.2.3}: Information Systems, DATABASE MANAGEMENT, Languages, MATCH. {\bf I.5.m}: Computing Methodologies, PATTERN RECOGNITION, Miscellaneous. {\bf I.2.5}: Computing Methodologies, ARTIFICIAL INTELLIGENCE, Programming Languages and Software. {\bf I.2.1}: Computing Methodologies, ARTIFICIAL INTELLIGENCE, Applications and Expert Systems. {\bf H.3.3}: Information Systems, INFORMATION STORAGE AND RETRIEVAL, Information Search and Retrieval.", } @Article{Jpolhkedrzejowicz:1987:NSC, author = "Joanna J{\polhk{e}}drzejowicz", title = "Nesting of shuffle closure is important", journal = j-INFO-PROC-LETT, volume = "25", number = "6", pages = "363--367", day = "26", month = jul, year = "1987", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68Q45 (68Q90)", MRnumber = "88j:68086", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "721; C4210 (Formal logic)", corpsource = "Inst. of Math., Gdansk Univ., Poland", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "automata theory; extended regular languages; formal languages; languages; shuffle closure; shuffle expressions; shuffle language; shuffle languages; shuffle operator; subexpression properties; theory; verification", pubcountry = "Netherlands A02", subject = "F.4.3 Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Formal Languages, Classes defined by grammars or automata \\ F.4.3 Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Formal Languages, Algebraic language theory", treatment = "T Theoretical or Mathematical", } @Article{Karlin:1987:ACR, author = "Anna R. Karlin and Howard W. Trickey and Jeffrey D. Ullman", title = "Algorithms for the Compilation of Regular Expressions into {PLAs}", journal = j-ALGORITHMICA, volume = "2", number = "3", pages = "283--314", year = "1987", CODEN = "ALGOEJ", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", MRclass = "68Q50 (68Q35)", MRnumber = "MR911953", bibdate = "Mon Jan 22 05:30:30 MST 2001", bibsource = "dblp-journals-algorithmica.bib; http://dblp.uni-trier.de/db/journals/algorithmica/algorithmica2.html#KarlinTU87; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/index-table-a.html#algorithmica; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", fjournal = "Algorithmica. An International Journal in Computer Science", journal-URL = "http://link.springer.com/journal/453", oldlabel = "KarlinTU87", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/algorithmica/KarlinTU87", } @Article{Karp:1987:ERP, author = "Richard M. Karp and Michael O. Rabin", title = "Efficient Randomized Pattern-Matching Algorithms", journal = j-IBM-JRD, volume = "31", number = "2", pages = "249--260", month = mar, year = "1987", CODEN = "IBMJAE", ISSN = "0018-8646 (print), 2151-8556 (electronic)", ISSN-L = "0018-8646", MRclass = "68Q20", MRnumber = "89g:68021", bibdate = "Mon Feb 12 09:58:53 MST 2001", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/ibmjrd.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", ZMnumber = "653.68054", abstract = "We present randomized algorithms to solve the following string-matching problem and some of its generalizations: Given a string X of length n (the pattern) and a string Y (the text), find the first occurrence of X as a consecutive block within Y. The algorithms represent strings of length n by much shorter strings called fingerprints, and achieve their efficiency by manipulating fingerprints instead of longer strings. The algorithms require a constant number of storage locations, and essentially run in real time. They are conceptually simple and easy to implement. The method readily generalizes to higher-dimensional pattern-matching problems.", acknowledgement = ack-nhfb, affiliation = "Univ of California, Berkeley, CA, USA", affiliationaddress = "Univ of California, Berkeley, CA, USA", classcodes = "C6130D (Document processing techniques)", classification = "723; 921", conference = "Math and Comput", corpsource = "California Univ., Berkeley, CA, USA", fjournal = "IBM Journal of Research and Development", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5288520", journalabr = "IBM J Res Dev", keywords = "Algorithms; computer programming; computerised pattern recognition; consecutive block; fingerprint functions; fingerprints; mathematical techniques --- Algorithms; pattern recognition; pattern-matching; problem; randomized pattern-matching algorithms; storage locations; string-matching; word processing", meetingaddress = "Yorktown Heights, NY, USA", meetingdate = "Dec 1985", meetingdate2 = "12/85", treatment = "P Practical", } @Article{Kovaleski:1987:AIS, author = "A. Kovaleski and S. Ratheal and F. Lombardi", title = "An architecture and an interconnection scheme for time-sliced buses", journal = j-J-PAR-DIST-COMP, volume = "4", number = "2", pages = "209--229", month = apr, year = "1987", CODEN = "JPDCER", ISSN = "0743-7315 (print), 1096-0848 (electronic)", ISSN-L = "0743-7315", bibdate = "Sat Apr 12 19:06:31 MDT 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/jpardistcomp.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "722; 723; C5220 (Computer architecture); C5470 (Performance evaluation and testing); C7430 (Computer engineering)", fjournal = "Journal of Parallel and Distributed Computing", journal-URL = "http://www.sciencedirect.com/science/journal/07437315", journalabr = "J Parallel Distrib Comput", keywords = "architecture; bandwidths; bus network; communication patterns; computer architecture; computer systems, digital; evaluation; image processing; interbus links; interbus links of matching; interconnection scheme; local communications; machine simulation; matching bandwidths; multiprocessor interconnection; networks; Performance; performance; performance evaluation; sliced buses; time-; time-sliced buses; virtual machines", treatment = "P Practical; X Experimental", } @Article{Krishnapuram:1987:HST, author = "Raghuram Krishnapuram and David Casasent", title = "{Hough} Space Transformations for Discrimination and Distortion Estimation", journal = j-CVGIP, volume = "38", number = "3", pages = "299--316", month = jun, year = "1987", CODEN = "CVGPDB", ISSN = "0734-189x (print), 1557-895x (electronic)", ISSN-L = "0734-189X", bibdate = "Thu Feb 6 18:44:11 MST 1997", bibsource = "Compendex database; Graphics/rosenfeld/1987.bib; https://www.math.utah.edu/pub/tex/bib/cvgip.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "CMU", affiliationaddress = "Carnegie-Mellon Univ, Pittsburgh, PA, USA", classification = "723", fjournal = "Computer Vision, Graphics, and Image Processing", journal-URL = "http://www.sciencedirect.com/science/journal/0734189X", journalabr = "Comput Vision Graphics Image Process", keywords = "(image transformation, mathematics); aircraft imagery; data processing --- Algorithms; discrimination; distortion estimation; Hough space transformations; image processing; mathematical transformations; pattern recognition --- Applications; template matching", } @Article{Landau:1987:ESM, author = "Gad M. Landau and Uzi Vishkin and Ruth Nussinov", title = "An efficient string matching algorithm with {$K$} substitutions for nucleotide and amino acid sequences", journal = j-J-THEOR-BIOL, volume = "126", number = "4", pages = "483--490", day = "21", month = jun, year = "1987", CODEN = "JTBIAP", DOI = "https://doi.org/10.1016/S0022-5193(87)80153-4", ISSN = "0022-5193 (print), 1095-8541 (electronic)", ISSN-L = "0022-5193", bibdate = "Sat Jun 1 15:22:16 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jtheorbiol1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0022519387801534", acknowledgement = ack-nhfb, fjournal = "Journal of Theoretical Biology", journal-URL = "http://www.sciencedirect.com/science/journal/00225193", } @Article{Peleg:1987:CPS, author = "D. Peleg", title = "Concurrent program schemes and their logics", journal = j-THEOR-COMP-SCI, volume = "55", number = "1", pages = "1--45", month = nov, year = "1987", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:29:49 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1985.bib", acknowledgement = ack-nhfb, classification = "C4210 (Formal logic); C6150J (Operating systems)", corpsource = "Dept. of Appl. Math., Weizmann Inst. of Sci., Rehovot, Israel", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "axiomatization; Boolean-variable; concurrent program schemes; decidability; formal languages; formal logic; goto schemes; grammars; logics; multiprocessing programs; propositional levels; regular expressions; structured schemes; trees", pubcountry = "Netherlands A01", treatment = "T Theoretical or Mathematical", } @Article{Pike:1987:TES, author = "Rob Pike", title = "The Text Editor {\tt sam}", journal = j-SPE, volume = "17", number = "11", pages = "813--845", month = nov, year = "1987", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.4380171105", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.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 = "30 Oct 2006", } @Article{Robison:1987:IFP, author = "A. D. Robison", title = "The {Illinois} functional programming interpreter", journal = j-SIGPLAN, volume = "22", number = "7", pages = "64--73", month = jul, year = "1987", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/960114.29657", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 16:23:52 MDT 2008", bibsource = "http://portal.acm.org/; http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-SIGPLAN, URL = "http://www.acm.org:80/pubs/citations/proceedings/plan/29650/p64-robison/", abstract = "The Illinois Functional Programming (IFP) language is a modified version of Backus' FP\1. IFP has the same side-effect free combinator style of Backus FP, while introducing an ALGOL-like syntax and structure. While IFP superficially appears to be an inefficient language to execute, its simplicity makes it quick to interpret. Functions are always monadic and there are no variable or parameter names. Furthermore, combinator-style languages allow common housekeeping operations to be condensed into efficient machine-language primitives. By reference-counting, the interpreter can often convert call-by-value to destructive call-by-reference while preserving referential transparency. The interpreter has an expression cache which can improve the asymptotic time of some combinatorial functions. IFP function definitions are stored as UNIX files, so much of UNIX's functionality is immediately borrowed into the IFP environment, e.g. ls, more, and grep. Benchmarks indicate that IFP is an order of magnitude faster than Berkeley FP[2], and is competitive with interpreted von-Neumann languages such as BASIC. The interpreter can parallel process on shared-memory multiprocessors, e.g. the Encore Multimax. IFP currently runs on machines as varied as the IBM PC, VAX, and CRAY-XMP.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "https://dl.acm.org/loi/sigplan", keywords = "design; languages", subject = "{\bf D.3.4} Software, PROGRAMMING LANGUAGES, Processors, Interpreters. {\bf D.3.2} Software, PROGRAMMING LANGUAGES, Language Classifications, FP. {\bf D.3.3} Software, PROGRAMMING LANGUAGES, Language Constructs and Features, Data types and structures.", } @Article{Sykora:1987:TCA, author = "O. S{\'y}kora and I. V{\v{r}}{\soft{t}}o", title = "Tight chip area lower bounds for string matching", journal = j-INFO-PROC-LETT, volume = "26", number = "3", pages = "117--119", day = "23", month = nov, year = "1987", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68Q35", MRnumber = "89k:68079", MRreviewer = "Christoph Meinel", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliationaddress = "Slovak Acad of Sciences, Bratislava, Czech", classification = "714; 721; 723; 921; B0250 (Combinatorial mathematics); B2570 (Semiconductor integrated circuits); C4240 (Programming and algorithm theory)", corpsource = "Inst. of Tech. Cybern., Slovak Acad. of Sci., Bratislava, Czechoslovakia", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Boolean functions; chip area; communication graph; computational complexity; computer metatheory --- Boolean Functions; graph theory; integrated circuits, VLSI; logic circuits --- Theory; mathematical techniques --- Graph Theory; string matching; Theory; theory; tight lower bounds; verification; VLSI; VLSI circuit", pubcountry = "Netherlands A02", subject = "F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching \\ B.7.1 Hardware, INTEGRATED CIRCUITS, Types and Design Styles, VLSI (very large scale integration)", treatment = "T Theoretical or Mathematical", } @Article{VanBiljon:1987:RAP, author = "W. R. {Van Biljon} and D. A. Sewry and M. A. Mulders", title = "Register Allocation in a Pattern Matching Code Generator", journal = j-SPE, volume = "17", number = "8", pages = "521--531", month = aug, year = "1987", CODEN = "SPEXBL", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", keywords = "algorithms; performance", review = "ACM CR 8808-0608", subject = "D.3.4 Software, PROGRAMMING LANGUAGES, Processors, Compilers \\ F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching \\ D.4.2 Software, OPERATING SYSTEMS, Storage Management, Allocation/deallocation strategies \\ B.5.1 Hardware, REGISTER-TRANSFER-LEVEL IMPLEMENTATION, Design", } @InProceedings{Wadler:1987:VWP, author = "P. Wadler", title = "{Views}: a way for pattern matching to cohabit with data abstraction", crossref = "ACM:1987:PFA", pages = "307--313", year = "1987", bibdate = "Mon May 3 12:39:13 MDT 1999", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org:80/pubs/citations/proceedings/plan/41625/p307-wadler/", acknowledgement = ack-nhfb, keywords = "algorithms; languages; theory", subject = "{\bf F.2.2} Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching. {\bf F.3.3} Theory of Computation, LOGICS AND MEANINGS OF PROGRAMS, Studies of Program Constructs, Type structure. {\bf E.2} Data, DATA STORAGE REPRESENTATIONS. {\bf D.3.2} Software, PROGRAMMING LANGUAGES, Language Classifications, Applicative (functional) languages. {\bf D.3.3} Software, PROGRAMMING LANGUAGES, Language Constructs and Features, Abstract data types.", } @Misc{Woods:1987:E, author = "J. A. Woods", title = "{\tt egrep}", howpublished = "Usenet netnews group {\tt net.unix}", month = mar, year = "1987", bibdate = "Sat Sep 02 14:34:18 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, remark = "See also \cite{Woods:1986:MPB}.", } @Article{Zaki:1987:FDA, author = "M. Zaki and Al. H. Albarhamtoshy", title = "Formal Design of an {Arabic} Text Formatter for Microcomputers", journal = j-COMP-LANGS, volume = "12", number = "2", pages = "123--143", month = "????", year = "1987", CODEN = "COLADA", ISSN = "0096-0551 (print), 1873-6742 (electronic)", ISSN-L = "0096-0551", bibdate = "Tue Mar 25 14:04:06 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/complngs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/typeset.bib", acknowledgement = ack-nhfb, affiliationaddress = "Al-Azhar Univ, Cairo, Egypt", classcodes = "C4220 (Automata theory); C4240 (Programming and algorithm theory); C6130D (Document processing techniques)", classification = "723", corpsource = "Dept. of Comput. and Syst. Eng., Al-Azhar Univ., Cairo, Egypt", fjournal = "Computer Languages", journal-URL = "http://www.sciencedirect.com/science/journal/00960551", journalabr = "Comput Lang", keywords = "Arabic characters; Arabic letter; Arabic text; Arabic text formatter; automata; character generator; character sets; computer software; data processing; deterministic automata; deterministic finite; finite automata; keyboard; nondeterministic finite automata; regular expressions; states minimization; symbol format; text editing; text formatter; transition rules; Word Processing; word processing; Word Processing", treatment = "P Practical", } @Article{Carroll:1988:RBP, author = "David M. Carroll and Christine A. Pogue and Peter Willett", title = "Research: Bibliographic pattern matching using the {ICL Distributed Array Processor}", journal = j-J-AM-SOC-INF-SCI, volume = "39", number = "6", pages = "390--399", month = nov, year = "1988", CODEN = "AISJB6", DOI = "https://doi.org/10.1002/(SICI)1097-4571(198811)39:6<390::AID-ASI2>3.0.CO%3B2-N", ISSN = "0002-8231 (print), 1097-4571 (electronic)", ISSN-L = "0002-8231", bibdate = "Fri Sep 11 09:03:34 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/jasis.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Journal of the American Society for Information Science", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)2330-1643", onlinedate = "26 May 2007", } @Article{Casanova:1988:SPM, author = "Marco A. Casanova and Antonio L. Furtado", title = "String pattern-matching in {Prolog}", journal = j-COMP-LANGS, volume = "13", number = "3-4", pages = "149--170", month = "????", year = "1988", CODEN = "COLADA", ISSN = "0096-0551 (print), 1873-6742 (electronic)", ISSN-L = "0096-0551", bibdate = "Tue Mar 25 14:04:06 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/complngs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliationaddress = "Rio de Janeiro, Braz", classcodes = "C6110 (Systems analysis and programming); C6130 (Data handling techniques); C4210 (Formal logic)", classification = "721; 723", corpsource = "Rio Sci. Center-IBM Brasil, Rio de Janeiro, Brazil", fjournal = "Computer Languages", journal-URL = "http://www.sciencedirect.com/science/journal/00960551", journalabr = "Comput Lang", keywords = "Automata Theory--Grammars; Computer Metatheory--Programming Theory; Computer Programming Languages; data handling; grammars; handling; logic programming; Logic Programming; pattern-matching; Prolog; PROLOG; Prolog Programs; SNOBOL 4; string; String Pattern Matching; String Processing; Two Level Grammars; two-level grammars", treatment = "P Practical", } @Article{Edmiston:1988:PPB, author = "Elizabeth W. Edmiston and Nolan G. Core and Joel H. Saltz and Roger M. Smith", title = "Parallel processing of biological sequence comparison algorithms", journal = j-INT-J-PARALLEL-PROG, volume = "17", number = "3", pages = "259--275", month = jun, year = "1988", CODEN = "IJPPE5", ISSN = "0885-7458 (print), 1573-7640 (electronic)", ISSN-L = "0885-7458", MRclass = "92A12", MRnumber = "999 309", bibdate = "Sat Apr 26 13:44:09 MDT 1997", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0885-7458&volume=17&issue=3; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C4240 (Programming and algorithm theory); C5440 (Multiprocessor systems and techniques); C5470 (Performance evaluation and testing); C7330 (Biology and medicine)", corpsource = "Dept. of Comput. Sci., Duke Univ., Durham, NC, USA", fjournal = "International Journal of Parallel Programming", journal-URL = "http://link.springer.com/journal/10766", keywords = "biological sequence comparison algorithms; biology computing; CM-I; Connection Machine; DNA; homology; Intel iPSC/1 hypercube; molecular structure; parallel algorithms; parallel machines; parallel processing; performance evaluation; protein; string matching", treatment = "T Theoretical or Mathematical", } @Article{Ehrenfeucht:1988:NDM, author = "A. Ehrenfeucht and D. Haussler", title = "A new distance metric on strings computable in linear time", journal = j-DISCRETE-APPL-MATH, volume = "20", number = "3", pages = "191--203", month = jul, year = "1988", CODEN = "DAMADU", ISSN = "0166-218X (print), 1872-6771 (electronic)", ISSN-L = "0166-218X", bibdate = "Mon Feb 05 13:32:27 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/spell.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Discrete Applied Mathematics", journal-URL = "http://www.sciencedirect.com/science/journal/0166218X", keywords = "documentation; languages; measurement; theory; verification", subject = "F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching \\ I.7.1 Computing Methodologies, TEXT PROCESSING, Text Editing, Spelling \\ G.2.m Mathematics of Computing, DISCRETE MATHEMATICS, Miscellaneous", } @Article{Eilam-Tzoreff:1988:MPS, author = "Tali Eilam-Tzoreff and Uzi Vishkin", title = "Matching patterns in strings subject to multi-linear transformations", journal = j-THEOR-COMP-SCI, volume = "60", number = "3", pages = "231--254", month = dec, year = "1988", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:29:49 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1985.bib", acknowledgement = ack-nhfb, affiliation = "Tel Aviv Univ", affiliationaddress = "Tel Aviv, Isr", classification = "723; C4200 (Computer theory)", corpsource = "Dept. of Comput. Sci., Sch. of Math. Sci., Tel Aviv Univ., Israel", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", journalabr = "Theor Comput Sci", keywords = "Algorithms; computation theory; Computer Metatheory; Computer Programming; Minimum Distance Problems; multi-linear transformations; Multilinear Transformations; pattern matching; Pattern Matching; pattern recognition; strings; Strings of Real Numbers", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Flaherty:1988:STM, author = "Terry Flaherty", title = "A simple technique to motivate structured programming", journal = j-SIGCSE, volume = "20", number = "1", pages = "153--155", month = feb, year = "1988", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/52965.53002", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sat Nov 17 18:57:05 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigcse1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Programs with only sequence, selection, and iteration control structures (structured programs) are more understandable and changeable than programs with unrestricted control structures (flowchart programs). However, flowcharts are intuitive, simple, and easy to follow step by step. The transition from teaching general flowcharts to structured ones is usually made by postulating the standard structured flowchart patterns without much justification. The present method establishes the correspondence between flowcharts and structured programs via sets of computations. The student examines a set of computations of a flowchart program and describes the general structure with a regular expression. A structured program that corresponds to this regular expression is constructed. In this way, the student is led to (1) see the difference between program and computation, (2) see how ``structure'' arises, (3) see that a structured program is one whose textual structure is identical to the structural description of its computations, (4) appreciate the cognitive simplicity of structure descriptions versus flowcharts.", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", } @Article{Greenwood:1988:VSR, author = "S. R. Greenwood", title = "{VAX SCAN}: rule-based text processing software", journal = j-DEC-TECH-J, volume = "1", number = "6", pages = "40--50", month = feb, year = "1988", CODEN = "DTJOEL", ISSN = "0898-901X", bibdate = "Thu Mar 20 18:15:43 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classcodes = "C6115 (Programming support); C6130D (Document processing techniques)", corpsource = "Digital Equipment Corp., Hudson, MA, USA", fjournal = "Digital Technical Journal", keywords = "character recognition; DEC; DEC computers; editing; pattern-matching; procedural language; rule-based software; software productivity; software tools; text; text patterns; text processing; text recognition; VAX SCAN; word processing", treatment = "P Practical", } @Article{Hamilton:1988:LPE, author = "Eric Hamilton", title = "Literate Programming\emdash{}Expanding Generalized Regular Expressions", journal = j-CACM, volume = "31", number = "12", pages = "1376--1385", month = dec, year = "1988", CODEN = "CACMA2", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Wed Jan 17 11:48:56 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/litprog.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", } @InProceedings{Hume:1988:GW, author = "Andrew Hume", editor = "????", booktitle = "1988 Spring (London) {EUUG} Conference Proceedings", title = "{{\tt Grep}} wars", publisher = "????", address = "????", pages = "237--245", year = "1988", bibdate = "Sat Sep 02 14:50:57 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Hume:1988:TTG, author = "Andrew Hume", title = "A Tale of Two Greps", journal = j-SPE, volume = "18", number = "11", pages = "1063--1072", month = nov, year = "1988", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.4380181105", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.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 = "30 Oct 2006", received = "11 January 1988", remark = "The first paragraph describes important history: ``In the beginning, Ken Thompson wrote the searching tool {\tt grep}. It took a regular expression and file names as arguments and printed from those files lines that matched the regular expression. In 1975, just after the release of the Sixth Edition of the UNIX system, Al Aho decided to put theory about finite state automata into practice and wrote {\tt egrep} over a weekend. {\tt Egrep} supported full regular expressions (including alternation and grouping, which were missing from {\tt grep}) and used a deterministic finite automaton rather than {\tt grep}'s nondeterministic finite automaton. {\tt Egrep} was about twice as fast as {\tt grep} for simple character searches but was slower for complex search patterns due to the high cost of building the state machine that recognized the patterns. {\tt Fgrep}, specialized for the case of many alternate literal strings, was written in the same weekend.''", revised = "26 May 1988", } @Article{Itano:1988:IPM, author = "Kozo Itano and Yutaka Sato and Hidemi Hirai and Tomoyoshi Yamagata", title = "An incremental pattern matching algorithm for the pipelined lexical scanner", journal = j-INFO-PROC-LETT, volume = "27", number = "5", pages = "253--258", day = "28", month = apr, year = "1988", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliationaddress = "Univ of Tsukuba, Sakura-mura, Jpn", classification = "723; C6120 (File organisation); C6150C (Compilers, interpreters and other processors)", corpsource = "Inst. of Inf. Sci. and Electron., Tsukuba Univ., Ibaraki, Japan", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Algorithms; algorithms; assemblers; C programs; compact binary form; compilers; computer programming; computer programming languages --- Pascal; computer systems, digital --- Parallel Processing; file organisation; hashing; incremental pattern matching algorithm; interpreters; language processors; languages; lexical scanning algorithm; measurement; Pascal programs; performance; pipeline processing; pipelined lexical scanner; program assemblers; program compilers; program interpreters; string compaction; theory; variable-length character strings", pubcountry = "Netherlands A06", subject = "D.3.4 Software, PROGRAMMING LANGUAGES, Processors \\ F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching", treatment = "P Practical", } @Article{Landau:1988:FSM, author = "Gad M. Landau and Uzi Vishkin", title = "Fast string matching with $k$ differences", journal = j-J-COMP-SYS-SCI, volume = "37", number = "1", pages = "63--78", month = aug, year = "1988", CODEN = "JCSSBM", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:26:09 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/0022000088900451", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @InProceedings{Lee:1988:HSC, author = "Peizong Lee and Z. M. Kedem", title = "On high-speed computing with a programmable linear array", crossref = "IEEE:1988:PSN", volume = "1", pages = "425--432", year = "1988", bibdate = "Thu Apr 16 07:55:03 MDT 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "B1265B (Logic circuits); C5120 (Logic and switching circuits)C4290 (Other computer theory)", corpsource = "Courant Inst. of Math. Sci., New York Univ., NY, USA", keywords = "algebraic computations; arbitrary depth; cellular arrays; database operations; high-speed computing; image processing; logic arrays; matrix arithmetic; nested FOT- loops; parallel algorithms; pattern matching; programmable linear array; sequential algorithms; signal processing; sorting; systolic array; transitive closure", sponsororg = "IEEE; ACM", treatment = "P Practical", } @Article{Liu:1988:SPM, author = "Ken-Chih Liu", title = "On String Pattern Matching: a Quantitative Analysis and a Proposal", journal = j-COMP-LANGS, volume = "13", number = "1", pages = "23--29", month = "????", year = "1988", CODEN = "COLADA", ISSN = "0096-0551 (print), 1873-6742 (electronic)", ISSN-L = "0096-0551", bibdate = "Tue Mar 25 14:04:06 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/complngs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliationaddress = "Iowa State Univ, Ames, IA, USA", classcodes = "C4240 (Programming and algorithm theory); C6110 (Systems analysis and programming); C6130 (Data handling techniques); C6140D (High level languages)", classification = "723", corpsource = "Dept. of Comput. Sci., Iowa State Univ., Ames, IA, USA", fjournal = "Computer Languages", journal-URL = "http://www.sciencedirect.com/science/journal/00960551", journalabr = "Comput Lang", keywords = "Algorithms; computer programming; computer programming languages; data handling; Gimpel's model; high level languages; pattern matching; programming; programming theory; Snobol4 pattern; SNOBOL4 pattern matching algorithm; special case processing; string pattern matching; string processing languages design; time complexity", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Mitchell:1988:OHS, author = "Joan L. Mitchell and William B. Pennebaker", title = "Optimal hardware and software arithmetic coding procedures for the {Q-Coder}", journal = j-IBM-JRD, volume = "32", number = "6", pages = "727--736", month = nov, year = "1988", CODEN = "IBMJAE", ISSN = "0018-8646 (print), 2151-8556 (electronic)", ISSN-L = "0018-8646", bibdate = "Tue Mar 25 14:26:59 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/ibmjrd.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The Q-Coder is an important new development in arithmetic coding. It combines a simple but efficient arithmetic approximation for the multiply operation, a new formalism which yields optimally efficient hardware and software implementations, and a new form of probability estimation. This paper describes the concepts which allow different, yet compatible, optimal software and hardware implementations. In prior binary arithmetic coding algorithms, efficient hardware implementations favored ordering the more probable symbol (MPS) above the less probable symbol (LPS) in the current probability interval. Efficient software implementation required the inverse ordering convention. It is shown that optimal hardware and software encoders and decoders can be achieved with either symbol ordering. Although optimal implementation for a given symbol ordering requires the hardware and software code strings to point to opposite ends of the probability interval, either code string can be converted to match the other exactly. A code string generated using one symbol-ordering convention can be inverted so that it exactly matches the code string generated with the inverse convention. Even where bit stuffing is used to block carry propagation, the code strings can be kept identical.", acknowledgement = ack-nhfb, affiliation = "IBM Res. Div., Thomas J. Watson Res. Center", affiliationaddress = "Yorktown Heights, NY, USA", classcodes = "B6120B (Codes); B6110 (Information theory); C5230 (Digital arithmetic methods); C1260 (Information theory); C4220 (Automata theory)", classification = "722; 723; 921; 922; B6110 (Information theory); B6120B (Codes); C1260 (Information theory); C4220 (Automata theory); C5230 (Digital arithmetic methods)", corpsource = "IBM Res. Div., Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", fjournal = "IBM Journal of Research and Development", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5288520", journalabr = "IBM J Res Dev", keywords = "approximation; arithmetic; Arithmetic approximation; arithmetic coding; Arithmetic coding; Arithmetic Coding; Codes, Symbolic; Coding Algorithms; Computer Hardware; Computer Software; Decoders; decoders; digital arithmetic; encoding; estimation; finite automata; Formalism; formalism; Hardware coding; hardware coding; hardware implementations; Hardware implementations; information; inverse; Inverse ordering convention; Less probable symbol; less probable symbol; Mathematical Techniques; more probable symbol; More probable symbol; Multiply operation; multiply operation; Multiply Operation; ordering convention; Performance; probability; Probability; Probability estimation; Probability Interval; Q-Coder; Q-coder; software implementation; Software implementation; Symbol Ordering; theory", thesaurus = "Digital arithmetic; Encoding; Finite automata; Information theory; Probability", treatment = "T Theoretical or Mathematical", } @Article{Owolabi:1988:FAS, author = "O. Owolabi and D. R. McGregor", title = "Fast Approximate String Matching", journal = j-SPE, volume = "18", number = "4", pages = "387--393", month = apr, year = "1988", CODEN = "SPEXBL", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", } @Article{Purushothaman:1988:RAS, author = "S. Purushothaman and P. A. Subrahmanyam", title = "Reasoning about systolic algorithms", journal = j-J-PAR-DIST-COMP, volume = "5", number = "6", pages = "669--699", month = dec, year = "1988", CODEN = "JPDCER", ISSN = "0743-7315 (print), 1096-0848 (electronic)", bibdate = "Sat Apr 12 19:06:31 MDT 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/jpardistcomp.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliationaddress = "University Park, PA, USA", classification = "713; 714; 721; 722; 723; 921; C4240 (Programming and algorithm theory)", corpsource = "Dept. of Comput. Sci., Pennsylvania State Univ., University Park, PA, USA", fjournal = "Journal of Parallel and Distributed Computing", journal-URL = "http://www.sciencedirect.com/science/journal/07437315/", journalabr = "J Parallel Distrib Comput", keywords = "algorithm theory; Algorithms; Automata Theory; Boyer--Moore Theorem Prover; Boyer--Moore theorem prover; Computer Architecture; Computer Programming; correctness; Correctness Proof; equations; Integrated Circuits, VLSI; Mathematical Techniques; mechanical correctness proof; parallel algorithms; Recursive Equations; recursive equations; recursive functions; Systolic Algorithms; systolic algorithms; theorem proving; Uniform; uniform recurrence", treatment = "T Theoretical or Mathematical", } @Article{Ratcliff:1988:PMG, author = "John W. Ratcliff and David E. Metzener", title = "Pattern Matching: The Gestalt Approach", journal = j-DDJ, volume = "13", number = "7", pages = "46, 47, 59--51, 68--72", month = jul, year = "1988", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Tue Sep 03 09:18:35 1996", bibsource = "http://www.ddj.com/index/author/index.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", } @Article{Robertson:1988:TTW, author = "Edmund F. Robertson", title = "{Tietze} Transformations with Weighted Substring Search", journal = j-J-SYMBOLIC-COMP, volume = "6", number = "1", pages = "59--64", month = aug, year = "1988", CODEN = "JSYCEH", ISSN = "0747-7171 (print), 1095-855X (electronic)", ISSN-L = "0747-7171", MRclass = "68Q40 (20F05)", MRnumber = "89h:68076", bibdate = "Sat May 10 15:54:09 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/jsymcomp.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classcodes = "B0250 (Combinatorial mathematics); C1160 (Combinatorial mathematics)", corpsource = "Math. Inst., St. Andrews, UK", fjournal = "Journal of Symbolic Computation", journal-URL = "http://www.sciencedirect.com/science/journal/07477171/", keywords = "computer program; elimination; group; group theory; Groups; length function; presentation; routing; Tietze transformations; weighted substring search", treatment = "T Theoretical or Mathematical", } @Article{Rus:1988:PLP, author = "T. Rus", title = "Parsing languages by pattern matching", journal = j-IEEE-TRANS-SOFTW-ENG, volume = "14", number = "4", pages = "498--511", month = apr, year = "1988", CODEN = "IESEDJ", DOI = "https://doi.org/10.1109/32.4672", ISSN = "0098-5589 (print), 1939-3520 (electronic)", ISSN-L = "0098-5589", bibdate = "Thu Feb 1 08:07:37 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=4672", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Software Engineering", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32", } @Article{Schaback:1988:ESB, author = "R. Schaback", title = "On the expected sublinearity of the {Boyer--Moore} algorithm", journal = j-SIAM-J-COMPUT, volume = "17", number = "4", pages = "648--658", month = aug, year = "1988", CODEN = "SMJCAT", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68Q25 (68P10 68T10)", MRnumber = "89h:68070", MRreviewer = "Dominique Gouyou-Beauchamps", bibdate = "Mon Nov 29 11:01:07 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/17/4; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @Article{Schnoebelen:1988:RCP, author = "Ph. Schnoebelen", title = "Refined compilation of pattern-matching for functional languages", journal = j-SCI-COMPUT-PROGRAM, volume = "11", number = "2", pages = "133--159", month = dec, year = "1988", CODEN = "SCPGD4", ISSN = "0167-6423 (print), 1872-7964 (electronic)", ISSN-L = "0167-6423", MRclass = "68N15 (68N20 68Q50)", MRnumber = "89k:68011", bibdate = "Sun Oct 10 09:12:09 MDT 1999", bibsource = "Compendex database; http://www.sciencedirect.com/science/journal/01676423; https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", acknowledgement = ack-nhfb, affiliation = "Lab d'Informatique Fondamentale et d'Intelligence Artificielle", affiliationaddress = "Grenoble, Fr", classification = "723", fjournal = "Science of Computer Programming", journal-URL = "http://www.sciencedirect.com/science/journal/01676423", journalabr = "Sci Comput Program", keywords = "Compilation Algorithm; Compiling Functions; Computer Metatheory; Computer Operating Systems --- Program Compilers; Computer Programming; Computer Programming Languages; Functional Languages; Pattern Matching", } @Article{Shankar:1988:MPC, author = "N. Shankar", title = "A Mechanical Proof of the {Church--Rosser} Theorem", journal = j-J-ACM, volume = "35", number = "3", pages = "475--522", month = jul, year = "1988", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Wed Jan 15 18:12:53 MST 1997", bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Misc/IMMD_IV.bib; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0004-5411/44484.html", abstract = "We describe a formalization and proof of the Church--Rosser theorem that was carried out with the Boyer--Moore theorem prover. The mechanical proof illustrates the effective use of the Boyer--Moore theorem prover in proof checking difficult metamathematical proofs.", acknowledgement = ack-nhfb, affiliationaddress = "Stanford Univ, Stanford, CA, USA", classification = "723", fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", journalabr = "J Assoc Comput Mach", keywords = "artificial intelligence; Boyer--Moore theorem prover; Church--Rosser theorem; computer metatheory; experimentation; lambda calculus; theory; verification", subject = "{\bf F.4.1}: Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Mathematical Logic, Mechanical theorem proving. {\bf F.4.1}: Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Mathematical Logic, Computational logic. {\bf F.4.1}: Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Mathematical Logic, Lambda calculus and related systems. {\bf I.2.3}: Computing Methodologies, ARTIFICIAL INTELLIGENCE, Deduction and Theorem Proving, Mathematical induction.", } @Article{Sharpe:1988:ARE, author = "Daniel Sharpe", title = "Adding regular expressions to {Pascal}", journal = j-SIGPLAN, volume = "23", number = "12", pages = "125--133", month = dec, year = "1988", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:15:33 MST 2003", bibsource = "Compendex database; http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "One generally praiseworthy characteristics of Pascal is that it allows the programmer to define new data types. However, not all operations that can be performed on indigenous types can also be performed on programmer-defined types. I/O is an example. This paper proposes an extension to Pascal that allows generalized input of enumerated types. Syntax is defined which lets the programmer use regular expressions to exercise considerable control over the translation of strings of input characters into the internal representation used for enumerated types.", acknowledgement = ack-nhfb, affiliationaddress = "Carrollton, GA, USA", classification = "723", fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", journalabr = "SIGPLAN Not", keywords = "Computer Operating Systems--Program Compilers; Computer Programming; Computer Programming Languages; Data Processing--Data Structures; Data Types; design; Internal Representation; languages; Lexical Analysis; pascal; Pascal Enumerated Types; Programming Language Pascal", subject = "D.3.2 Software, PROGRAMMING LANGUAGES, Language Classifications, Pascal \\ D.3.3 Software, PROGRAMMING LANGUAGES, Language Constructs, Data types and structures \\ I.1.1 Computing Methodologies, ALGEBRAIC MANIPULATION, Expressions and Their Representation, Representations (General and Polynomial)", } @TechReport{Smith:1988:ILL, author = "W. W. Smith and R. H. Campbell", title = "Introduction to Leif language descriptions", number = "UIUCDCS-R-88-1444", institution = "University of Illinois at Urbana-Champaign", address = "Urbana-Champaign, IL, USA", pages = "78", month = jul, year = "1988", bibdate = "Wed Oct 30 06:19:01 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Explains how to create and compile new language description files for Leif. Leif performs syntax checking and provides language oriented editing features for a text editor. The User Manual for Leif with GNU Emacs and the GNU Emacs Manual describe how to use Leif with its front-end, GNU Emacs. Leif uses languages specified with a regular expression lexical analyzer and an LALR(1) parse table. Each language description has three user specified components that are combined into a single, compiled language description file. The authors describe the utility that combines each of these three components into a completed language description file. They then describe the three components of a language description: parse tables, lexical analyser tables, and supplementary information. They describe the utilities used to process the specifications of these three parts of a language description file, Leif editing commands that may be used to help debug new languages, and two additional utilities supplied with Leif. They show how Leif locates the language description files required to edit a program. The text of a small example language is given. Appendices describe the utilities used to build a language description.", acknowledgement = ack-nhfb, affiliation = "Dept. of Comput. Sci., Illinois Univ., Urbana, IL, USA description manual, and installation guide", classification = "C6130D (Document processing techniques); C6140D (High level languages); C6150C (Compilers, interpreters and other processors)", issuedby = "Univ. Illinois at Urbana-Champaign, IL, USA", keywords = "Compiled language; Debugging; Editing commands; Front-end; GNU Emacs; LALR(1) parse table; Language description files; Language oriented editing features; Leif; Lexical analyser tables; Parse tables; Regular expression lexical analyzer; Specifications; Supplementary information; Syntax checking; Text editor; User specified components; Utilities", pubcountry = "USA", thesaurus = "Program compilers; Specification languages; Text editing", } @Article{Sridhar:1988:CBG, author = "M. A. Sridhar", title = "On the connectivity of the {De Bruijn} graph", journal = j-INFO-PROC-LETT, volume = "27", number = "6", pages = "315--318", day = "13", month = may, year = "1988", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68R05 (05C40)", MRnumber = "89h:68117", MRreviewer = "Bernd Graw", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliationaddress = "Univ of South Carolina, Columbia, SC, USA", classification = "723; 921; C1160 (Combinatorial mathematics); C4210 (Formal logic)", corpsource = "Dept. of Comput. Sci., South Carolina Univ., SC, USA", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "connectivity; data processing; Data Structures; de Bruijn graph; De Bruijn graph; formal languages; graph theory; labeled directed graphs; mathematical techniques --- Graph Theory; periods; self-loops; string matching; strings; theory; verification", pubcountry = "Netherlands A07", subject = "G.2.2 Mathematics of Computing, DISCRETE MATHEMATICS, Graph Theory \\ F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching", treatment = "T Theoretical or Mathematical", } @Book{Tanenbaum:1988:MAS, author = "Andrew S. Tanenbaum and Johan W. Stevenson and Jost Muller", title = "{MINIX} for the {ATARI ST} and {MINIX} manual for the {ATARI ST}", publisher = pub-PH, address = pub-PH:adr, edition = "Version 1.1.", year = "1988", ISBN = "0-13-584392-8 (disks), 0-13-584434-7 (manual)", ISBN-13 = "978-0-13-584392-5 (disks), 978-0-13-584434-2 (manual)", LCCN = "QA76.76.O63", bibdate = "Mon Sep 30 17:55:16 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/minix.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "9 computer disks.", abstract = "MINIX is a new operating system that is similar to Version 7 of the UNIX operating system. MINIX is widely used on the IBM PC, and has now been ported to the Atari ST and Mega ST. Unlike the UNIX system itself, MINIX comes complete with all the source code. MINIX features: a system call compatible with V7 UNIX (except for a few very minor calls); a Kernighan and Ritchie compatible C compiler; a shell that is functionally identical to the Bourne shell; full multiprogramming (fork+exec; background jobs in shell: cc file.c \&); a full screen editor inspired by emacs (modeless, autoinsert, etc.); over 60 popular utilities (cat, cp, grep, ls, make, mount, sort, etc.); and over 100 library procedures (atoi, fork, malloc, stdio, strcmp, etc.) It works with floppy-only systems or with hard disk systems. A full operating system source code is included, and the source code for all utilities (except the C compiler) is also included.", acknowledgement = ack-nhfb, annote = "Title from disk label. An operating system for small computer systems, inspired by V7 of the UNIX operating system. It has a hierarchical file system, supports full multitasking, and has a command interpreter, called the shell, similar to the Bourne shell on UNIX. Comes with 100 utility programs, nearly all of which are similar to UNIX programs. System requirements: Amiga ST; 512K RAM; TOS. Atari ST", classification = "C6150J (Operating systems)", keywords = "Atari ST; Bourne shell; Emacs; Floppy disk systems; Full screen editor; Hard disk systems; Kernighan and Ritchie compatible C compiler; Library procedures; Mega ST; MINIX; Multiprogramming; Operating system; Operating systems (Computers) --- Software.; Source code; System call; UNIX; Utilities", pubcountry = "USA", thesaurus = "Atari computers; Microcomputer applications; Unix; User manuals", } @Article{Tarhio:1988:GAA, author = "Jorma Tarhio and Esko Ukkonen", title = "A greedy approximation algorithm for constructing shortest common superstrings", journal = j-THEOR-COMP-SCI, volume = "57", number = "1", pages = "131--145", month = apr, year = "1988", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:29:49 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1985.bib", acknowledgement = ack-nhfb, affiliation = "Univ of Helsinki", affiliationaddress = "Helsinki, Finl", classification = "723; 921; B0290F (Interpolation and function approximation); B6140 (Signal processing and detection); C1260 (Information theory)C4130 (Interpolation and function approximation)", conference = "International Symposium on Mathematical Foundations of Computer Science, MFCS '86", conflocation = "Bratislava, Czechoslovakia; 25-29 Aug. 1986", conftitle = "International Symposium on Mathematical Foundations of Computer Science", corpsource = "Dept. of Comput. Sci., Helsinki Univ., Finland", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", journalabr = "Theor Comput Sci", keywords = "Algorithms; approximation theory; Computer Programming; data compression; Greedy Approximation Algorithm; greedy approximation algorithm; greedy heuristics; Hamiltonian paths; Knuth--Morris--Pratt string-matching procedure; Longest Hamiltonian Paths; Mathematical Techniques --- Graph Theory; Optimization; Shortest Common Superstrings; shortest common superstrings; String Compression; String-Matching; Weighted Graphs; weighted graphs", meetingaddress = "Bratislava, Czech", meetingdate = "Aug 25--29 1986", meetingdate2 = "08/25--29/86", pubcountry = "Netherlands A07", treatment = "T Theoretical or Mathematical", } @Article{VanWyk:1988:LPE, author = "Christopher J. {Van Wyk} and Eric Hamilton and Don Colner", title = "Literate Programming: Expanding Generalized Regular Expressions", journal = j-CACM, volume = "31", number = "12", pages = "1376--1385", month = dec, year = "1988", CODEN = "CACMA2", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Mon Jan 22 07:31:02 MST 2001", bibsource = "http://dblp.uni-trier.de/db/journals/cacm/cacm31.html#WykHC88; https://www.math.utah.edu/pub/tex/bib/cacm1980.bib; https://www.math.utah.edu/pub/tex/bib/litprog.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", oldlabel = "WykHC88", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/WykHC88", } @Article{Walther:1988:MSU, author = "Christoph Walther", title = "Many-Sorted Unification", journal = j-J-ACM, volume = "35", number = "1", pages = "1--17", month = jan, year = "1988", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Wed Jan 15 18:12:53 MST 1997", bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Ai/hybrid.bib; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0004-5411/45071.html", abstract = "Many-sorted unification is considered; that is, unification in the many-sorted free algebras of terms, where variables, as well as the domains and ranges of functions, are restricted to certain subsets of the universe, given as a potentially infinite hierarchy of sorts. It is shown that complete and minimal sets of unifiers may not always exist for many-sorted unification. Conditions for sort hierarchies that are equivalent for the existence of these sets with one, finitely many, or infinitely many elements are presented. It is also proved that being a forest-structured sort hierarchy is a necessary and sufficient criterion for the Robinson Unification Theorem to hold for many-sorted unification. An algorithm for many-sorted unification is given.", acknowledgement = ack-nhfb, affiliationaddress = "Univ Karlsruhe, West Ger", classification = "723; 921", fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", journalabr = "J Assoc Comput Mach", keywords = "algorithms; artificial intelligence; computer metatheory --- Formal Logic; computer programming --- Algorithms; many-sorted logic; many-sorted unification; mathematical techniques --- Algebra; Robinson unification theorem; theory; verification", subject = "{\bf F.4.1}: Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Mathematical Logic, Mechanical theorem proving. {\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching. {\bf I.1.3}: Computing Methodologies, ALGEBRAIC MANIPULATION, Languages and Systems, Substitution mechanisms. {\bf I.2.3}: Computing Methodologies, ARTIFICIAL INTELLIGENCE, Deduction and Theorem Proving, Resolution.", } @Article{Wood:1988:IFS, author = "David P. Wood and David Turcaso", title = "Implementing a faster string search algorithm in {Ada}", journal = j-SIGADA-LETTERS, volume = "8", number = "3", pages = "87--97", month = may # "\slash " # jun, year = "1988", CODEN = "AALEE5", ISSN = "1094-3641 (print), 1557-9476 (electronic)", ISSN-L = "1094-3641", bibdate = "Sat Aug 9 09:05:29 MDT 2003", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigada.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classcodes = "C6130 (Data handling techniques)", corpsource = "Softech Inc., Alexandria, VA, USA", countrypub = "USA A02", fjournal = "ACM SIGAda Ada Letters", journal-URL = "https://dl.acm.org/loi/sigada", keywords = "Ada; Ada implementation; Ada listings; algorithms; character-by-character search; data handling; languages; string search algorithm; theory", subject = "D.3.2 Software, PROGRAMMING LANGUAGES, Language Classifications, Ada \\ D.3.3 Software, PROGRAMMING LANGUAGES, Language Constructs, Data types and structures \\ F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Sorting and searching", treatment = "P Practical", } @Article{Aho:1989:CGU, author = "Alfred V. Aho and Mahadevan Ganapathi and Steven W. K. Tjiang", title = "Code Generation Using Tree Matching and Dynamic Programming", journal = j-TOPLAS, volume = "11", number = "4", pages = "491--516", month = oct, year = "1989", CODEN = "ATPSDT", ISSN = "0164-0925 (print), 1558-4593 (electronic)", ISSN-L = "0164-0925", bibdate = "Fri Sep 22 14:23:22 2023", bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib; Database/Graefe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/toplas.bib; Misc/IMMD_IV.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/75700.html", acknowledgement = ack-nhfb # " and " # ack-pb, fjournal = "ACM Transactions on Programming Languages and Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783", keywords = "algorithms; comparison of alternative covers of original expression; design; experimentation; languages; matching multiple trees using finite state automata; reduction rules: complex expression $\rightarrow$ single instruction cost; theory", subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES, Processors, twig. {\bf D.3.4}: Software, PROGRAMMING LANGUAGES, Processors, Code generation. {\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language Classifications, Nonprocedural languages. {\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching. {\bf F.4.2}: Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Grammars and Other Rewriting Systems, Parallel rewriting systems. {\bf I.2.8}: Computing Methodologies, ARTIFICIAL INTELLIGENCE, Problem Solving, Control Methods, and Search, Dynamic programming.", } @TechReport{Albert:1989:CMA, author = "Luc Albert", title = "Complexit{\'e} en moyenne de l'algorithme de multi-pattern matching {RETE} sur des ensembles de patterns et d'objets de profondeur un. ({French}) [{Mean} complexity of the multi-pattern matching algorithm {RETE} on sets of patterns and objects of depth one]", volume = "1009", institution = "Institut National de Recherche en Informatique et en Automatique", address = "Le Chesnay, France", pages = "34", year = "1989", LCCN = "????", bibdate = "Wed Mar 13 13:43:08 MDT 2013", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = "Rapports de recherche (Institut National de Recherche en Informatique et en Automatique (France))", acknowledgement = ack-nhfb, language = "French", subject = "Algorithmes; Syst{\`e}mes experts (informatique); Bases de donn{\'e}es relationnelles; Algorithms; Matching theory; Expert systems (Computer science)", } @Article{Allan:1989:POT, author = "V. H. Allan", title = "Peephole optimization as a targeting and coupling tool", journal = j-SIGMICRO, volume = "20", number = "3", pages = "112--121", month = aug, year = "1989", CODEN = "SIGMDJ", DOI = "https://doi.org/10.1145/75395.75407", ISSN = "0163-5751, 1050-916X", ISSN-L = "0163-5751", bibdate = "Fri Apr 16 10:27:41 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigmicro.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/75395.75407", abstract = "The term peephole optimization is used to mean the pattern matching and conditional replacement performed on small sections of the intermediate form. The circular dependence between the code generation phases implies that local optimals are rarely global \ldots{}", acknowledgement = ack-nhfb, fjournal = "ACM SIGMICRO Newsletter", journal-URL = "https://dl.acm.org/loi/sigmicro", } @Article{Aoe:1989:EIS, author = "J. I. Aoe", title = "An efficient implementation of static string pattern matching machines", journal = j-IEEE-TRANS-SOFTW-ENG, volume = "15", number = "8", pages = "1010--1016", month = aug, year = "1989", CODEN = "IESEDJ", DOI = "https://doi.org/10.1109/32.31357", ISSN = "0098-5589 (print), 1939-3520 (electronic)", ISSN-L = "0098-5589", bibdate = "Thu Feb 1 08:07:37 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=31357", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Software Engineering", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32", } @Article{Arratia:1989:ERS, author = "R. Arratia and M. S. Waterman", title = "The {Erd{\H{o}}s--Renyi} {Strong Law} for Pattern Matching with a Given Proportion of Mismatches", journal = j-ANN-PROBAB, volume = "17", number = "3", pages = "1152--1169", month = jul, year = "1989", CODEN = "APBYAE", ISSN = "0091-1798 (print), 2168-894X (electronic)", ISSN-L = "0091-1798", bibdate = "Sun Apr 20 10:44:17 MDT 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/annprobab1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://projecteuclid.org/euclid.aop/1176991262", acknowledgement = ack-nhfb, fjournal = "Annals of Probability", journal-URL = "http://projecteuclid.org/all/euclid.aop", } @InProceedings{Auernheimer:1989:NNM, author = "Brent Auernheimer and Alison Butler", title = "Neural net model of the neuropsychology of spelling processes", crossref = "ACM:1989:SAA", pages = "430--??", year = "1989", bibdate = "Wed Jan 15 12:19:41 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/spell.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The neural network (or `brain-style') approach to computing is useful for developing systems to perform tasks humans traditionally do well and that computers do not. Neural network systems are particularly suited for pattern matching and categorization applications such as recognizing visual or auditory data. This research is concerned with representing the human spelling processes. Because spoken language is our primary mode of communication, neuropsychologists have for the most part overlooked the spelling and writing processes. Recently, interest in orthographic processes has grown. This research is an attempt to translate a theory of the cognitive processes of spelling into a neural network. An initial goal of this research is to test the model's learning and performance against normal subjects' spelling. After the model is validated for normal subjects, the neural network will be `lesioned', and the results compared to the performance of brain-damaged patients.", acknowledgement = ack-nhfb, affiliation = "California State Univ", affiliationaddress = "Fresno, CA, USA", classification = "461; 723", conference = "Seventeenth Annual ACM Computer Science Conference", conferenceyear = "1989", keywords = "Cognitive Processes; Human Engineering--Research; Neural Nets; Neuropsychology; Spelling; Summary Only; Systems Science and Cybernetics", meetingabr = "Seventeenth Annu ACM Comput Sci Conf", meetingaddress = "Louisville, KY, USA", meetingdate = "Feb 21--23 1989", meetingdate2 = "02/21--23/89", } @Article{Augustsson:1989:CLM, author = "L. Augustsson and T. Johnsson", title = "The {Chalmers Lazy-ML} Compiler", journal = j-COMP-J, volume = "32", number = "2", pages = "127--141", month = apr, year = "1989", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/32.2.127", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Tue Dec 4 14:48:26 MST 2012", bibsource = "Compendex database; http://comjnl.oxfordjournals.org/content/32/2.toc; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/; https://www.math.utah.edu/pub/tex/bib/compj1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; Misc/Functional.bib", URL = "http://comjnl.oxfordjournals.org/content/32/2/127.full.pdf+html; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/127.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/128.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/129.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/130.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/131.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/132.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/133.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/134.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/135.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/136.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/137.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/138.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/139.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/140.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/141.tif", abstract = "The authors present the principles and pragmatics of a compiler for Lazy ML, a lazy and purely functional variant of ML. The aim has been to develop an implementation that enables efficient execution on today's computers.", acknowledgement = ack-nhfb, affiliation = "Dept. of Comput. Sci., Chalmers Univ. of Technol.", affiliationaddress = "Goteborg, Swed", classcodes = "C6150C (Compilers, interpreters and other processors); C6140D (High level languages)", classification = "723; C6140D (High level languages); C6150C (Compilers, interpreters and other processors)", corpsource = "Dept. of Comput. Sci., Chalmers Univ. of Technol., Goteborg, Sweden", fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", keywords = "abstract machine; Abstract machine; Chalmers; compilers; Computer Operating Systems; Computer Programming; Computer Programming Languages; functional programming; functional variant; Functional variant; G-machine; high level languages; input/output; Input/output; language; Lazy Functional Languages; Lazy ML; Lazy ML language; Lazy ml Language; Lazy-ML compiler; modules; Modules; pattern matching; Pattern matching; Pattern Matching, Chalmers; program; Program Compilers; program transformation phases; Program transformation phases; separate compilation; Separate compilation", thesaurus = "Functional programming; High level languages; Program compilers", treatment = "P Practical", } @Article{Baeza-Yates:1989:ISS, author = "Ricardo A. Baeza-Yates", title = "Improved String Searching", journal = j-SPE, volume = "19", number = "3", pages = "257--271", month = mar, year = "1989", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.4380190305", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.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 = "30 Oct 2006", } @Article{Bird:1989:FDP, author = "R. S. Bird and J. Gibbons and G. Jones", title = "Formal derivation of a pattern matching algorithm", journal = j-SCI-COMPUT-PROGRAM, volume = "12", number = "2", pages = "93--104", month = jul, year = "1989", CODEN = "SCPGD4", ISSN = "0167-6423 (print), 1872-7964 (electronic)", ISSN-L = "0167-6423", MRclass = "68Q20", MRnumber = "90k:68055", bibdate = "Sun Oct 10 09:12:09 MDT 1999", bibsource = "Compendex database; http://www.sciencedirect.com/science/journal/01676423; https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", acknowledgement = ack-nhfb, affiliation = "Oxford Univ", affiliationaddress = "Engl", classification = "723", fjournal = "Science of Computer Programming", journal-URL = "http://www.sciencedirect.com/science/journal/01676423", journalabr = "Sci Comput Program", keywords = "Computer Metatheory --- Programming Theory; Computer Programming --- Algorithms; Knuth--Morris--Pratt Algorithm; Pattern Matching Algorithms; Pattern Recognition", } @Article{Burton:1989:FPQ, author = "F. Warren Burton and John G. Kollias", title = "Functional programming with quadtrees", journal = j-IEEE-SOFTWARE, volume = "6", number = "1", pages = "90--97", month = jan, year = "1989", CODEN = "IESOEG", ISSN = "0740-7459 (print), 0740-7459 (electronic)", ISSN-L = "0740-7459", bibdate = "Sat Jan 25 07:35:26 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/ieeesoft.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "723", fjournal = "IEEE Software", journal-URL = "http://www.computer.org/portal/web/csdl/magazines/software", journalabr = "IEEE Software", keywords = "Computer Programming; Computer Programming Languages; Data Processing --- Data Structures; Data Types; Function Programming; Functional Languages; Pattern Matching; Quadtrees", } @Article{Cieslak:1989:PNP, author = "R. Cieslak and A. Fawaz and S. Sachs and P. Varaiya and J. Walrand and A. Li", title = "The Programmable Network Prototyping System", journal = j-COMPUTER, volume = "22", number = "5", pages = "67--76", month = may, year = "1989", CODEN = "CPTRB4", ISSN = "0018-9162 (print), 1558-0814 (electronic)", ISSN-L = "0018-9162", bibdate = "Sat Feb 01 14:21:35 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/computer1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; Misc/IMMD_IV.bib", acknowledgement = ack-nhfb, affiliation = "Dept. of Electr. Eng and Comput. Sci., California Univ., Berkeley, CA, USA", classification = "B6210L (Computer communications); C0310F (Software development management); C5620 (Computer networks and techniques); C6110B (Software engineering techniques); C6115 (Programming support); C6155 (Computer communications software); C7420 (Control engineering)", fjournal = "Computer", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2", keywords = "Communication network emulation; Component specifications; Control system; Generic communications functions; Interacting components; Library; Load conditions; Pattern matching; PNPS; Programmable network prototyping system; Prototyping environment; Reception; Reusable hardware modules; Signal propagation; Software tools; Transmission", thesaurus = "Computer communications software; Computer networks; Computerised control; Programming; Programming environments", } @Article{Consel:1989:PEP, author = "Charles Consel and Olivier Danvy", title = "Partial evaluation of pattern matching in strings", journal = j-INFO-PROC-LETT, volume = "30", number = "2", pages = "79--86", day = "30", month = jan, year = "1989", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliationaddress = "Paris, Fr", classification = "721; 723; C4220 (Automata theory); C4240 (Programming and algorithm theory); C6130 (Data handling techniques); C6150C (Compilers, interpreters and other processors)", corpsource = "Paris VI Univ., France", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Algorithms; algorithms; Automata Theory--Finite Automata; compilers; Computer Programming; data handling; deterministic automata; Deterministic Finite Automata; deterministic finite automaton; finite automata; Knuth--Morris--Pratt Algorithm; languages; Partial Evaluation; partial evaluation; pattern matcher; Pattern Matching; pattern matching; program compilers; programming theory; strings; theory", subject = "F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching \\ D.3.3 Software, PROGRAMMING LANGUAGES, Language Constructs, Data types and structures", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Cooper:1989:FHO, author = "M. C. Cooper", title = "Formal hierarchical object models for fast template matching", journal = j-COMP-J, volume = "32", number = "4", pages = "351--361", month = aug, year = "1989", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/32.4.351", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Tue Dec 4 14:48:27 MST 2012", bibsource = "Compendex database; http://comjnl.oxfordjournals.org/content/32/4.toc; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_04/; https://www.math.utah.edu/pub/tex/bib/compj.bib; https://www.math.utah.edu/pub/tex/bib/compj1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://comjnl.oxfordjournals.org/content/32/4/351.full.pdf+html; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_04/tiff/351.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_04/tiff/352.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_04/tiff/353.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_04/tiff/354.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_04/tiff/355.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_04/tiff/356.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_04/tiff/357.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_04/tiff/358.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_04/tiff/359.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_04/tiff/360.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_04/tiff/361.tif", acknowledgement = ack-nhfb, affiliation = "Dept. of Comput. Sci., Hull Univ.", affiliationaddress = "Hull, Engl", classcodes = "C6120 (File organisation)", classification = "713; 723; 741; C6120 (File organisation)", corpsource = "Dept. of Comput. Sci., Hull Univ., UK", fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", keywords = "Applications; data structures; edge-detection; Edge-detection operators; formal hierarchical object models; Formal hierarchical object models; Hierarchical Object Models; Image Processing; inspection; Inspection; Mathematical Transformations--Fourier Transforms; Object-Oriented Programming; operators; Pattern Matching; pictures; Pictures, Pattern Recognition; printed circuit boards; Printed circuit boards; Printed Circuits--Inspection; repeated sub-objects; Repeated sub-objects; repetitive structure; Repetitive structure; repnets; Repnets; template matching; Template matching", thesaurus = "Data structures", treatment = "P Practical", } @Article{Delcambre:1989:PMR, author = "L. M. L. Delcambre and J. Waramahaputi and J. N. Etheredge", title = "Pattern match reduction for {Relational Production Language} in the {USL MMDBS}", journal = j-SIGMOD, volume = "18", number = "3", pages = "59--67", month = sep, year = "1989", CODEN = "SRECD8", ISSN = "0163-5808 (print), 1943-5835 (electronic)", ISSN-L = "0163-5808", bibdate = "Mon Jan 12 08:45:32 MST 2004", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigmod.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Center for Adv. Comput. Studies, Southwestern Louisiana Univ., Lafayette, LA, USA", classification = "C6160D (Relational DBMS); C6160Z (Other DBMS); C6170 (Expert systems)", fjournal = "SIGMOD Record (ACM Special Interest Group on Management of Data)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J689", keywords = "Expert database systems; Pattern Match Reduction; Performance characteristics; Query processing; Relational Production Language; Relational rules; Relational view; RPL; RPL interpreter", thesaurus = "Computerised pattern recognition; Expert systems; Relational databases", xxtitle = "Pattern match reduction for the relational production language in the {USL MMDBS}", } @Article{Eckel:1989:TSI, author = "Bruce Eckel", title = "{TAWK}: a simple interpreter in {C++}", journal = j-DDJ, volume = "14", number = "5", pages = "50--60, 98, 100--102", month = may, year = "1989", CODEN = "DDJOEB", ISSN = "0888-3076", bibdate = "Tue Sep 10 09:30:19 MDT 1996", bibsource = "http://www.ddj.com/index/author/index.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Eisys Consulting, Seattle, WA, USA", classification = "C6150C (Compilers, interpreters and other processors); C6160 (Database management systems (DBMS))", fjournal = "Dr. Dobb's Journal of Software Tools", keywords = "'Report'; 'Scripting language'; 'Tiny awk'; C++; Common-separated ASCII file; Data-encapsulation; Database files; Interpreter; Language execution; Language parsing; Long fields; Long records; Pattern matching language; Record reading; Recursive descent technique; TAWK", thesaurus = "C listings; Microcomputer applications; Program interpreters; Report generators", } @Article{Emmelmann:1989:BGE, author = "Helmut Emmelmann and Friedrich-Wilhelm Schr{\"o}er and Rudolf Landwehr", title = "{BEG}: a generator for efficient back ends", journal = j-SIGPLAN, volume = "24", number = "7", pages = "227--237", month = jul, year = "1989", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:15:41 MST 2003", bibsource = "http://portal.acm.org/; http://www.acm.org/pubs/contents/proceedings/pldi/73141/index.html; https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org:80/pubs/citations/proceedings/pldi/73141/p227-emmelmann/", abstract = "This paper describes a system that generates compiler back ends from a strictly declarative specification of the code generation process. The generated back ends use tree pattern matching for code selection. Two methods for register allocation supporting a wide range of target architectures are provided. A general bottom-up pattern matching method avoids problems that occurred with previous systems using LR-parsing. The performance of compilers using generated back ends is comparable to very fast production compilers. Some figures are given about the results of using the system to generate the back end of a Modula-2 compiler.", acknowledgement = ack-nhfb, affiliationaddress = "Karlsruhe, West Ger", annote = "Published as part of the Proceedings of PLDI'89.", classification = "723", conference = "Proceedings of the SIGPLAN '89 Conference on Programming Language Design and Implementation", fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", journalabr = "SIGPLAN Not", keywords = "algorithms; Compiler Generation; Computer Operating Systems; Computer Programming; languages; Optimizing Compilers; performance; Program Compilers", meetingaddress = "Portland, OR, USA", meetingdate = "Jun 21--23 1989", meetingdate2 = "06/21--23/89", sponsor = "ACM, Special Interest Group on Programming Languages, New York; SS NY, USA", subject = "{\bf F.4.2} Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Grammars and Other Rewriting Systems, Parsing. {\bf D.3.4} Software, PROGRAMMING LANGUAGES, Processors, Code generation. {\bf D.3.2} Software, PROGRAMMING LANGUAGES, Language Classifications, Modula-2. {\bf D.3.4} Software, PROGRAMMING LANGUAGES, Processors, Compilers. {\bf D.3.4} Software, PROGRAMMING LANGUAGES, Processors, Optimization.", } @Article{Fiala:1989:DCF, author = "E. R. Fiala and D. H. Greene", title = "Data Compression with Finite {Windows}", journal = j-CACM, volume = "32", number = "4", pages = "490--505", month = apr, year = "1989", CODEN = "CACMA2", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Sat Jan 26 12:46:16 MST 2013", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/cacm1980.bib; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0001-0782/63341.html", acknowledgement = ack-ds # " and " # ack-nhfb, fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", keywords = "algorithms; design; experimentation; theory", rawdata = "Fiala, E. R., and D. H. Greene (1989), ``Data Compression with Finite Windows,'' {\it Communications of the ACM}, {\bf32}(4):490--505.", review = "ACM CR 8910-0733", subject = "{\bf E.4}: Data, CODING AND INFORMATION THEORY, Data compaction and compression. {\bf E.1}: Data, DATA STRUCTURES. {\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Computations on discrete structures. {\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching.", } @Article{Foster:1989:ALF, author = "M. J. Foster", title = "Avoiding latch formation in regular expression recognizers", journal = j-IEEE-TRANS-COMPUT, volume = "38", number = "5", pages = "754--756", month = may, year = "1989", CODEN = "ITCOB4", DOI = "https://doi.org/10.1109/12.24279", ISSN = "0018-9340 (print), 1557-9956 (electronic)", ISSN-L = "0018-9340", bibdate = "Fri Jul 8 19:00:39 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=24279", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12", } @Article{Ganapathi:1989:PBR, author = "Mahadevan Ganapathi", title = "{Prolog} based retargetable code generation", journal = j-COMP-LANGS, volume = "14", number = "3", pages = "193--204", month = "????", year = "1989", CODEN = "COLADA", ISSN = "0096-0551 (print), 1873-6742 (electronic)", ISSN-L = "0096-0551", bibdate = "Tue Mar 25 14:04:06 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/complngs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Stanford Univ", affiliationaddress = "Stanford, CA, USA", classcodes = "C6150C (Compilers, interpreters and other processors); C1180 (Optimisation techniques)", classification = "722; 723", corpsource = "Comput. Sci. Lab., Stanford Univ., CA, USA", fjournal = "Computer Languages", journal-URL = "http://www.sciencedirect.com/science/journal/00960551", journalabr = "Comput Lang", keywords = "back-end language; Code Generator Generators; code optimization; Code Optimization; compiler back end; Computer Operating Systems--Program Compilers; Computer Programming; formal specification; high quality code; implementation; optimisation; optimizing code generators; pattern matching; peephole optimization; program compilers; program processors; PROLOG; Prolog based retargetable code generation; Prolog Based Retargetable Code Generation; specification", treatment = "P Practical", } @Article{Ganapathi:1989:SPP, author = "Mahadevan Ganapathi", title = "Semantic predicates in parser generators", journal = j-COMP-LANGS, volume = "14", number = "1", pages = "25--33", month = "????", year = "1989", CODEN = "COLADA", ISSN = "0096-0551 (print), 1873-6742 (electronic)", ISSN-L = "0096-0551", bibdate = "Tue Mar 25 14:04:06 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/complngs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliationaddress = "Stanford, CA, USA", classcodes = "C6150C (Compilers, interpreters and other processors)", classification = "721; 723", corpsource = "Comput. Syst. Lab., Stanford Univ., CA, USA", fjournal = "Computer Languages", journal-URL = "http://www.sciencedirect.com/science/journal/00960551", journalabr = "Comput Lang", keywords = "analysis; Attributed Parsing; Automata Theory--Grammars; compiler implementors; compiler-compilers; Computer Operating Systems; Conflict Resolution; decision making; Disambiguating Predicates; epsilon productions; grammars; parser generators; Parser Generators; parsers; pattern matching; Program Compilers; program compilers; Semantic Predicates; syntactic; vanilla parser", treatment = "P Practical", } @Article{Grossi:1989:SES, author = "R. Grossi and F. Luccio", title = "Simple and efficient string matching with $k$ mismatches", journal = j-INFO-PROC-LETT, volume = "33", number = "3", pages = "113--120", day = "30", month = nov, year = "1989", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68Q25", MRnumber = "90m:68057", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Univ di Pisa", affiliationaddress = "Pisa, Italy", classification = "723; 921; C4240 (Programming and algorithm theory)", corpsource = "Dipartimento di Inf., Pisa Univ., Italy", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Algorithm Design; algorithm theory; Algorithms; computational complexity; Computer Programming; Mathematical Techniques--Trees; mismatches; permutations; String Matching; string matching; suffix tree; Suffix Trees", treatment = "T Theoretical or Mathematical", } @Misc{Haertel:1989:GG, author = "M. Haertel", title = "{GNU} {\tt e?grep}", volume = "17", howpublished = "Usenet archive {\tt comp.sources.unix}", month = feb, year = "1989", bibdate = "Sat Sep 02 14:45:09 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Hudak:1989:CEA, author = "Paul Hudak", title = "Conception, Evolution, and Application of Functional Programming Languages", journal = j-COMP-SURV, volume = "21", number = "3", pages = "359--411", month = sep, year = "1989", CODEN = "CMSVAN", DOI = "https://doi.org/10.1145/72551.72554", ISSN = "0360-0300 (print), 1557-7341 (electronic)", ISSN-L = "0360-0300", bibdate = "Thu Jun 19 09:38:19 MDT 2008", bibsource = "ACM Computing Archive; Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Parallel/par.misc.bib; http://www.acm.org/pubs/contents/journals/surveys/; https://www.math.utah.edu/pub/tex/bib/compsurv.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0360-0300/72554.html", abstract = "The foundations of functional programming languages are examined from both historical and technical perspectives. Their evolution is traced through several critical periods: early work on lambda calculus and combinatory calculus, Lisp, Iswim, FP, ML, and modern functional languages such as Miranda and Haskell. The fundamental premises on which the functional programming methodology stands are critically analyzed with respect to philosophical, theoretical, and pragmatic concerns. Particular attention is paid to the main features that characterize modern functional languages: higher-order functions, lazy evaluation, equations and pattern matching, strong static typing and type inference, and data abstraction. In addition, current research areas --- such as parallelism, nondeterminism, input\slash output, and state-oriented computations --- are examined with the goal of predicting the future development and application of functional languages.", acknowledgement = ack-nhfb, affiliation = "Yale Univ", affiliationaddress = "New Haven, CT, USA", annote = "This is the second paper in the special issue which has a section on non-determinism [along with Bal, et al] which begins with a statement which would sound bizarre to non-programmers or those not familiar with the issues of determinacy.", classification = "723", fjournal = "ACM Computing Surveys", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J204", keywords = "ag; APL; Categories and Subject Descriptors: D.1.1 [Programming Techniques]: Applicative (Functional) Programming; Computer Programming Languages; D.3.2 [Programming Languages]: Language classifications - applicative languages; Data Abstraction; data-flow languages; denotative [declarative] language; F.4.1 [Mathematical Logic and Formal Languages]: Mathematical Logic - lambda calculus and related systems; FL; FP; Functional Programming Languages; grecommended91; Haskell; higher-order functions; Hope; Iswim; K.2 [History of Computing]: software General Terms: Languages; KRC; Lambda Calculus; Lambda Calculus, Additional Key Words and Phrases: Data abstraction; languages; lazy evaluation; Lisp; Miranda; ML; non-procedural languages; referential transparency; SASL; special issue on programming language paradigms; types; very-high-level languages", review = "ACM CR 9006-0486", subject = "{\bf D.1.1}: Software, PROGRAMMING TECHNIQUES, Applicative (Functional) Programming. {\bf F.4.1}: Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Mathematical Logic, Lambda calculus and related systems. {\bf F.1.2}: Theory of Computation, COMPUTATION BY ABSTRACT DEVICES, Modes of Computation, Parallelism and concurrency. {\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language Classifications, Applicative languages.", } @Article{Jouvelot:1989:RPM, author = "P. Jouvelot and B. Dehbonei", title = "Recursive {Pattern Matching} on concrete data types", journal = j-SIGPLAN, volume = "24", number = "11", pages = "84--93", month = nov, year = "1989", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:15:47 MST 2003", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "algorithms; languages; theory", subject = "D.1.1 Software, PROGRAMMING TECHNIQUES, Applicative (Functional) Programming \\ D.3.3 Software, PROGRAMMING LANGUAGES, Language Constructs, Data types and structures \\ F.3.3 Theory of Computation, LOGICS AND MEANINGS OF PROGRAMS, Studies of Program Constructs, Functional constructs \\ F.3.3 Theory of Computation, LOGICS AND MEANINGS OF PROGRAMS, Studies of Program Constructs, Program and recursion schemes \\ F.4.3 Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Formal Languages, Classes defined by grammars or automata", } @Article{Katajainen:1989:AAS, author = "J. Katajainen and T. Raita", title = "An approximation algorithm for space-optimal encoding of a text", journal = j-COMP-J, volume = "32", number = "3", pages = "228--237", month = jun, year = "1989", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/32.3.228", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Tue Dec 4 14:48:26 MST 2012", bibsource = "http://comjnl.oxfordjournals.org/content/32/3.toc; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_03/; https://www.math.utah.edu/pub/tex/bib/compj.bib; https://www.math.utah.edu/pub/tex/bib/compj1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://comjnl.oxfordjournals.org/content/32/3/228.full.pdf+html; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_03/tiff/228.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_03/tiff/229.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_03/tiff/230.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_03/tiff/231.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_03/tiff/232.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_03/tiff/233.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_03/tiff/234.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_03/tiff/235.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_03/tiff/236.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_03/tiff/237.tif", acknowledgement = ack-nhfb, affiliation = "Dept. of Comput. Sci., Turku Univ., Finland", classcodes = "C6130D (Document processing techniques); C6120 (File organisation); C7250 (Information storage and retrieval); C1260 (Information theory)", classification = "C1260 (Information theory); C6120 (File organisation); C6130D (Document processing techniques); C7250 (Information storage and retrieval)", corpsource = "Dept. of Comput. Sci., Turku Univ., Finland", fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", keywords = "acyclic bandwidth limited network; Acyclic bandwidth limited network; approximation algorithm; Approximation algorithm; code book; Code book; compression; data compression; encoding; fixed dictionary; Fixed dictionary; fixed internal memory; Fixed internal memory; heuristic; information storage; linear working; Linear working storage; longest match; Longest match heuristic; often-occurring; Often-occurring substrings; optimisation; performance; Performance; running time; Running time; shortest path; Shortest path; space-optimal encoding; Space-optimal encoding; storage; storage management; storage space; Storage space; string matching algorithm; String matching algorithm; substrings; text; Text compression; vertex pair; Vertex pair", thesaurus = "Data compression; Encoding; Information storage; Optimisation; Storage management", treatment = "P Practical", } @Article{King:1989:UNN, author = "Todd King", title = "Using neural networks for pattern recognition", journal = j-DDJ, volume = "14", number = "1", pages = "14--28, 90--95", month = jan, year = "1989", CODEN = "DDJOEB", ISSN = "0888-3076", bibdate = "Tue Sep 10 09:30:19 MDT 1996", bibsource = "http://www.ddj.com/index/author/index.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; Neural/adapt.sys.bib", acknowledgement = ack-nhfb, affiliation = "California Univ., Berkeley, CA, USA", classification = "C1230 (Artificial intelligence); C1240 (Adaptive system theory); C1250 (Pattern recognition); C7430 (Computer engineering)", fjournal = "Dr. Dobb's Journal of Software Tools", keywords = "C program; Called variation; Classification paradigm; Close approximations; Memorized patterns; Neural networks; Pattern associator; Pattern learning; Pattern matching; Pattern recognition", thesaurus = "C listings; Computerised pattern recognition; Microcomputer applications; Neural nets", } @Article{Knight:1989:UMS, author = "Kevin Knight", title = "Unification: a Multidisciplinary Survey", journal = j-COMP-SURV, volume = "21", number = "1", pages = "93--124", month = mar, year = "1989", CODEN = "CMSVAN", DOI = "https://doi.org/10.1145/62029.62030", ISSN = "0360-0300 (print), 1557-7341 (electronic)", ISSN-L = "0360-0300", MRclass = "68T15 (03B35 03B70 68N17)", MRnumber = "91g:68142", bibdate = "Thu Jun 19 09:37:55 MDT 2008", bibsource = "Compendex database; http://www.acm.org/pubs/contents/journals/surveys/; https://www.math.utah.edu/pub/tex/bib/compsurv.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0360-0300/62030.html", abstract = "The unification problem and several variants are presented. Various algorithms and data structures are discussed. Research on unification arising in several areas of computer science is surveyed; these areas include theorem proving, logic programming, and natural language processing. Sections of the paper include examples that highlight particular uses of unification and the special problems encountered. Other topics covered are resolution, higher order logic, the occur check, infinite terms, feature structures, equational theories, inheritance, parallel algorithms, generalization, lattices, and other applications of unification. The paper is intended for readers with a general computer science background --- no specific knowledge of any of the above topics is assumed.", acknowledgement = ack-nhfb, affiliation = "Carnegie-Mellon Univ", affiliationaddress = "Pittsburgh, PA, USA", classification = "721; 723", fjournal = "ACM Computing Surveys", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J204", keywords = "algorithms; Artificial Intelligence; Computational Complexity; Computer Metatheory; Equational Theories; Feature Structures; Higher Order Logic; languages, Automata Theory; Logic Programming; Natural Language Processing; Theorem Proving", review = "ACM CR 9005-0423", subject = "{\bf I.2.3}: Computing Methodologies, ARTIFICIAL INTELLIGENCE, Deduction and Theorem Proving. {\bf I.1.3}: Computing Methodologies, ALGEBRAIC MANIPULATION, Languages and Systems, Substitution mechanisms. {\bf E.1}: Data, DATA STRUCTURES, Graphs. {\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching. {\bf I.2.7}: Computing Methodologies, ARTIFICIAL INTELLIGENCE, Natural Language Processing.", } @InProceedings{Kosaraju:1989:ETP, author = "S. R. Kosaraju", title = "Efficient tree pattern matching", crossref = "IEEE:1989:ASF", pages = "178--183", year = "1989", bibdate = "Thu Apr 5 06:13:40 MDT 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Landau:1989:FPS, author = "Gad M. Landau and Uzi Vishkin", title = "Fast parallel and serial approximate string matching", journal = j-J-ALG, volume = "10", number = "2", pages = "157--169", month = jun, year = "1989", CODEN = "JOALDV", DOI = "https://doi.org/10.1016/0196-6774(89)90010-2", ISSN = "0196-6774 (print), 1090-2678 (electronic)", ISSN-L = "0196-6774", bibdate = "Tue Dec 11 09:14:52 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/jalg.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/0196677489900102", acknowledgement = ack-nhfb, fjournal = "Journal of Algorithms", journal-URL = "http://www.sciencedirect.com/science/journal/01966774", } @Article{Makinen:1989:SIP, author = "Erkki M{\"a}kinen", title = "On the subtree isomorphism problem for ordered trees", journal = j-INFO-PROC-LETT, volume = "32", number = "5", pages = "271--273", day = "22", month = sep, year = "1989", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68R10 (05C05 68P05 68Q25)", MRnumber = "90k:68139", MRreviewer = "Fabrizio Luccio", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "See also comments \cite{Grossi:1991:FCS}.", acknowledgement = ack-nhfb, affiliation = "Univ of Tampere", affiliationaddress = "Tampere, Finl", classification = "723; 921; C1160 (Combinatorial mathematics); C4240 (Programming and algorithm theory)", corpsource = "Dept. of Comput. Sci., Tampere Univ., Finland", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "algorithm theory; algorithms; Combinatorial Mathematics; Mathematical Techniques; Ordered Trees; ordered trees; Pattern Recognition; String Pattern Matching; string pattern matching; subtree isomorphism problem; theory; tree encoding; Tree Isomorphism; trees (mathematics); verification; Zaks Sequence", subject = "G.2.2 Mathematics of Computing, DISCRETE MATHEMATICS, Graph Theory, Trees \\ F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching", treatment = "T Theoretical or Mathematical", } @Article{Marola:1989:USD, author = "Giovanni Marola", title = "Using symmetry for detecting and locating objects in a picture", journal = j-CVGIP, volume = "46", number = "2", pages = "179--195", month = may, year = "1989", CODEN = "CVGPDB", ISSN = "0734-189x (print), 1557-895x (electronic)", ISSN-L = "0734-189X", bibdate = "Thu Feb 6 18:44:11 MST 1997", bibsource = "Compendex database; Graphics/rosenfeld/1989.bib; https://www.math.utah.edu/pub/tex/bib/cvgip.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Istituto di Elettronica e Telecomunicazioni, Pisa Univ., Italy", affiliationaddress = "Pisa, Italy", classification = "723; B6140C (Optical information and image processing); C1250 (Pattern recognition); C5260B (Computer vision and picture processing)", fjournal = "Computer Vision, Graphics, and Image Processing", journal-URL = "http://www.sciencedirect.com/science/journal/0734189X", journalabr = "Comput Vision Graphics Image Process", keywords = "Algorithm; Image Processing; Local symmetry; Noise insensitive, image part form; Object Detection; Object detection; Object Detection; Object Location; Object location; Object Location; Object Recognition; Overlapping Objects; Overlapping objects; Overlapping Objects; Pattern Recognition; Picture; Planar images; Symmetry detection; Template matching procedure; Unscaled intensity images", thesaurus = "Computerised pattern recognition; Computerised picture processing", } @Article{Menico:1989:FSS, author = "Costas Menico", title = "Faster string searches ({Boyer--Moore} algorithm)", journal = j-DDJ, volume = "14", number = "7", pages = "74--75, 98--99", month = jul, year = "1989", CODEN = "DDJOEB", ISSN = "0888-3076", bibdate = "Tue Sep 10 09:30:19 MDT 1996", bibsource = "http://www.ddj.com/index/author/index.htm; https://www.math.utah.edu/pub/tex/bib/dr-dobbs-1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Software Bottling Co., Maspeth, NY, USA", classification = "C6130D (Document processing techniques)", keywords = "Boyer--Moore algorithm; Brute force method; Hybrid algorithm; Pattern analysis; String searches", thesaurus = "Assembly language listings; Computerised pattern recognition; Pascal listings; Search problems", } @Article{Mischel:1989:WAE, author = "James Mischel", title = "Writing {AWK}-like extensions to {C}", journal = j-DDJ, volume = "14", number = "6", pages = "64--66, 68, 70, 94, 96, 98, 103--104", month = jun, year = "1989", CODEN = "DDJOEB", ISSN = "0888-3076", bibdate = "Tue Sep 10 09:30:19 MDT 1996", bibsource = "http://www.ddj.com/index/author/index.htm; https://www.math.utah.edu/pub/tex/bib/dr-dobbs-1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C6110 (Systems analysis and programming); C6140D (High level languages)", keywords = "AWK programming language; AWK-like extensions; AWKLIB get-line() function; C; Fields; Global variables; Implicit processing loop; Match; Program status; Regular expression; String search functions; Substrings", thesaurus = "C listings; Complete computer programs; High level languages; Programming", } @Article{Mischel:1989:WAL, author = "James Mischel", title = "Writing {AWK}-like extensions to {C}", journal = j-DDJ, volume = "14", number = "6", pages = "64--66, 68, 70, 94, 96, 98, 103--104", month = jun, year = "1989", CODEN = "DDJOEB", ISSN = "0888-3076", bibdate = "Tue Sep 10 09:30:19 MDT 1996", bibsource = "http://www.ddj.com/index/author/index.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C6110 (Systems analysis and programming); C6140D (High level languages)", fjournal = "Dr. Dobb's Journal of Software Tools", keywords = "AWK programming language; AWK-like extensions; AWKLIB get-line() function; C; Fields; Global variables; Implicit processing loop; Match; Program status; Regular expression; String search functions; Substrings", thesaurus = "C listings; Complete computer programs; High level languages; Programming", } @Article{Myers:1989:AMR, author = "Eugene W. Myers and Webb Miller", title = "Approximate matching of regular expressions", journal = j-BULL-MATH-BIOL, volume = "51", number = "1", pages = "5--37", month = jan, year = "1989", CODEN = "BMTBAP", DOI = "https://doi.org/10.1007/BF02458834", ISSN = "0092-8240 (print), 1522-9602 (electronic)", ISSN-L = "0092-8240", bibdate = "Wed Jun 28 16:16:14 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/bullmathbiol.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/BF02458834", acknowledgement = ack-nhfb, fjournal = "Bulletin of Mathematical Biology", journal-URL = "http://link.springer.com/journal/11538", } @Article{Ophel:1989:IMR, author = "John Ophel", title = "An improved mixture rule for pattern matching", journal = j-SIGPLAN, volume = "24", number = "6", pages = "91--96", month = jun, year = "1989", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:15:40 MST 2003", bibsource = "Compendex database; http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "An improved mixture rule for compiling the pattern matching mechanism used in function definitions for ML, Miranda and Hope is presented. The new rule produces better code for patterns with mixed constructors and variables in multiple columns.", acknowledgement = ack-nhfb, affiliationaddress = "Canberra, Aust", classification = "723", fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", journalabr = "SIGPLAN Not", keywords = "Computer Operating Systems; Computer Programming Languages; design; Hope Language; languages; Miranda Language; ML Language; Pattern Matching; Pattern Recognition; Program Compilers; standardization", subject = "D.3.3 Software, PROGRAMMING LANGUAGES, Language Constructs, Procedures, functions, and subroutines \\ D.3.4 Software, PROGRAMMING LANGUAGES, Processors, Compilers", } @Article{Padberg:1989:CMB, author = "Manfred Padberg and Antonio Sassano", title = "The complexity of matching with bonds", journal = j-INFO-PROC-LETT, volume = "32", number = "6", pages = "297--300", day = "3", month = oct, year = "1989", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68Q25 (05C70 68R10)", MRnumber = "90j:68020", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "New York Univ", affiliationaddress = "New York, NY, USA", classification = "723; 921; C1160 (Combinatorial mathematics); C4240 (Programming and algorithm theory)", corpsource = "Graduate Sch. of Bus. Adm., New York Univ., NY, USA", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "bond structure; cardinality; complexity; Computational Complexity; computational complexity; Computer Metatheory--Computability and Decidability; cycle; disjoint subsets; edges; finite; Graph Theory; graph theory; loopless graph; matching with bonds; Mathematical Techniques; maximum-weight matching; MB; nonempty; NP-hard problem; Restricted Matching Problems; set theory; theory; undirected; union; verification", subject = "G.2.2 Mathematics of Computing, DISCRETE MATHEMATICS, Graph Theory \\ F.1.3 Theory of Computation, COMPUTATION BY ABSTRACT DEVICES, Complexity Classes \\ F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching", treatment = "T Theoretical or Mathematical", } @Article{Rytter:1989:NOP, author = "Wojciech Rytter", title = "A note on optimal parallel transformations of regular expressions to nondeterministic finite automata", journal = j-INFO-PROC-LETT, volume = "31", number = "2", pages = "103--109", day = "26", month = apr, year = "1989", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68Q45", MRnumber = "90k:68094", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliationaddress = "Coventry, Engl", classification = "721; 723; C4220 (Automata theory); C4240 (Programming and algorithm theory)", corpsource = "Dept. of Comput. Sci., Warwick Univ., Coventry, UK", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "algorithms; Automata Theory; Computer Systems, Digital--Parallel Processing; Finite Automata; finite automata; homomorphism; log n time; Nondeterministic Finite Automata; nondeterministic finite automata; optimal parallel transformations; parallel algorithms; Parallel Random Access Machines; parallel random-access machine; Parallel Transformations; recursive construction; Regular Expressions; regular expressions; theory; verification", subject = "F.1.1 Theory of Computation, COMPUTATION BY ABSTRACT DEVICES, Models of Computation, Automata \\ F.1.2 Theory of Computation, COMPUTATION BY ABSTRACT DEVICES, Modes of Computation, Parallelism \\ F.1.2 Theory of Computation, COMPUTATION BY ABSTRACT DEVICES, Modes of Computation, Alternation and nondeterminism \\ E.1 Data, DATA STRUCTURES, VAX/VMS", treatment = "T Theoretical or Mathematical", } @Article{Statman:1989:SSC, author = "R. Statman", title = "On sets of solutions to combinator equations", journal = j-THEOR-COMP-SCI, volume = "66", number = "1", pages = "99--104", day = "2", month = aug, year = "1989", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:29:49 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1985.bib", acknowledgement = ack-nhfb, classification = "C1160 (Combinatorial mathematics); C1250 (Pattern recognition)", corpsource = "Dept. of Math., Carnegie-Mellon Univ., Pittsburgh, PA, USA", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "beta -conversion; combinator equations; combinatorial mathematics; pattern matching; pattern recognition; sets of solutions", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Walker:1989:FCP, author = "Kenneth W. Walker", title = "First-class patterns for {Icon}", journal = j-COMP-LANGS, volume = "14", number = "3", pages = "153--163", month = "????", year = "1989", CODEN = "COLADA", ISSN = "0096-0551 (print), 1873-6742 (electronic)", ISSN-L = "0096-0551", bibdate = "Tue Mar 25 14:04:06 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/complngs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Univ of Arizona", affiliationaddress = "Tucson, AZ, USA", classcodes = "C6140D (High level languages); C6130D (Document processing techniques)", classification = "723", corpsource = "Dept. of Comput. Sci., Arizona Univ., Tucson, AZ, USA", fjournal = "Computer Languages", journal-URL = "http://www.sciencedirect.com/science/journal/00960551", journalabr = "Comput Lang", keywords = "backtracking; coexpression semantics; Computer Programming Languages; constructs; control structure; dynamically created; entities; executable form; high level languages; Icon Programming Language; Icon programming language; interpreters; language; Language Constructs; matching expressions; modifications; pattern data type; pattern simulation; problem solving; procedure syntax; Snobol Programming Language; SNOBOL4; String Pattern Matching; string pattern matching", treatment = "P Practical", } @Article{Wood:1989:IFS, author = "P. Wood and D. Turcaso", title = "Implementing a Faster String Search Algorithm in {Ada}", journal = j-SIGADA-LETTERS, volume = "8", number = "3", pages = "87--97", month = may # "\slash " # jun, year = "1989", CODEN = "AALEE5", ISSN = "1094-3641 (print), 1557-9476 (electronic)", ISSN-L = "1094-3641", bibdate = "Thu Sep 28 07:33:23 MDT 2000", bibsource = "ftp://ftp.uu.net/library/bibliography; http://www.adahome.com/Resources/Bibliography/articles.ref; https://www.math.utah.edu/pub/tex/bib/sigada.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", fjournal = "ACM SIGAda Ada Letters", journal-URL = "https://dl.acm.org/loi/sigada", } @Article{Yasuda:1989:PAM, author = "Takuya Yasuda and Satoshi Igarashi and Oichi Atoda and Nobuo Saito", title = "`{Pattern} associative memory' and its use in logic programming language processors", journal = j-SYS-COMP-JAPAN, volume = "20", number = "11", pages = "11--20", month = nov, year = "1989", CODEN = "SCJAEP", ISSN = "0882-1666 (print), 1520-684X (electronic)", ISSN-L = "0882-1666", bibdate = "Thu Oct 31 17:45:50 2002", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The traditional speed improvement of the logic language processing system has been based on the parallelism of clauses, and aimed at speeding up of the unification. However, there can be another approach. By introducing a specific function to the memory hardware, the database can be managed independently of the host CPU. Then the speed is improved by minimizing the data traffic through the von Neumann bottleneck in the retrieval of candidate clauses. This paper proposes a pattern associative memory (PAM) which maintains the clauses by the structural representation in it and retrieves them by pattern matching with a high speed. To make use of argument parallelism of clauses, parallel hashing is adopted in PAM.", acknowledgement = ack-nhfb, affiliation = "Tokyo Univ of Agriculture and Technology", affiliationaddress = "Koganei, Jpn", classification = "722; 723; 922", fjournal = "Systems and computers in Japan", journalabr = "Syst Comput Jpn", keywords = "Associative; Candidate Clause Retrieval; Computer Systems, Digital --- Parallel Processing; Data Storage, Digital; Database Systems; Garbage Collection; Hash Table; Hashing Processor; Logic Language Processing; Pattern Associative Memory; Probability", } @Article{Zetzsche:1989:IPR, author = "Christoph Zetzsche and Terry Caelli", title = "Invariant pattern recognition using multiple filter image representations", journal = j-CVGIP, volume = "45", number = "2", pages = "251--262", month = feb, year = "1989", CODEN = "CVGPDB", ISSN = "0734-189x (print), 1557-895x (electronic)", ISSN-L = "0734-189X", bibdate = "Thu Feb 6 18:44:11 MST 1997", bibsource = "Compendex database; Graphics/rosenfeld/1989.bib; https://www.math.utah.edu/pub/tex/bib/cvgip.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Lehrstuhl fur Nachrichtentechnik, Tech. Univ., Munich, West Germany", affiliationaddress = "Munich, West Germany", classification = "723; C1250 (Pattern recognition); C5260B (Computer vision and picture processing)", fjournal = "Computer Vision, Graphics, and Image Processing", journal-URL = "http://www.sciencedirect.com/science/journal/0734189X", journalabr = "Comput Vision Graphics Image Process", keywords = "4-Dimensional representation; Correlation processes; Cross correlation; Encoding scheme; Image Decomposition; Image decompositions; Image positional information; Image Processing; Invariant Pattern Recognition; Invariant pattern recognition; Matched filtering; Multiple Filter Image Representations; Multiple filter image representations; Pattern Matching; Pattern Recognition; Pattern rotations; Recognition system, (image transformation, form); Scale changes; Signal Filtering and Prediction; Translations", thesaurus = "Correlation methods; Filtering and prediction theory; Pattern recognition", } @Article{Zhu:1989:TTD, author = "Rui Feng Zhu and Tadao Takaoka", title = "A Technique for Two-Dimensional Pattern Matching", journal = j-CACM, volume = "32", number = "9", pages = "1110--1120", month = sep, year = "1989", CODEN = "CACMA2", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Thu May 30 09:41:10 MDT 1996", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/cacm1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0001-0782/66459.html", acknowledgement = ack-nhfb, fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", keywords = "algorithms; design; image multiplicity comparison; performance", subject = "{\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching. {\bf I.5.4}: Computing Methodologies, PATTERN RECOGNITION, Applications, Text processing.", } @Article{Arcangeli:1990:PPP, author = "J.-P. Arcangeli and C. Pomian", title = "Principles of plasma pattern and alternative structure compilation", journal = j-THEOR-COMP-SCI, volume = "71", number = "2", pages = "177--191", day = "30", month = mar, year = "1990", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:24:22 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", acknowledgement = ack-nhfb, classification = "C6150C (Compilers, interpreters and other processors)", conflocation = "Nice, France; 23-25 Feb. 1988", conftitle = "INFORMATIKA 88. 2nd French-Soviet Workshop on Methods of Compilation and Program Construction", corpsource = "Lab. Langages et Syst. Inf., Univ. Paul Sabatier, Toulouse, France", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "alternative structure compilation; backtracking; formal model; message parsing; pattern codes; pattern matching; plasma pattern; program compilers; simple jumps; single pass compiler; syntax", pubcountry = "Netherlands", treatment = "P Practical", } @Article{Balachandran:1990:ERC, author = "A. Balachandran and D. M. Dhamdhere and S. Biswas", title = "Efficient retargetable code generation using bottom-up tree pattern matching", journal = j-COMP-LANGS, volume = "15", number = "3", pages = "127--140", month = "????", year = "1990", CODEN = "COLADA", ISSN = "0096-0551 (print), 1873-6742 (electronic)", ISSN-L = "0096-0551", bibdate = "Tue Mar 25 14:04:06 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/complngs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Indian Inst of Technology", affiliationaddress = "Bombay, India", classcodes = "C6150C (Compilers, interpreters and other processors); C4210 (Formal logic)", classification = "722; 723", corpsource = "Indian Inst. of Technol., Bombay, India", fjournal = "Computer Languages", journal-URL = "http://www.sciencedirect.com/science/journal/00960551", journalabr = "Comput Lang", keywords = "attributed production rules; automatic code generation; bottom-up tree pattern; Code Generation; compression; Computer Operating Systems--Program Compilers; Computer Programming Languages; cost; derivation; expression trees; folding technique; Graham Glanville style; grammars; information; matching; matching automaton; minimum cost; optimal instruction; Pattern Matching; program compilers; regular tree grammar; retargetable code generation; selection; table; target machine instructions", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Barrett:1990:RGA, author = "Robert Barrett", title = "References On {\tt grep}, {\tt awk}, {\tt sed}, and {\tt tr}", journal = j-CUJ, volume = "8", type = "Letter", number = "3", pages = "138--??", month = mar, year = "1990", ISSN = "0898-9788", bibdate = "Fri Aug 30 16:52:23 MDT 1996", bibsource = "http://www.cuj.com/cbklist.htm; https://www.math.utah.edu/pub/tex/bib/cccuj.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Bertossi:1990:SMW, author = "A. A. Bertossi and F. Luccio and E. Lodi and L. Pagli", title = "String matching with weighted errors", journal = j-THEOR-COMP-SCI, volume = "73", number = "3", pages = "319--328", day = "22", month = jul, year = "1990", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:24:22 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", acknowledgement = ack-nhfb, classification = "C4240 (Programming and algorithm theory)", corpsource = "Dipartimento di Inf., Pisa Univ., Italy", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "computational complexity; parallel algorithms; parallel time; PRAM model; sequential time; string matching problem; weighted differences; weighted errors", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Bradford:1990:SMB, author = "James H. Bradford", title = "Sequence matching with binary codes", journal = j-INFO-PROC-LETT, volume = "34", number = "4", pages = "193--196", day = "24", month = apr, year = "1990", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Brock Univ", affiliationaddress = "St. Catharines, Ont, Can", classification = "723; B6120B (Codes); C1250 (Pattern recognition); C1260 (Information theory)", corpsource = "Dept. of Comput. Sci., Brock Univ., St. Catharines, Ont., Canada", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "algorithm; Algorithms; Binary Codes; binary codes; binary codewords; binary numbers; Codes, Symbolic; Computer Metatheory--Computability and Decidability; Computer Programming; error correction codes; Hamming Distance; Hamming distance; Levenshtein Distance; Levenshtein distance; pattern recognition; Sequence Matching; sequence matching; string pairs; String Similarity; string similarity; String-To-String Editing Problem", treatment = "T Theoretical or Mathematical", } @Article{Breslauer:1990:OTP, author = "Dany Breslauer and Zvi Galil", title = "An optimal {$ O(\log \log n) $} time parallel string matching algorithm", journal = j-SIAM-J-COMPUT, volume = "19", number = "6", pages = "1051--1058", month = dec, year = "1990", CODEN = "SMJCAT", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68Q25 (68R15)", MRnumber = "91m:68074", bibdate = "Mon Nov 29 11:01:39 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/19/6; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @InProceedings{Chang:1990:ASM, author = "W. I. Chang and E. L. Lawler", title = "Approximate string matching in sublinear expected time", crossref = "IEEE:1990:PAS", volume = "1", pages = "116--124", year = "1990", bibdate = "Thu Apr 5 06:13:50 MDT 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Cohen:1990:CLP, author = "Jacques Cohen", title = "Constraint logic programming languages", journal = j-CACM, volume = "33", number = "7", pages = "52--68", month = jul, year = "1990", CODEN = "CACMA2", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Thu May 30 09:41:10 MDT 1996", bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/IMMD_IV.bib; http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/cacm1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0001-0782/79209.html", abstract = "Constraint Logic Programming (CLP) is an extension of Logic Programming aimed at replacing the pattern matching mechanism of unification, as used in Prolog, by a more general operation called constraint satisfaction. This article provides a panoramic view of the recent work done in designing and implementing CLP languages. It also presents a summary of their theoretical foundations, discusses implementation issues, compares the major CLP languages, and suggests directions for further work.", acknowledgement = ack-nhfb, fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", keywords = "design; languages", subject = "{\bf F.4.1}: Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Mathematical Logic, Logic programming. {\bf F.4.1}: Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Mathematical Logic, Prolog. {\bf D.3.4}: Software, PROGRAMMING LANGUAGES, Processors, Compilers.", } @TechReport{Cole:1990:TBC, author = "R. Cole", title = "Tight bounds on the complexity of the {Boyer--Moore} pattern matching algorithm", type = "Report", number = "512", institution = "Computer Science Dept, New York University", address = "New York, NY, SA", month = jun, year = "1990", bibdate = "Sat Sep 02 14:28:37 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @InProceedings{Colussi:1990:ECS, author = "L. Colussi and Z. Galil and R. Giancarlo", title = "On the exact complexity of string matching", crossref = "IEEE:1990:PAS", volume = "1", pages = "135--144", year = "1990", bibdate = "Thu Apr 5 06:13:50 MDT 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @InProceedings{Consens:1990:GVF, author = "Mariano P. Consens and Alberto O. Mendelzon", title = "{GraphLog}: a visual formalism for real life recursion", crossref = "ACM:1990:PPN", pages = "404--416", year = "1990", bibdate = "Wed Oct 25 12:40:13 MDT 2000", bibsource = "http://www.acm.org/pubs/contents/proceedings/series/sigmod_pods/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/articles/proceedings/pods/298514/p404-consens/p404-consens.pdf; http://www.acm.org/pubs/citations/proceedings/pods/298514/p404-consens/", abstract = "We present a query language called GraphLog, based on a graph representation of both data and queries. Queries are graph patterns. Edges in queries represent edges or paths in the database. Regular expressions are used to qualify these paths. We characterize the expressive power of the language and show that it is equivalent to stratified linear Datalog, first order logic with transitive closure, and non-deterministic logarithmic space (assuming ordering on the domain). The fact that the latter three classes coincide was not previously known. We show how GraphLog can be extended to incorporate aggregates and path summarization, and describe briefly our current prototype implementation.", acknowledgement = ack-nhfb, classification = "C6140D (High level languages); C6160Z (Other DBMS)", corpsource = "Comput. Syst. Res. Inst., Toronto Univ., Ont., Canada", keywords = "database management systems; edges; expressive power; first order logic; graph representation; graph theory; GraphLog; path summarization; paths; query language; query languages; real life recursion; transitive closure; visual formalism", sponsororg = "SIGACT; SIGMOD; SIGART", treatment = "P Practical", } @Book{Cormen:1990:IA, author = "Thomas H. Cormen and Charles E. (Eric) Leiserson and Ronald L. Rivest", title = "Introduction to Algorithms", publisher = pub-MIT, address = pub-MIT:adr, pages = "xvii + 1028", year = "1990", ISBN = "0-262-03141-8, 0-07-013143-0 (McGraw-Hill)", ISBN-13 = "978-0-262-03141-7, 978-0-07-013143-9 (McGraw-Hill)", LCCN = "QA76.6 .C662 1990", bibdate = "Tue Oct 11 06:42:43 2005", bibsource = "https://www.math.utah.edu/pub/bibnet/subjects/acc-stab-num-alg.bib; https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, libnote = "Not yet in my library.", subject = "Computer programming; Computer algorithms", tableofcontents = "Growth of functions \\ Summations \\ Recurrences \\ Sets, etc. \\ Counting and probability \\ Heapsort \\ Quicksort \\ Sorting in linear time \\ Medians and order statistics \\ Elementary data structures \\ Hash tables \\ Binary search trees \\ Red-black trees \\ Augmenting data structures \\ Dynamic programming \\ Greedy algorithms \\ Amortized analysis \\ B-trees \\ Binomial heaps \\ Fibonacci heaps \\ Data structures for disjoint sets \\ Elementary graph algorithms \\ Minimum spanning trees \\ Single-source shortest paths \\ All-pairs shortest paths \\ Maximum flow \\ Sorting networks \\ Arithmetic circuits \\ Algorithms for parallel computers \\ Matrix operations \\ Polynomials and the FFT \\ Number-theoretic algorithms \\ String matching \\ Computational geometry \\ NP-completeness \\ Approximation algorithms", } @InProceedings{Dubiner:1990:FTP, author = "M. Dubiner and Z. Galil and E. Magen", title = "Faster tree pattern matching", crossref = "IEEE:1990:PAS", volume = "1", pages = "145--150", year = "1990", bibdate = "Thu Apr 5 06:13:50 MDT 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Galil:1990:IAA, author = "Zvi Galil and Kunsoo Park", title = "An Improved Algorithm for Approximate String Matching", journal = j-SIAM-J-COMPUT, volume = "19", number = "6", pages = "989--999", month = dec, year = "1990", CODEN = "SMJCAT", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68Q20 (68Q25 68U15)", MRnumber = "92c:68062", MRreviewer = "Linda Pagli", bibdate = "Mon Nov 29 11:01:39 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/19/6; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @Article{Giegerich:1990:CSI, author = "R. Giegerich", title = "Code selection by inversion of order-sorted derivors", journal = j-THEOR-COMP-SCI, volume = "73", number = "2", pages = "177--211", day = "22", month = jun, year = "1990", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:24:22 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", acknowledgement = ack-nhfb, classification = "C4240 (Programming and algorithm theory); C6140D (High level languages)", corpsource = "Tech. Fak., Bielefeld Univ., West Germany", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "code selection problem; code selector specification; completeness; expressive power; formal criteria; hierarchic derivor; high level languages; intermediate languages; inversion; nonsyntactic subtasks; order-sorted derivors; order-sorted term algebras; pattern matching; programming theory", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @InProceedings{Glueck:1990:AMT, author = "R. Glueck and V. F. Turchin", title = "Application of metasystem transition to function inversion and transformation", crossref = "Watanabe:1990:IPI", pages = "286--287", year = "1990", bibdate = "Thu Mar 12 08:36:58 MST 1998", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/issac.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org:80/pubs/citations/proceedings/issac/96877/p286-glueck/", abstract = "The authors prove by construction an application considered theoretically by Turchin (1972) that self-application of metacomputation will allow the automatic construction of inverse algorithms, in particular the algorithm of binary subtraction from the algorithm of binary addition. Further, they present results concerning the algorithmic construction of an efficient pattern matcher, which leads to the Knuth, Morris and Pratt algorithm. These results were achieved with the first working model of a self-applicable supercompiler system, implementing the concept of metacomputation.", acknowledgement = ack-nhfb, affiliation = "Univ. of Technol. Vienna, Austria", classification = "C4240 (Programming and algorithm theory)", keywords = "Algorithmic construction; algorithms; Function inversion; Inverse algorithms; Metacomputation; Metasystem transition; Pattern matcher; theory; Transformation; verification", subject = "{\bf G.1.0} Mathematics of Computing, NUMERICAL ANALYSIS, General, Computer arithmetic. {\bf I.1.0} Computing Methodologies, SYMBOLIC AND ALGEBRAIC MANIPULATION, General. {\bf D.3.4} Software, PROGRAMMING LANGUAGES, Processors. {\bf F.2.2} Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching.", thesaurus = "Algorithm theory; Computation theory; Symbol manipulation", } @Article{Goldschlag:1990:MVC, author = "D. M. Goldschlag", title = "Mechanically verifying concurrent programs with the {Boyer--Moore} prover", journal = j-IEEE-TRANS-SOFTW-ENG, volume = "16", number = "9", pages = "1005--1023", month = sep, year = "1990", CODEN = "IESEDJ", DOI = "https://doi.org/10.1109/32.58787", ISSN = "0098-5589 (print), 1939-3520 (electronic)", ISSN-L = "0098-5589", bibdate = "Thu Feb 1 11:00:42 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=58787", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Software Engineering", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32", } @Article{Gonnet:1990:AKR, author = "Gaston H. Gonnet and Ricardo A. Baeza-Yates", title = "An analysis of the {Karp-Rabin} string matching algorithm", journal = j-INFO-PROC-LETT, volume = "34", number = "5", pages = "271--274", day = "7", month = may, year = "1990", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We present an average case analysis of the Karp-Rabin string matching algorithm. This algorithm is a probabilistic algorithm that adapts hashing techniques to string searching. We also propose an efficient implementation of this algorithm.", acknowledgement = ack-nhfb, affiliation = "Univ of Waterloo", affiliationaddress = "Waterloo, Ont, Canada", classification = "723; 922; C4240 (Programming and algorithm theory)", corpsource = "Dept. of Comput. Sci., Waterloo Univ., Ont., Canada", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "algorithm theory; Algorithms; average case analysis; Computer Programming; Hashing; hashing techniques; Karp-Rabin Algorithm; Karp-Rabin string matching algorithm; pattern recognition; probabilistic algorithm; Probability; search problems; String Matching; String Searching", treatment = "T Theoretical or Mathematical", } @Article{Gonnet:1990:AKS, author = "Gaston H. Gonnet and Ricardo A. Baeza-Yates", title = "An analysis of the {Karp-Rabin} string matching algorithm", journal = j-INFO-PROC-LETT, volume = "34", number = "5", pages = "271--274", day = "7", month = may, year = "1990", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We present an average case analysis of the Karp-Rabin string matching algorithm. This algorithm is a probabilistic algorithm that adapts hashing techniques to string searching. We also propose an efficient implementation of this algorithm.", acknowledgement = ack-nhfb, affiliation = "Univ of Waterloo", affiliationaddress = "Waterloo, Ont, Canada", classification = "723; 922; C4240 (Programming and algorithm theory)", corpsource = "Dept. of Comput. Sci., Waterloo Univ., Ont., Canada", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190/", journalabr = "Inf Process Lett", keywords = "algorithm theory; Algorithms; average case analysis; Computer Programming; Hashing; hashing techniques; Karp-Rabin Algorithm; Karp-Rabin string matching algorithm; pattern recognition; probabilistic algorithm; Probability; search problems; String Matching; String Searching", treatment = "T Theoretical or Mathematical", } @Article{Guenther:1990:EEF, author = "G. R. Guenther", title = "Efficient expansion of factored expressions", journal = j-INFO-PROC-LETT, volume = "35", number = "2", pages = "69--72", day = "29", month = jun, year = "1990", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Laurentian Univ", affiliationaddress = "Sudbury, Ont, Can", classification = "723; C4210 (Formal logic); C4240 (Programming and algorithm theory); C6140D (High level languages)", corpsource = "Dept. of Math. and Comput. Sci., Laurentian Univ., Sudbury, Ont., Canada", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Computer Programming --- Algorithms; Computer Programming Languages; Factored Expressions; factored expressions; formal languages; generator; high level languages; iterator; Iterators; programming theory; Regular Expressions; regular expressions; Theory", treatment = "P Practical; T Theoretical or Mathematical", } @TechReport{Harrison:1990:CAV, author = "Luddy Harrison and Zahira Ammarguellat", title = "A comparison of automatic versus manual parallelization of the {Boyer--Moore} theorem prover", number = "CSRD 960", institution = inst-UIUC-CSRD, address = inst-UIUC-CSRD:adr, pages = "17", year = "1990", bibdate = "Fri Aug 30 08:01:51 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/super.bib", abstract = "In this paper, we compare the manual parallelization of the Boyer--Moore theorem prover [Gab85] using the constructs of Multiplisp [Hal85] and Qlisp [GGS89], with the automatic parallelization of the same program using the Parcel compiler [Har89]. boyer is popular as a Lisp benchmark because it performs a significant and representative computation; its structure makes it interesting for studying manual and automatic parallelization as well. We will compare the parallelism that results from a straightforward hand-parallelization of the theorem prover using future and qlet, with that introduced by Parcel. We find the most significant parallelism within the theorem prover is easily expressed using future or qlet, and that this same parallelism is automatically uncovered by the Parcel compiler. There is in boyer some producer-consumer parallelism that can be expressed using future or qlet, that is not exploited by Parcel. On the other hand, we show that Parcel is able to deduce the lifetimes of dynamically allocated objects, and on this basis to guide the management of a hierarchical memory, whereas there is no provision for the management of such a memory in either Multilisp or Qlisp.", acknowledgement = ack-nhfb, annote = "To appear in Monographs in Parallel and Distributed Computing, Chris Jesshope and Dave Klappholz, eds., Pitman Publishing, 1990. Supported in part by the National Science Foundation. Supported in part by the U.S. Department of Energy. Supported in part by the Office of Naval Research. Supported in part by the Air Force Office of Scientific Research.", keywords = "Automatic theorem proving; Parallel processing (Electronic computers)", } @Article{Hashiguchi:1990:ERE, author = "K. Hashiguchi and H. Yoo", title = "Extended regular expressions of star degree at most two", journal = j-THEOR-COMP-SCI, volume = "76", number = "2-3", pages = "273--284", day = "21", month = nov, year = "1990", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:24:22 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", acknowledgement = ack-nhfb, classification = "C4210 (Formal logic)", corpsource = "Dept. of Inf. and Comput. Sci., Toyohashi Univ. of Technol., Japan", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "closure; concatenation; context-free languages; extended regular expressions; finite languages; formal languages; Kleene star; star degree; star operator; subfamily; union", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Hendren:1990:PPR, author = "Laurie J. Hendren and Alexandru Nicolau", title = "Parallelizing programs with recursive data structures", journal = j-IEEE-TRANS-PAR-DIST-SYS, volume = "1", number = "1", pages = "35--47", month = jan, year = "1990", CODEN = "ITDSEO", ISSN = "1045-9219 (print), 1558-2183 (electronic)", ISSN-L = "1045-9219", bibdate = "Fri Apr 11 15:20:39 MDT 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/ieeetranspardistsys.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Cornell Univ, Dep of Comput Sci, Ithaca, NY, USA", classification = "722; 723; C4240 (Programming and algorithm theory); C6120 (File organisation); C6150C (Compilers, interpreters and other processors)", corpsource = "Dept. of Comput. Sci., Cornell Univ., Ithaca, NY, USA", fjournal = "IEEE Transactions on Parallel and Distributed Systems", journal-URL = "http://www.computer.org/tpds/archives.htm", journalabr = "IEEE Trans Parallel Distrib Syst", keywords = "accessible nodes; automatic parallelization; Computer Operating Systems; Computer Systems, Digital--Parallel Processing; Data Processing--Data Structures; data structures; directed acyclic graphs; directed graphs; disambiguation techniques; dynamic data structures; dynamically updatable trees; imperative; imperative programs; interference; interference analysis; language; parallel programming; parallel programming languages; parallelization techniques; parallelizing compilers; Parallelizing Compilers; Program Compilers; program compilers; Recursive Data Structures; recursive data structures; regular-expression-like representation; tools; trees (mathematics)", treatment = "T Theoretical or Mathematical", } @Article{Henry:1990:UWI, author = "Robert R. Henry and Kenneth M. Whaley and Bruce Forstall", title = "The {University} of {Washington} illustrating compiler", journal = j-SIGPLAN, volume = "25", number = "6", pages = "223--233", month = jun, year = "1990", CODEN = "SINODQ", ISBN = "0-89791-364-7", ISBN-13 = "978-0-89791-364-5", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:15:53 MST 2003", bibsource = "Compendex database; http://portal.acm.org/; http://www.acm.org/pubs/contents/proceedings/pldi/93542/index.html; https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org:80/pubs/citations/proceedings/pldi/93542/p223-henry/", abstract = "The University of Washington illustrating compiler (UWPI) automatically illustrates the data structures used in simple programs written in a subset of Pascal${}^2$. A UWPI user submits a program to UWPI, and can then watch a graphical display show time varying illustrations of the data structures and program source code. UWPI uses the information latent in the program to determine how to illustrate the program. UWPI infers the abstract data types directly from the declarations and operations used in the source program, and then lays out the illustration in a natural way by instantiating well-known layouts for the abstract types. UWPI solves program illustration using compile-time pattern matching and type inferencing to link anticipated execution events to display events, rather than relying on user assistance or specialized programming techniques. UWPI has been used to automatically illustrate didactic sorting and searching examples, and can be used to help teach basic data structures, or to help when debugging programs.", acknowledgement = ack-nhfb, affiliation = "Univ of Washington", affiliationaddress = "Seattle, WA, USA", annote = "Published as part of the Proceedings of PLDI'90.", classification = "722; 723", conference = "Proceedings of the ACM SIGPLAN '90 Conference on Programming Language Design and Implementation", conferenceyear = "1990", fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", journalabr = "SIGPLAN Not", keywords = "Computer Operating Systems; Computer Programming Languages --- pascal; Data Processing --- Data Structures; design; Program Compilers; reliability; University of Washington Illustrating Compiler (UWPI)", meetingaddress = "White Plains, NY, USA", meetingdate = "Jun 20--22 1990", meetingdate2 = "06/20--22/90", sponsor = "Assoc for Computing Machinery, Special Interest Group on Programming Languages", subject = "{\bf D.3.4} Software, PROGRAMMING LANGUAGES, Processors, Compilers. {\bf D.3.3} Software, PROGRAMMING LANGUAGES, Language Constructs and Features, Data types and structures. {\bf D.3.3} Software, PROGRAMMING LANGUAGES, Language Constructs and Features, Abstract data types. {\bf D.2.2} Software, SOFTWARE ENGINEERING, Design Tools and Techniques, User interfaces. {\bf D.2.5} Software, SOFTWARE ENGINEERING, Testing and Debugging, Debugging aids. {\bf G.2.2} Mathematics of Computing, DISCRETE MATHEMATICS, Graph Theory.", } @TechReport{Hume:1990:FSS, author = "Andrew Hume and Daniel Sunday", title = "Fast String Searching", type = "Computing Science Technical Report", number = "156", institution = inst-ATT-BELL, address = inst-ATT-BELL:adr, pages = "??", year = "1990", bibdate = "Sat Sep 02 07:46:26 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", acknowledgement = ack-nhfb, remark = "Published in \cite{Hume:1991:FSS}. No electronic form of this report has yet been located, so the year is uncertain.", } @Article{Isenman:1990:PAI, author = "M. E. Isenman and D. E. Shasha", title = "Performance and architectural issues for string matching", journal = j-IEEE-TRANS-COMPUT, volume = "39", number = "2", pages = "238--250", month = feb, year = "1990", CODEN = "ITCOB4", DOI = "https://doi.org/10.1109/12.45209", ISSN = "0018-9340 (print), 1557-9956 (electronic)", ISSN-L = "0018-9340", bibdate = "Thu Jul 7 14:19:59 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=45209", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12", } @Article{Janicki:1990:TSS, author = "R. Janicki and T. Muldner", title = "Transformations of sequential specifications into concurrent specifications by synchronization guards", journal = j-THEOR-COMP-SCI, volume = "77", number = "1-2", pages = "97--129", day = "07", month = dec, year = "1990", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:24:22 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", acknowledgement = ack-nhfb, classification = "C4210 (Formal logic); C4240 (Programming and algorithm theory); C6110B (Software engineering techniques)", conflocation = "Iowa City, IA, USA; 22-24 May 1989", conftitle = "International Conference on Algebraic Methodology and Software Technology, AMAST", corpsource = "Dept. of Comput. Sci. and Syst., McMaster Univ., Hamilton, Ont., Canada", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "Banach; concurrent specifications; formal specification; high level languages; parallel programming; Pascal; Pascal-like language; programming language representation; programming theory; regular expression; sequential specifications; special actions; synchronisation; synchronization guards; transformations", pubcountry = "Netherlands", treatment = "P Practical", } @Article{Jokinen:1990:PTA, author = "M. O. Jokinen", title = "Parameter Transmission Abstractions", journal = j-COMP-J, volume = "33", number = "2", pages = "133--139", month = apr, year = "1990", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/33.2.133", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Tue Dec 4 14:48:28 MST 2012", bibsource = "http://comjnl.oxfordjournals.org/content/33/2.toc; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_02/; https://www.math.utah.edu/pub/tex/bib/compj.bib; https://www.math.utah.edu/pub/tex/bib/compj1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://comjnl.oxfordjournals.org/content/33/2/133.full.pdf+html; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_02/tiff/133.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_02/tiff/134.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_02/tiff/135.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_02/tiff/136.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_02/tiff/137.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_02/tiff/138.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_02/tiff/139.tif", acknowledgement = ack-nhfb, affiliation = "Dept. of Comput. Sci., Turku Univ., Finland", classcodes = "C6140D (High level languages); C6110 (Systems analysis and programming); C6120 (File organisation)", classification = "C6110 (Systems analysis and programming); C6120 (File organisation); C6140D (High level languages)", corpsource = "Dept. of Comput. Sci., Turku Univ., Finland", fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", keywords = "computational linguistics; conventional; Conventional parameter transmission mechanisms; copying; Copying; data structures; default values; Default values; high level; implicit actions; Implicit actions; languages; linguistic mechanism; Linguistic mechanism; optional parameters; Optional parameters; parameter binding; parameter transmission abstractions; Parameter transmission abstractions; parameter transmission mechanisms; pattern recognition; pattern-matching based; Pattern-matching based parameter binding; programming; programming languages; Programming languages; type conversions; Type conversions", thesaurus = "Computational linguistics; Data structures; High level languages; Pattern recognition; Programming", treatment = "P Practical", } @Article{Kuo:1990:NSC, author = "R. T. Kuo and S. S. Tseng", title = "The necessary and sufficient condition for the worst-case male optimal stable matching", journal = j-INFO-PROC-LETT, volume = "34", number = "5", pages = "261--263", day = "7", month = may, year = "1990", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Natl Chiao Tung Univ", affiliationaddress = "Hsinchu, Taiwan", classification = "723; C4240 (Programming and algorithm theory); C4250 (Database theory)", corpsource = "National Chiao Tung Univ., Hsinchu, Taiwan", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "algorithm theory; Algorithms; Computer Programming; database theory; pattern recognition; probability; search problems; sequential stable matching problem; Stable Matching Problem; worst-case male optimal stable matching", treatment = "T Theoretical or Mathematical", } @Article{Lee:1990:HSC, author = "Peizong Lee and Zvi M. Kedem", title = "On High-Speed Computing with a Programmable Linear Array", journal = j-J-SUPERCOMPUTING, volume = "4", number = "3", pages = "223--249", month = sep, year = "1990", CODEN = "JOSUED", DOI = "https://doi.org/10.1007/BF00127833", ISSN = "0920-8542 (print), 1573-0484 (electronic)", ISSN-L = "0920-8542", bibdate = "Wed Jul 6 11:13:02 MDT 2005", bibsource = "ftp://ftp.ira.uka.de/pub/Parallel/JOURNAL.SUPER.bib; http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0920-8542&volume=4&issue=3; https://www.math.utah.edu/pub/tex/bib/jsuper.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0920-8542&volume=4&issue=3&spage=223", acknowledgement = ack-nhfb, affiliation = "Inst. of Inf. Sci., Acad. Sinica, Taipei, Taiwan", classification = "B1265B (Logic circuits); C5220 (Computer architecture)", corpsource = "Inst. of Inf. Sci., Acad. Sinica, Taipei, Taiwan", fjournal = "The Journal of Supercomputing", journal-URL = "http://link.springer.com/journal/11227", keywords = "cellular arrays; database operations; formal methodology; high-speed computations; matrix arithmetic; nested for-loops; optimal processor/time product; parallel processing; pattern matching; programmable linear systolic array; sequential algorithms; signal processing; sorting; systolic arrays; transitive closure", treatment = "T Theoretical or Mathematical", } @Article{Lins:1990:ISU, author = "Rafael D. Lins and Simon J. Thompson", title = "Implementing {SASL} using Categorical Multi-combinators", journal = j-SPE, volume = "20", number = "11", pages = "1137--1165", month = nov, year = "1990", CODEN = "SPEXBL", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Categorical multi-combinators form a rewriting system developed with the aim of providing efficient implementations of lazy functional languages. The core of the system of categorical multi-combinators consists of only two rewriting laws with a very low pattern-matching complexity. This system allows the equivalent of several beta-reductions to be performed at once, and avoids the generation of trivially reducible sub-expressions. In this paper we present a method of introducing algebraic data-types and local recursion to categorical multi-combinators which is both efficient and in harmony with the original system. We also show how to compile a subset of SASL into categorical combinators. Some implementation issues are also addressed here. The performance of implementations of categorical multi-combinator SASL machines is analysed here and compared with other implementations of functional languages.", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", keywords = "combinator functional", } @Article{Liu:1990:COR, author = "Cheng-Hsiung Liu and Wen-Hsiang Tsai", title = "{$3$D} Curved Object Recognition from Multiple {$2$D} Camera Views", journal = j-CVGIP, volume = "50", number = "2", pages = "177--187", month = may, year = "1990", CODEN = "CVGPDB", ISSN = "0734-189x (print), 1557-895x (electronic)", ISSN-L = "0734-189X", bibdate = "Fri Jan 31 15:09:26 MST 1997", bibsource = "Compendex database; Graphics/optica.bib; https://www.math.utah.edu/pub/tex/bib/cvgip.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Inst. of Comput. Sci. and Inf. Eng., Nat. Chiao Tung Univ.", affiliationaddress = "Hsinchu, Taiwan", classification = "723; 741; C1250 (Pattern recognition); C5260B (Computer vision and picture processing)", fjournal = "Computer Vision, Graphics, and Image Processing", journal-URL = "http://www.sciencedirect.com/science/journal/0734189X", journalabr = "Comput Vision Graphics Image Process", keywords = "2D Shape Analysis; 3D curved object recognition; 3D Object Recognition; Automatic Learning; Decision Tree; Decision tree; Feature Clustering; Feature comparison; Fixed camera views; Image Processing--Image Analysis; Industrial Plants--Automation; Input 2D silhouette shape features; Lateral camera; Learning process; Model shapes; Multiple 2D camera views; Pattern Recognition Systems; Principal axes; Recognition system; Rotation; Sequential matching; Shape registration; Top camera; Top-view shape centroids; Translation; Turntable; Vision--Artificial", thesaurus = "Computer vision; Computerised pattern recognition; Computerised picture processing", } @Article{Maes:1990:CSS, author = "Maurice Maes", title = "On a cyclic string-to-string correction problem", journal = j-INFO-PROC-LETT, volume = "35", number = "2", pages = "73--78", day = "29", month = jun, year = "1990", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Philips Research Lab", affiliationaddress = "Eindhoven, Neth", classification = "723; C4240 (Programming and algorithm theory)", corpsource = "Philips Res. Labs., Eindhoven, Netherlands", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Algorithms; computational complexity; Computer Programming; cyclic string-to-string correction problem; Cyclic Strings; distance functions; distance measure; edit operations; encoding; equivalent; minimum-cost sequences; Pattern Matching; polygonal objects; similarity measure; String Correction", treatment = "T Theoretical or Mathematical", } @Article{Mahajan:1990:EPI, author = "Milind Mahajan and V. K. Prasanna Kumar", title = "Efficient parallel implementation of {RETE} pattern matching", journal = j-COMPUT-SYST-SCI-ENG, volume = "5", number = "3", pages = "187--192", month = jul, year = "1990", CODEN = "CSSEEI", ISSN = "0267-6192", bibdate = "Thu Feb 4 13:21:32 MST 1999", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/computsystscieng.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; OCLC Contents1st database", acknowledgement = ack-nhfb, affiliation = "Univ of Southern California", affiliationaddress = "Los Angeles, USA", classification = "723", fjournal = "Computer Systems Science and Engineering", journal-URL = "http://www.crlpublishing.co.uk/csse", journalabr = "Comput Syst Sci Eng", keywords = "Computer Programming --- Algorithms; Computer Systems Programming --- Multiprocessing Programs; Expert Systems; Matching Algorithms; Pattern Matching; RETE Algorithm", } @InCollection{Morris:1990:PER, author = "Joseph M. Morris", title = "Programming by expression refinement: the {KMP} algorithm", crossref = "Feijen:1990:BOB", chapter = "37", pages = "327--338", year = "1990", bibdate = "Sun Mar 27 17:53:57 1994", bibsource = "https://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, keywords = "Knuth--Morris--Pratt pattern-matching algorithm", } @Article{Nilsen:1990:SDT, author = "Kelvin Nilsen", title = "A stream data type that supports goal-directed pattern matching on unbounded sequences of values", journal = j-COMP-LANGS, volume = "15", number = "1", pages = "41--54", month = "????", year = "1990", CODEN = "COLADA", ISSN = "0096-0551 (print), 1873-6742 (electronic)", ISSN-L = "0096-0551", bibdate = "Tue Mar 25 14:04:06 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/complngs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Iowa State Univ", affiliationaddress = "Ames, IA, USA", classcodes = "C6120 (File organisation); C6110 (Systems analysis and programming); C5260B (Computer vision and picture processing)C6180N (Natural language processing); C6130D (Document processing techniques); C6140D (High level languages)", classification = "723", corpsource = "Dept. of Comput. Sci., Iowa State Univ., Ames, IA, USA", fjournal = "Computer Languages", journal-URL = "http://www.sciencedirect.com/science/journal/00960551", journalabr = "Comput Lang", keywords = "arbitrary values; Computer Programming Languages; computerised pattern recognition; Data Processing--Data Structures; data structures; data type; Design; goal-directed; Goal-Directed Pattern Matching; high; Icon; interactive user; interfaces; level languages; natural language processing; pattern matching techniques; processing; programming; sequences; Snobol4; SNOBOL4; stream data type; unbounded; user interfaces; word", treatment = "P Practical", } @InProceedings{Noor:1990:ASC, author = "Ahmed K. Noor and Carl M. Anderson", title = "Application of symbolic computation to geometrically nonlinear analysis of curved beams", crossref = "Noor:1990:SCT", pages = "115--148", year = "1990", bibdate = "Sat Oct 21 15:18:51 2000", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/mathematica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The application of a two-step hybrid analytical technique to the geometrically nonlinear analysis of curved beams is used to demonstrate the potential of symbolic computations in structural mechanics. The hybrid technique is based on successive use of the regular perturbation method and a classical direct variational procedure. The present application is also used to identify a number of problem areas which limit the realization of the full potential of symbolic computations in nonlinear structural mechanics. The tasks which can be efficiently performed by symbolic computations are: (1) generation of algebraic expressions for the perturbation functions; (2) determination of the radius of convergence of the perturbation series; and (3) evaluation of sensitivity derivatives (derivatives of the different response quantities with respect to the geometric and material parameters of the beam). The symbolic computation system Mathematica is used in the present study. A sample Mathematica program is presented for generating the perturbation functions, applying the direct variational procedure, and evaluating the sensitivity derivatives.", acknowledgement = ack-nhfb, affiliation = "Univ of Virginia", affiliationaddress = "Hampton, VA, USA", classification = "408; 723; 921", conference = "Winter Annual Meeting of the American Society of Mechanical Engineers", conferenceyear = "1990", journalabr = "ASME Pressure Vessels Piping Div Publ PVP", keywords = "Analysis; Beams and Girders; Computer Program Mathematica; Computer Software; Curved Beams; Direct Variational Procedure; Mathematical Techniques --- Nonlinear Equations; Nonlinear Geometric Analysis; Regular Perturbation Method; Symbolic Computation", meetingaddress = "Dallas, TX, USA", meetingdate = "Nov 25--30 1990", meetingdate2 = "11/25--30/90", sponsor = "ASME, Pressure Vessels and Piping Div; ASME, Applied Mechanics Div; ASME, Computers in Engineering Div", } @Article{Partsch:1990:FPM, author = "H. A. Partsch and F. A. Stomp", title = "A fast pattern matching algorithm derived by transformational and assertional reasoning", journal = j-FORM-ASP-COMPUT, volume = "2", number = "1", pages = "109--122", month = mar, year = "1990", CODEN = "FACME5", DOI = "https://doi.org/10.1007/BF01888219", ISSN = "0934-5043 (print), 1433-299X (electronic)", ISSN-L = "0934-5043", bibdate = "Tue Mar 17 20:57:21 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/formaspcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/BF01888219", acknowledgement = ack-nhfb, fjournal = "Formal Aspects of Computing", journal-URL = "http://link.springer.com/journal/165", } @Article{Peacocke:1990:ISS, author = "Richard D. Peacocke and Daryl H. Graf", title = "An Introduction to Speech and Speaker Recognition", journal = j-COMPUTER, volume = "23", number = "8", pages = "26--33", month = aug, year = "1990", CODEN = "CPTRB4", ISSN = "0018-9162 (print), 1558-0814 (electronic)", ISSN-L = "0018-9162", bibdate = "Tue Feb 04 06:54:17 1997", bibsource = "Ai/Speech.bib; Compendex database; https://www.math.utah.edu/pub/tex/bib/computer1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; Misc/IMMD_IV.bib", abstract = "Speech recognition, the ability to identify spoken words, and speaker recognition, the ability to identify who is saying them, are becoming commonplace applications of speech processing technology.", acknowledgement = ack-nhfb, affiliation = "Bell Northern Research, Ottawa, Ont, Can", classification = "721; 723; 751; 922; B6130 (Speech analysis and processing techniques); C1250C (Speech recognition); C5260 (Digital signal processing); C5585 (Speech recognition and synthesis); C6180N (Natural language processing)", fjournal = "Computer", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2", journalabr = "Computer", keywords = "Automata Theory--Grammars; Controlled environmental conditions; Digital signal processing module; Hidden Markov Models; Isolated words; Limited vocabulary size; Pattern-matching algorithm; Preprocessed signal storage; Probability; Recognition; Reference speech patterns; Signal Processing--Digital Techniques; Speaker recognition; Speaker-dependent systems; Speech; Speech capture device; Speech recognition system; Speech recognition task; Tightly constrained grammar; Tightly Constrained Grammar", thesaurus = "Computerised signal processing; Speech recognition", } @TechReport{Pratt:1990:ALP, author = "Vaughan Pratt", title = "Action logic and pure induction", type = "Technical Report", number = "CS-TR-90-1343", institution = inst-STAN-CS, address = inst-STAN-CS:adr, pages = "??--??", month = nov, year = "1990", bibdate = "Thu Nov 20 12:13:32 MST 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/stanford-cstr.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www-db.stanford.edu/TR/CS-TR-90-1343.html", abstract = "In Floyd--Hoare logic, programs are dynamic while assertions are static (hold at states). In action logic the two notions become one, with programs viewed as on-the-fly assertions whose truth is evaluated along intervals instead of at states. Action logic is an equational theory ACT conservatively extending the equational theory REG of regular expressions with operations preimplication $a \to b$ (had $a\#$ then $b$) and postimplication $b \leftarrow a$ ($b$ if-ever $a$). Unlike REG, ACT is finitely based, makes $ a^* $ reflexive transitive closure, and has an equivalent Hilbert system. The crucial axiom is that of pure induction, $ {(a \to a)}^* = a \to a$.", acknowledgement = ack-nhfb, } @Article{Ramesh:1990:PTP, author = "R. Ramesh and I. V. Ramakrishnan", title = "Parallel Tree Pattern Matching", journal = j-J-SYMBOLIC-COMP, volume = "9", number = "4", pages = "485--502 (or 485--501??)", month = apr, year = "1990", CODEN = "JSYCEH", ISSN = "0747-7171 (print), 1095-855X (electronic)", ISSN-L = "0747-7171", bibdate = "Wed Mar 19 13:51:24 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/jsymcomp.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classcodes = "C4240 (Programming and algorithm theory); C1160 (Combinatorial mathematics); C1250 (Pattern recognition)", corpsource = "Dept. of Comput. Sci., Texas Univ., Dallas, TX, USA", fjournal = "Journal of Symbolic Computation", journal-URL = "http://www.sciencedirect.com/science/journal/07477171", keywords = "automatic; code; compilers; computational complexity; optimization; parallel algorithm; parallel algorithms; parallel random access machine model; parallel tree pattern matching; pattern; programming tasks; recognition; Rewriting, Theorem proving; symbolic computation; term rewriting; theorem proving; trees (mathematics)", treatment = "T Theoretical or Mathematical", } @Article{Saxton:1990:FGA, author = "Lawrence V. Saxton and Nalin Wijesinghe", title = "A fast generalized approximate string matching algorithm", journal = j-CONG-NUM, volume = "78", pages = "199--206", year = "1990", ISSN = "0384-9864", MRclass = "68U15 (68P20)", MRnumber = "1140484", bibdate = "Mon May 26 18:16:34 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Proceedings of the Twenty-first Southeastern Conference on Combinatorics, Graph Theory, and Computing (Boca Raton, FL, 1990).", fjournal = "Congressus Numerantium. A Conference Journal on Numerical Themes", } @Book{Sedgewick:1990:AC, author = "Robert Sedgewick", title = "Algorithms in {C}", publisher = pub-AW, address = pub-AW:adr, pages = "xii + 657", year = "1990", ISBN = "0-201-51425-7", ISBN-13 = "978-0-201-51425-4", LCCN = "QA76.73.C15 S43 1990", bibdate = "Wed Dec 15 10:41:38 1993", bibsource = "https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, tableofcontents = "Fundamentals \\ 1. Introduction \\ 2. C \\ 3. Elementary data structures \\ 4. Trees \\ 5. Recursion \\ 6. Analysis of algorithms \\ 7. Implementation of algorithms \\ Sorting algorithms \\ 8. Elementary sorting methods \\ 9. Quicksort \\ 10. Radix sorting \\ 11. Priority queues \\ 12. Mergesort \\ 13. External sorting \\ Searching algorithms \\ 14. Elementary searching methods \\ 15. Balanced trees \\ 16. Hashing \\ 17. Radix searching \\ 18. External searching \\ String processing \\ 19. String searching \\ 20. Pattern matching \\ 21. Parsing \\ 22. File compression \\ 23. Cryptology \\ Geometry algorithms \\ 24. Elementary geometric methods \\ 25. Finding the convex hull \\ 26. Range searching \\ 27. Geometric intersection \\ 28. Closet-point problems \\ Graph algorithms \\ 29. Elementary graph algorithms \\ 30. Connectivity \\ 31. Weighted graphs \\ 32. Directed graphs \\ 33. Network flow \\ 34. Matching \\ Mathematical algorithms \\ 35. Random numbers \\ 36. Arithmetic \\ 37. Gaussian elimination \\ 38. Curve fitting \\ 39. Integration \\ Advanced topics \\ 40. Parallel algorithms \\ 41. The Fast Fourier Transform \\ 42. Dynamic programming \\ 43. Linear programming \\ 44. Exhaustive search \\ 45. NP-complete problems \\ Index", } @Article{Sunday:1990:VFS, author = "Daniel M. Sunday", title = "A Very Fast Substring Search Algorithm", journal = j-CACM, volume = "33", number = "8", pages = "132--142", month = aug, year = "1990", CODEN = "CACMA2", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Thu May 30 09:41:10 MDT 1996", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/cacm1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "See also \cite{Boyer:1977:FSS,Knuth:1977:FPM,Baeza-Yates:1992:NAT}.", URL = "http://www.acm.org/pubs/toc/Abstracts/0001-0782/79184.html", abstract = "This article describes a substring search algorithm that is faster than the Boyer--Moore algorithm. This algorithm does not depend on scanning the pattern string in any particular order. Three variations of the algorithm are given that use three different pattern scan orders. These include: (1) a ``Quick Search'' algorithm; (2) a ``Maximal Shift'' and (3) an ``Optimal Mismatch'' algorithm.", acknowledgement = ack-nhfb, fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", keywords = "algorithms; theory", subject = "{\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching.", } @Article{Sunday:string-search, author = "Daniel M. Sunday", title = "A Very Fast Substring Search Algorithm", journal = j-CACM, volume = "33", number = "8", pages = "132--142", month = aug, year = "1990", bibdate = "Sun May 2 07:54:35 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "See also \cite{Boyer:string-search,Knuth:string-search,Baeza-Yates:j-CACM-35-10-74}.", acknowledgement = ack-nhfb, } @Article{Takahashi:1990:SCM, author = "H. Takahashi and N. Itoh and T. Amano and A. Yamashita", title = "A spelling correction method and its application to an {OCR} system", journal = j-PATTERN-RECOGN, volume = "23", number = "3-4", pages = "363--377", year = "1990", CODEN = "PTNRA8", ISSN = "0031-3203 (print), 1873-5142 (electronic)", ISSN-L = "0031-3203", bibdate = "Wed Jan 15 12:19:41 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/spell.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "This paper describes a method of spelling correction consisting of two steps: selection of candidate words, and approximate string matching between the input word and each candidate word. Each word is classified and multi-indexed according to combinations of a constant number of characters in the word. Candidate words are selected fast and accurately, regardless of error types, as long as the number of errors is below a threshold. We applied this method to the post-processing of a printed alphanumeric OCR on a personal computer, thus making our OCR more reliable and user-friendly.", acknowledgement = ack-nhfb, affiliation = "IBM Japan Ltd", affiliationaddress = "Tokyo, Jpn", classification = "722; 723; 741", comment = "Some criteria are explained and used to find correct spellings of misspelled words. The candidate words must start with the same letter and be within 3 of the same length. This method requires that the first character be correct -- this is a bad requirement. They develop a method that orders the characters in the word least frequently to most frequently and then searches a dictionary ordered in a similar way.", fjournal = "Pattern Recognition", journalabr = "Pattern Recognit", keywords = "Applications; Character Recognition Equipment; Character Recognition, Optical; Learning Systems; Machine Learning; Optical Scanners; Pattern Matching; Pattern Recognition; Spelling Correction; Text Processing", } @Article{Takeichi:1990:DFK, author = "Masato Takeichi and Yoji Akama", title = "Deriving a functional {Knuth--Morris--Pratt} algorithm by transformation", journal = j-J-INF-PROCESS, volume = "13", number = "4", pages = "522--528", year = "1990", CODEN = "JIPRDE", ISSN = "0387-6101", ISSN-L = "0387-6101", MRclass = "68N05", MRnumber = "1108115", bibdate = "Mon May 27 17:36:50 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, ajournal = "J. Inform. Process.", fjournal = "Journal of Information Processing", journal-URL = "https://www.ipsj.or.jp/english/jip/index.html", remark = "This article is missing from the v13n4 contents listing at the publisher Web site.", } @Article{Tsui:1990:OES, author = "Hung-Tat Tsui and Ming-Hong Chan and Kin-Cheong Chu and Shao-Hua Kong", title = "Orientation estimation of {$3$D} surface patches", journal = j-CVGIP, volume = "50", number = "1", pages = "112--124", month = apr, year = "1990", CODEN = "CVGPDB", ISSN = "0734-189x (print), 1557-895x (electronic)", ISSN-L = "0734-189X", bibdate = "Fri Jan 31 15:09:26 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/cvgip.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Dept. of Electron., Chinese Univ. of Hong Kong", affiliationaddress = "Shatin, Hong Kong", classification = "723; 741; 913; C1250 (Pattern recognition); C5260B (Computer vision and picture processing)", fjournal = "Computer Vision, Graphics, and Image Processing", journal-URL = "http://www.sciencedirect.com/science/journal/0734189X", journalabr = "Comput Vision Graphics Image Process", keywords = "3D resampling; 3D spherical window; 3D surface patches; 3D template matching; 3D Vision; Automatic Inspection; Automatic inspection job; Closed contours; Depth Recovery; Image Analysis; Image Processing; Image Segmentation; Inspection; Irregular-shaped objects; Nonuniform surface sampling; Object Recognition; Object recognition; Orientation estimation; Patch orientation; Pattern Matching; Pattern Recognition; Self-occlusion; Vision--Artificial", thesaurus = "Computer vision; Inspection", } @InProceedings{Vishkin:1990:DSN, author = "U. Vishkin", title = "Deterministic sampling --- a new technique for fast pattern matching", crossref = "ACM:1990:PTS", pages = "170--180", year = "1990", bibdate = "Wed Feb 20 18:33:59 MST 2002", bibsource = "http://portal.acm.org/; http://www.acm.org/pubs/contents/proceedings/series/stoc/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/citations/proceedings/stoc/100216/p170-vishkin/", acknowledgement = ack-nhfb, } @Article{Wolff:1990:SPS, author = "J. G. Wolff", title = "Simplicity and Power --- Some Unifying Ideas in Computing", journal = j-COMP-J, volume = "33", number = "6", pages = "518--534", month = dec, year = "1990", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/33.6.518", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", MRclass = "68N15", MRnumber = "1 084 057", bibdate = "Tue Dec 4 14:48:30 MST 2012", bibsource = "http://comjnl.oxfordjournals.org/content/33/6.toc; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_06/; https://www.math.utah.edu/pub/tex/bib/compj1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://comjnl.oxfordjournals.org/content/33/6/518.full.pdf+html; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_06/tiff/518.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_06/tiff/519.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_06/tiff/520.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_06/tiff/521.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_06/tiff/522.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_06/tiff/523.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_06/tiff/524.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_06/tiff/525.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_06/tiff/526.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_06/tiff/527.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_06/tiff/528.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_06/tiff/529.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_06/tiff/530.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_06/tiff/531.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_06/tiff/532.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_06/tiff/533.tif; http://www3.oup.co.uk/computer_journal/hdb/Volume_33/Issue_06/tiff/534.tif", acknowledgement = ack-nhfb, affiliation = "Sch. of Electron. Eng. Sci., Wales Univ., Bangor, UK", classcodes = "C6140D (High level languages); C6110 (Systems analysis and programming); C6170 (Expert systems); C1210B (Reliability theory); C1250 (Pattern recognition)", classification = "C1210B (Reliability theory); C1250 (Pattern recognition); C6110 (Systems analysis and programming); C6140D (High level languages); C6170 (Expert systems)", corpsource = "Sch. of Electron. Eng. Sci., Wales Univ., Bangor, UK", fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", keywords = "AND; AND relations; artificial; Artificial intelligence; complexity; Complexity; computerised pattern recognition; computing machine; Computing machine; computing system; Computing system; connectionist; Connectionist; descriptive power; Descriptive power; formal system; Formal system; high expressive power; High expressive power; information theory; intelligence; key dimensions; Key dimensions; knowledge structure; Knowledge structure; language; logic programming; new; New language; OR relations; parallel languages; parallel programming; parallelism; Parallelism; pattern matching; Pattern matching; PROLOG; Prolog-like pattern-matching system; redundancy; Redundancy; relations; search; Search; Shannon-Weaver; Shannon-Weaver information theory; simplicity; Simplicity; size; Size; software engineering; Software engineering; SP; symbolic; Symbolic; unification; Unification; unifying framework; Unifying framework; unifying ideas; Unifying ideas", thesaurus = "Computerised pattern recognition; Logic programming; Parallel languages; Parallel programming; PROLOG; Redundancy", treatment = "P Practical; T Theoretical or Mathematical", } @TechReport{Aho:1991:MCR, author = "Alfred V. Aho and Ravi Sethi", title = "Maintaining Cross References in Manuscripts", type = "Computing Science Technical Report", number = "127", institution = inst-ATT-BELL, address = inst-ATT-BELL:adr, pages = "10", day = "20", month = aug, year = "1991", bibdate = "Fri Aug 25 15:53:20 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", URL = "https://web.archive.org/web/*/http://cm.bell-labs.com/cm/cs/cstr/127.ps.gz", abstract = "Authors face the tedious bookkeeping problem of maintaining the consistency of references to figures, citations, and other numbered entities in successive drafts of a manuscript. If a figure is added to or deleted from the manuscript, the numbers of all subsequent figures must be adjusted, along with the references to these figures. In this note, we show how the UNIX commands grep, awk, and sed can be used to create a simple and flexible reference assembler that automatically maintains the consistency of cross references in manuscripts.", acknowledgement = ack-nhfb, remark = "TO DO: This report is dated 3 years after its publication in \cite{Aho:1988:MCR}; presumably it is an update of a much earlier version.", } @Article{Aiken:1991:IRT, author = "Alexander Aiken and Brian R. Murphy", title = "Implementing Regular Tree Expressions", journal = j-LECT-NOTES-COMP-SCI, volume = "523", pages = "427--??", year = "1991", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 08:51:55 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Belli:1991:SFT, author = "F. Belli and K. E. Grosspietsch", title = "Specification of fault-tolerant system issues by predicate\slash transition nets and regular expressions --- approach and case study", journal = j-IEEE-TRANS-SOFTW-ENG, volume = "17", number = "6", pages = "513--526", month = jun, year = "1991", CODEN = "IESEDJ", DOI = "https://doi.org/10.1109/32.87278", ISSN = "0098-5589 (print), 1939-3520 (electronic)", ISSN-L = "0098-5589", bibdate = "Thu Feb 1 11:00:42 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=87278", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Software Engineering", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32", } @TechReport{Boyer:1991:ACP, author = "Robert S. Boyer and Yuan Yu", title = "{AUTOMATED CORRECTNESS PROOFS OF MACHINE CODE PROGRAMS FOR A COMMERCIAL MICROPROCESSOR}", number = "TR-91-33", institution = "University of Texas, Austin", address = "Austin, TX, USA", pages = "15", month = nov, year = "1991", bibdate = "Fri Sep 22 14:23:22 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; Techreports/university-of-texas-austin.bib", note = "prize ($ \backslash $ \$1.50).", abstract = "We have formally specified a substantial subset of the MC68020, a widely used microprocessor built by Motorola, within the mathematical logic of the automated reasoning system Nqthm, i.e., the Boyer--Moore Theorem Prover. Using this MC68020 specification, we have mechanically checked the correctness of MC68020 machine code programs for Euclid's GCD, Hoare's Quick Sort, binary search, and other well-known algo- rithms. The machine code for these examples was generated using the Gnu C and the Verdix Ada compilers. We have developed an extensive library of proven lemmas to facilitate automated reasoning about machine code programs. We describe a two stage methodology we use to do our machine code proofs.", acknowledgement = ack-nhfb, keywords = "Automated reasoning Nqthm Boyer--Moore Theorem Prover formal program verification object code Gnu C Ada.", } @InProceedings{Breslauer:1991:LBP, author = "Dany Breslauer and Zvi Galil", title = "A lower bound for parallel string matching", crossref = "ACM:1991:PTT", pages = "439--443", year = "1991", bibdate = "Wed Feb 20 18:33:59 MST 2002", bibsource = "http://portal.acm.org/; http://www.acm.org/pubs/contents/proceedings/series/stoc/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/articles/proceedings/stoc/103418/p439-breslauer/p439-breslauer.pdf; http://www.acm.org/pubs/citations/proceedings/stoc/103418/p439-breslauer/", acknowledgement = ack-nhfb, } @Article{Chapman:1991:QSS, author = "Rob Chapman", title = "{QuikFind} String Search", journal = j-FORTH-DIMENSIONS, volume = "13", number = "4", pages = "21--??", day = "1", month = nov, year = "1991", CODEN = "FODMD5", ISSN = "0884-0822", bibdate = "Sat May 25 13:29:25 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; UnCover library database", abstract = "Sure, ``Forth is fast'-repeat that mantra to yourself while waiting to compile code from a dictionary of several thousand words. The author tweaked his system a bit, then got hooked on the potential. His years-long self-study course is described succinctly here, along with the anticipated results: a fast hash algorithm for dictionary searches that won't turn your modules into molasses.", acknowledgement = ack-nhfb, fjournal = "Forth Dimensions", } @Article{Colussi:1991:CEP, author = "Livio Colussi", title = "Correctness and efficiency of pattern matching algorithms", journal = j-INF-COMPUT, volume = "95", number = "2", pages = "225--251", year = "1991", CODEN = "INFCEC", DOI = "https://doi.org/10.1016/0890-5401(91)90046-5", ISSN = "0890-5401 (print), 1090-2651 (electronic)", ISSN-L = "0890-5401", MRclass = "68Q60", MRnumber = "1138119", bibdate = "Mon May 27 17:37:03 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://doi.org/10.1016/0890-5401(91)90046-5", acknowledgement = ack-nhfb, ajournal = "Inf. Comput.", fjournal = "Information and Computation", journal-URL = "http://www.sciencedirect.com/science/journal/08905401", } @Article{Cope:1991:RMU, author = "David Cope", title = "Recombinant Music: Using the Computer to Explore Musical Style", journal = j-COMPUTER, volume = "24", number = "7", pages = "22--28", month = jul, year = "1991", CODEN = "CPTRB4", ISSN = "0018-9162 (print), 1558-0814 (electronic)", ISSN-L = "0018-9162", bibdate = "Sat Feb 1 16:21:14 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/computer1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "A computer program that creates new but stylistically recognizable music from existing works offers insights into the elusive phenomenon of musical style.", acknowledgement = ack-nhfb, affiliation = "Porter Coll., California Univ., Santa Cruz, CA, USA", classification = "723; 751; C5260B (Computer vision and picture processing); C6170 (Expert systems); C7820 (Humanities)", fjournal = "Computer", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2", journalabr = "Computer", keywords = "Artificial Intelligence; Augmented Transition Networks; Computer Programming; EMI; Experiments in Musical Intelligence; Expert system; Expert Systems; Hierarchical Analysis; Hierarchical musical function; Musical pitches; Musical Style Analysis; Natural-language processing; Pattern matching; Pattern recognition; Pattern Recognition Systems; Recombinant music; Recombinant Music", thesaurus = "Computerised pattern recognition; Expert systems; Music; Natural languages", } @Article{Cringean:1991:NNS, author = "Janey K. Cringean and Roger England and Gordon A. Manson and Peter Willett", title = "Nearest-neighbour searching in files of text signatures using transputer networks", journal = j-EPODD, volume = "4", number = "4", pages = "185--203", month = dec, year = "1991", CODEN = "EPODEU", ISSN = "0894-3982", bibdate = "Fri Sep 22 14:23:22 2023", bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/epodd.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "This paper discusses the implementation of nearest-neighbour document retrieval in serial files using transputer networks. The system uses a two-stage retrieval algorithm in which an initial text-signature search is used to exclude large numbers of documents from the detailed and time-consuming pattern-matching search. The latter is implemented using a processor farm, so that documents which match at the signature level can be examined in parallel to determine whether they are, in fact, a good match for the query. The results demonstrate that communication is the critical factor in all of the transputer networks that were investigated. A high degree of speed-up can be obtained when only the pattern-matching search is carried out. When text signatures are used, however, the speed-up is less, decreasing in line with an increase in the size of the text signatures that are used.", acknowledgement = ack-nhfb, fjournal = "Electronic Pub\-lish\-ing\emdash{}Orig\-i\-na\-tion, Dissemination, and Design", keywords = "Best-match searching, Full-text documents, Geometric parallelism, Information retrieval, Nearest-neighbour searching, Parallel processing", } @Article{Crochemore:1991:TWS, author = "Maxime Crochemore and Dominique Perrin", title = "Two-Way String Matching", journal = j-J-ACM, volume = "38", number = "3", pages = "651--675", month = jul, year = "1991", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Thu Oct 20 22:24:43 1994", bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Theory/JACM.bib; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0004-5411/116845.html", abstract = "A new string matching algorithm is presented, which can be viewed as an intermediate between the classical algorithms of Knuth, Morris, and Pratt on the one hand and Boyer and Moore, on the other hand. The algorithm is linear in time and uses constant space as the algorithm of Galil and Seiferas. It presents the advantage of being remarkably simple which consequently makes its analysis possible. The algorithm relies on a previously-known result in combinatorics on words, called the {\em Critical Factorization Algorithm}, which relates the global period of a word to its local repetitions of blocks.", acknowledgement = ack-nhfb, fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", keywords = "algorithms; analysis of algorithms; combinatorial algorithms; critical factorization theorem; Design; pattern matching; String Processing; text processing; theory", subject = "{\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching.", } @Article{Crochemore:1991:UKM, author = "M. Crochemore and W. Rytter", title = "Usefulness of the {Karp-Miller-Rosenberg} algorithm in parallel computations on strings and arrays", journal = j-THEOR-COMP-SCI, volume = "88", number = "1", pages = "59--82", day = "30", month = sep, year = "1991", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:24:22 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", acknowledgement = ack-nhfb, classification = "C4240P (Parallel programming and algorithm theory)", corpsource = "LITP, Inst. Blaise Pascal, Paris Univ., France", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "arrays; complexity bounds; computational complexity; data structure; finding squares; longest common factor; longest repeated factor; Lyndon factorization; maximal symmetric factor; palindromes; parallel algorithms; parallel computations; pattern-matching; repeated patterns; sequential algorithms; string matching; strings; testing even palstars", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Danvy:1991:SDC, author = "Olivier Danvy", title = "Semantics-directed compilation of nonlinear patterns", journal = j-INFO-PROC-LETT, volume = "37", number = "6", pages = "315--322", day = "28", month = mar, year = "1991", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Kansas State Univ", affiliationaddress = "Manhattan, KS, USA", classification = "723; C6150C (Compilers, interpreters and other processors)", corpsource = "Dept. of Comput. and Inf. Sci., Kansas State Univ., Manhattan, KS, USA", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "automatic derivation; compiled patterns; Computer Metatheory; Computer Programming --- Theory; Computer Programming Languages; computerised pattern recognition; Nonlinear Patterns; nonlinear patterns; Partial Evaluation; partial evaluation; Pattern Compilation; pattern compiler; Pattern Matching; pattern matching program; program compilers; Programming Theory; Semantics-Directed Compilation", treatment = "P Practical; T Theoretical or Mathematical", } @Book{Dougherty:1991:SA, author = "Dale Dougherty", title = "sed \& awk", publisher = pub-ORA, address = pub-ORA:adr, pages = "xxii + 394", year = "1991", ISBN = "0-937175-59-5", ISBN-13 = "978-0-937175-59-0", LCCN = "QA76.76.U84 D69 1991", bibdate = "Fri Sep 22 14:23:22 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/ora.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", URL = "http://www.oreilly.com/catalog/9780937175590", abstract = "For people who create and modify text files, sed and awk are power tools for editing. Most of the things that you can do with these programs can be done interactively with a text editor. However, using sed and awk can save many hours of repetitive work in achieving the same result. To master sed and awk you must thoroughly understand UNIX regular expressions, and understand the syntax of sed and awk commands. This handbook treats regular expressions as a foundation for learning about sed and awk and contains a comprehensive treatment of sed and awk syntax. It emphasizes the kinds of practical problems that sed and awk can help users to solve, with many useful example scripts and programs.", acknowledgement = ack-nhfb, tableofcontents = "1. Power Tools for Editing \\ 2. Understanding Basic Operations \\ 3. Understanding Regular Expression Syntax \\ 4. Writing Sed Scripts \\ 5. Basic Sed Commands \\ 6. Advanced Sed Commands \\ 7. Writing Scripts for Awk \\ 8. Conditionals, Loops, and Arrays \\ 9. Functions \\ 10. The Bottoms Drawer \\ 11. Full-featured Applications \\ 12. A Miscellany of Scripts \\ Appendices", } @Article{Dowek:1991:SOP, author = "G. Dowek", title = "A second-order pattern matching algorithm for the cube of typed lambda-calculi", journal = j-LECT-NOTES-COMP-SCI, volume = "520", pages = "151--??", year = "1991", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 08:51:55 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Galil:1991:ECS, author = "Zvi Galil and Raffaele Giancarlo", title = "On the Exact Complexity of String Matching: Lower Bounds", journal = j-SIAM-J-COMPUT, volume = "20", number = "6", pages = "1008--1020", month = dec, year = "1991", CODEN = "SMJCAT", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68Q20 (68Q25 68U15)", MRnumber = "93a:68049", MRreviewer = "D. M. Campbell", bibdate = "Mon Nov 29 11:01:53 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/20/6; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @Article{Gokhale:1991:BUH, author = "Maya Gokhale and William Holmes and Andrew Kopser and Sara Lucas and Ronald Minnich and Douglas Sweely and Daniel Lopresti", title = "Building and Using a Highly Parallel Programmable Logic Array", journal = j-COMPUTER, volume = "24", number = "1", pages = "81--89", month = jan, year = "1991", CODEN = "CPTRB4", ISSN = "0018-9162 (print), 1558-0814 (electronic)", ISSN-L = "0018-9162", bibdate = "Mon Feb 24 15:40:54 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/computer1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/super.bib", abstract = "Construction of real hardware and feedback from real users contributed to Splash's design, development, and success. For certain pattern-matching applications its price/performance ratio is unmatched.", acknowledgement = ack-nhfb, affiliation = "Supercomputing Res Center, Bowie, MD, USA", classification = "721; 722; 723; 912; B1265B (Logic circuits); C5120 (Logic and switching circuits); C5210 (Logic design methods)", fjournal = "Computer", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2", journalabr = "Computer", keywords = "Computer Systems, Digital; Computers, Supercomputer; Cray-2; Ergonomics; Hardware development; Highly parallel programmable logic array; Logic description generator; Logic Design; Parallel Processing; Parallel Programmable Logic Array; Programming; Runtime environment; Sequence comparison; Splash; splash Programmable Logic Array; Sun workstation; Sun Workstation; Sun workstation; Two-slot addition", thesaurus = "Logic arrays; Logic design", } @Article{Grossi:1991:FCS, author = "Roberto Grossi", title = "Further comments on the subtree isomorphism for ordered trees: {``On the subtree isomorphism problem for ordered trees'' [Inform. Process. {Lett. \bf 32} (1989), no. 5, 271--273; MR 90k:68139] by E. {M{\"a}kinen}}", journal = j-INFO-PROC-LETT, volume = "40", number = "5", pages = "255--256", day = "13", month = dec, year = "1991", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68R10 (05C05 68P05 68Q25)", MRnumber = "93c:68077", MRreviewer = "Fabrizio Luccio", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "See \cite{Makinen:1989:SIP}.", acknowledgement = ack-nhfb, affiliation = "Universita di Pisa", affiliationaddress = "Pisa, Italy", classification = "723; 731; 921; C1160 (Combinatorial mathematics); C4240 (Programming and algorithm theory)", corpsource = "Dipartimento di Inf., Pisa Univ., Italy", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "algorithm theory; Binary Tree Representation; Codes, Symbolic --- Coding Errors; coding; Computer Metatheory --- Binary Sequences; Computer Programming --- Algorithms; Design of Algorithms; Mathematical Techniques; Mathematical Techniques --- Linear Algebra; Ordered Trees; ordered trees; Subtree Isomorphism; subtree isomorphism; Trees; trees (mathematics); unordered rooted trees", treatment = "T Theoretical or Mathematical", } @Article{Grossi:1991:NSI, author = "Roberto Grossi", title = "A note on the subtree isomorphism for ordered trees and related problems", journal = j-INFO-PROC-LETT, volume = "39", number = "2", pages = "81--84", day = "31", month = jul, year = "1991", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68R10 (68Q25)", MRnumber = "93e:68101", MRreviewer = "Charles J. Colbourn", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Univ di Pisa Corso Italia", affiliationaddress = "Pisa, Italy", classification = "723; 921; C1160 (Combinatorial mathematics); C4240 (Programming and algorithm theory)", corpsource = "Dipartimento di Inf., Pisa Univ., Italy", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "codeword; computational complexity; Computer Programming --- Algorithms; Computer Systems Programming --- Multiprocessing Programs; EREW PRAM; exact string matching; Mathematical Techniques; Ordered Trees; ordered trees; parallel algorithm; Parallel Algorithms; parallel algorithms; sequential space; sequential time; string coding; String Matching; Subtree Isomorphism; subtree isomorphism; Trees; trees (mathematics)", treatment = "T Theoretical or Mathematical", } @Article{Hume:1991:FSS, author = "Andrew Hume and Daniel Sunday", title = "Fast String Searching", journal = j-SPE, volume = "21", number = "11", pages = "1221--1248", month = nov, year = "1991", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.4380211105", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", note = "See \cite{Boyer:1977:FSS,Knuth:1977:FPM,Sunday:1990:VFS}.", acknowledgement = ack-nhfb, ajournal = "Softw. Pract. Exp.", fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", keywords = "Boyer--Moore; DNA sequence matching; pattern matching; string searching", onlinedate = "30 Oct 2006", } @Article{Jokinen:1991:TAA, author = "P. Jokinen and E. Ukkonen", title = "Two algorithms for approximate string matching in static texts", journal = j-LECT-NOTES-COMP-SCI, volume = "520", pages = "240--??", year = "1991", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 08:51:55 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Kearns:1991:ERE, author = "Steven M. Kearns", title = "Extending Regular Expressions with Context Operators and Parse Extraction", journal = j-SPE, volume = "21", number = "8", pages = "787--804", month = aug, year = "1991", CODEN = "SPEXBL", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", keywords = "context sensitive; parse extraction; regular expressions; string matching", } @Article{Kearns:1991:T, author = "Steven M. Kearns", title = "{TLex}", journal = j-SPE, volume = "21", number = "8", pages = "805--821", month = aug, year = "1991", CODEN = "SPEXBL", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", keywords = "pattern matching; regular expressions; string matching", } @Article{Kesner:1991:PMO, author = "D. Kesner", title = "Pattern matching in order-sorted languages", journal = j-LECT-NOTES-COMP-SCI, volume = "520", pages = "267--??", year = "1991", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 08:51:55 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Kinber:1991:CSS, author = "E. B. Kinber", title = "On complete sets of samples for generalized regular expressions", journal = j-THEOR-COMP-SCI, volume = "91", number = "1", pages = "101--117", day = "09", month = dec, year = "1991", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:24:22 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", acknowledgement = ack-nhfb, classification = "C4210 (Formal logic)", corpsource = "Comput. Centre, Latvian State Univ., Riga, Latvia", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "arbitrary class; complete sets of samples; decidability; equivalence problem; equivalent programs; formal languages; generalized regular expressions; inductive formalizations; language; program structures; stronger equivalence relation", pubcountry = "Netherlands", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Klier:1991:FCB, author = "Peter Klier and Richard J. Fateman", title = "On Finding the Closest Bitwise Matches in a Fixed Set", journal = j-TOMS, volume = "17", number = "1", pages = "88--97", month = mar, year = "1991", CODEN = "ACMSCU", DOI = "https://doi.org/10.1145/103147.103157", ISSN = "0098-3500 (print), 1557-7295 (electronic)", ISSN-L = "0098-3500", MRclass = "68Q20", MRnumber = "1 103 630", bibdate = "Sun Sep 04 23:33:02 1994", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/toms.bib", URL = "http://www.acm.org/pubs/citations/journals/toms/1991-17-1/p88-klier/", abstract = "In a given large fixed table of bit-vectors, we would like to find, as rapidly as possible, those bit-vectors which have the least Hamming distances from a newly-presented arbitrary bit-vector.", acknowledgement = ack-nhfb, fjournal = "ACM Transactions on Mathematical Software (TOMS)", journal-URL = "http://portal.acm.org/toc.cfm?idx=J782", keywords = "algorithms; performance", subject = "{\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching. {\bf E.2}: Data, DATA STORAGE REPRESENTATIONS. {\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Sorting and searching. {\bf H.3.3}: Information Systems, INFORMATION STORAGE AND RETRIEVAL, Information Search and Retrieval, Search process.", } @Article{Laville:1991:CPR, author = "Alain Laville", title = "Comparison of Priority Rules in Pattern Matching and Term Rewriting", journal = j-J-SYMBOLIC-COMP, volume = "11", number = "4", pages = "321--348 (or 321--347??)", month = apr, year = "1991", CODEN = "JSYCEH", ISSN = "0747-7171 (print), 1095-855X (electronic)", ISSN-L = "0747-7171", MRclass = "68Q42 (68N05)", MRnumber = "93g:68063", bibdate = "Sat May 10 15:54:09 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/jsymcomp.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classcodes = "C4210 (Formal logic); C4240 (Programming and algorithm theory)", corpsource = "INRIA, Le Chesnay, France", fjournal = "Journal of Symbolic Computation", journal-URL = "http://www.sciencedirect.com/science/journal/07477171", keywords = "calls; constructors based linear systems; function; pattern matching; priority rules; programming theory; rewriting systems; term rewriting", treatment = "T Theoretical or Mathematical", } @Article{LeBret:1991:RSM, author = "Christophe {Le Bret}", title = "Robust String Matching", journal = j-COMP-LANG-MAG, volume = "8", number = "12", pages = "71--??", month = dec, year = "1991", CODEN = "COMLEF", ISSN = "0749-2839", bibdate = "Tue Jan 23 08:04:25 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/complang.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Computer Language Magazine", } @Article{Lee:1991:DCM, author = "David Lee", title = "Detection, Classification, and Measurement of Discontinuities", journal = j-SIAM-J-SCI-STAT-COMP, volume = "12", number = "2", pages = "311--341", month = mar, year = "1991", CODEN = "SIJCD4", ISSN = "0196-5204", MRclass = "94A12 (26A27 65D99 94A13)", MRnumber = "91m:94004", MRreviewer = "Solomon Marcus", bibdate = "Tue Apr 29 19:18:28 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/siamjscistatcomp.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C4130 (Interpolation and function approximation); C4290 (Other computer theory)", corpsource = "AT and T Bell Labs., Murray Hill, NJ, USA", fjournal = "SIAM Journal on Scientific and Statistical Computing", journal-URL = "http://epubs.siam.org/loi/sijcd4", keywords = "classification; computational geometry; curve fitting; discontinuities; discontinuity detection; linear filter; measurement; necessary and sufficient conditions; one-to-one correspondence; pattern matching; pattern search; sampled noisy data; scaled pattern; splines; splines (mathematics); statistical method; white noise", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Lee:1991:VAL, author = "Kuo Chu Lee and Takako Matoba Hickey and Victor W. Mak and Gary E. Herman", title = "{VLSI} Accelerators for Large Database Systems", journal = j-IEEE-MICRO, volume = "11", number = "6", pages = "8--20", month = nov # "\slash " # dec, year = "1991", CODEN = "IEMIDZ", DOI = "https://doi.org/10.1109/40.108569", ISSN = "0272-1732 (print), 1937-4143 (electronic)", ISSN-L = "0272-1732", bibdate = "Thu Dec 14 06:08:58 MST 2000", bibsource = "Compendex database; Database/Graefe.bib; https://www.math.utah.edu/pub/tex/bib/ieeemicro.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; Science Citation Index database (1980--2000)", abstract = "Resloving the problem of slow response times in a cost-effective manner", acknowledgement = ack-nhfb, affiliation = "Bellcore, Morristown, NJ, USA", classcodes = "B1265F (Microprocessors and microcomputers); B2570 (Semiconductor integrated circuits); C5130 (Microprocessor chips); C6160D (Relational DBMS); C5220 (Computer architecture)", classification = "714.2; 722.1; 723.3", corpsource = "Bellcore, Morristown, NJ, USA", fjournal = "IEEE Micro", journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=40", keywords = "aggregation operations; Associative search; associative search; Boolean algebra; Computer applications; databases; dedicated computer systems; formatted databases; general purpose computers; hardware interfaces; instruction sets; large database; Microprocessor chips; microprocessor chips; reduced instruction set computing; Relational data filtering; relational data filtering; Relational database systems; relational databases; special purpose computers; string search; String search accelerator; systems; text search; unformatted; VLIS accelerators; VLSI; VLSI accelerator; VLSI circuits", treatment = "P Practical", } @Article{Mak:1991:EPP, author = "Victor Wing-Kit Mak and Chu Lee Kuo and Ophir Frieder", title = "Exploiting Parallelism in Pattern Matching: An Information Retrieval Application", journal = j-TOIS, volume = "9", number = "1", pages = "52--74", month = jan, year = "1991", CODEN = "ATISET", ISSN = "1046-8188", ISSN-L = "0734-2047", bibdate = "Sat Jan 16 19:02:45 MST 1999", bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib; http://liinwww.ira.uka.de/bibliography/Database/Graefe.html; http://www.acm.org/pubs/tois/toc.html; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tois.bib", URL = "http://www.acm.org:80", abstract = "We propose a document-searching architecture based on high-speed hardware pattern matching to increase the throughput of an information retrieval system. We also propose a new parallel VLSI pattern-matching algorithm called the Data Parallel Pattern Matching (DPPM) algorithm, which serially broadcasts and compares the pattern to a block of data in parallel. The DPPM algorithm utilizes the high degree of integration of VLSI technology to attain very high-speed processing through parallelism. Performance of the DPPM has been evaluated both analytically and by simulation. Based on the simulation statistics and timing analysis on the hardware design, a search rate of multiple gigabytes per second is achievable using 2-$ \lbrace $ micro$ \rbrace $ m CMOS technology. The potential performance of the proposed document-searching architecture is also analyzed using the simulation statistics of the DPPM algorithm.", acknowledgement = ack-nhfb, fjournal = "ACM Transactions on Information Systems (TOIS)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J779", keywords = "Algorithms; Algorithms implemented in hardware; Analysis of algorithms and problem complexity; Arithmetic and logic structures; Computer systems organization; Data; Design; Design studies; Design styles; DPPM; Files; Information search and retrieval; Information storage and retrieval; Integrated circuits; Modeling techniques; Multiple data stream architecture; Nonnumerical algorithms and problems; Parallel; Pattern matcher; Pattern matching; Performance; Performance of systems; Processor architectures; Search process; Selection process; SIMD; Sorting and searching; Sorting/searching; Types and design styles; VLSI", } @Article{Manber:1991:ASM, author = "Udi Manber and Ricardo Baeza-Yates", title = "An algorithm for string matching with a sequence of don't cares", journal = j-INFO-PROC-LETT, volume = "37", number = "3", pages = "133--136", day = "18", month = feb, year = "1991", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Univ of Arizona", affiliationaddress = "Tucson, AZ, USA", classification = "723; C6120 (File organisation); C7250 (Information storage and retrieval)", corpsource = "Dept. of Comput. Sci., Arizona Univ., Tucson, AZ, USA", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "algorithm; Algorithms; biological sequences; Computer Programming; Data Processing --- Data Structures; data structures; information retrieval; pattern; proximity searching; search; sequence of don't cares; String Matching; string matching; suffix array data structure; text searching systems; two-dimensional orthogonal range queries problem; upper bound", treatment = "P Practical", } @TechReport{Nagayama:1991:NMQ, author = "Misao Nagayama and Carolyn Talcott", title = "An {NQTHM} mechanization of ``{{\booktitle{An Exercise in the Verification of Multi-Process Programs}}}''", type = "Technical Report", number = "CS-TR-91-1370", institution = inst-STAN-CS, address = inst-STAN-CS:adr, pages = "??--??", month = jun, year = "1991", bibdate = "Thu Nov 20 12:13:32 MST 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/stanford-cstr.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www-db.stanford.edu/TR/CS-TR-91-1370.html", abstract = "This report presents a formal verification of the local correctness of a mutex algorithm using the Boyer-Moore theorem prover. The formalization follows closely an informal proof of Manna and Pnuelli. The proof method of Manna and Pnueli is to first extract from the program a set of states and induced transition system. One then proves suitable invariants. There are two variants of the proof. In the first (atomic) variant, compound tests involving quantification over a finite set are viewed as atomic operations. In the second (molecular) variant, this assumption is removed, making the details of the transitions and proof somewhat more complicated. The original Manna-Pnueli proof was formulated in terms of finite sets. This led to concise and elegant informal proof, however one that is not easy to mechanize in the Boyer-Moore logic. In the mechanized version we use a dual isomorphic representation of program states based on finite sequences. Our approach was to outline the formal proof of each invariant, making explicit the case analyses, assumptions and properties of operations used. The outline served as our guide in developing the formal proof. The resulting sequence of events follows the informal plan quite closely. The main difficulties encountered were in discovering the precise form of the lemmas and hints necessary to guide the theorem prover.", acknowledgement = ack-nhfb, } @Article{Naor:1991:SMP, author = "M. Naor", title = "String Matching with Preprocessing of Text and Pattern", journal = j-LECT-NOTES-COMP-SCI, volume = "510", pages = "739--??", year = "1991", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 08:51:55 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Narayanan:1991:PME, author = "V. Narayanan", title = "Pattern matching for everyone", journal = j-SIGCSE, volume = "23", number = "3", pages = "27--30", month = sep, year = "1991", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/126459.126468", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sat Nov 17 18:57:16 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigcse1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", } @Article{Pakin:1991:REG, author = "Scott Pakin", title = "Regular Expressions and Gender Guessing", journal = j-COMP-LANG-MAG, volume = "8", number = "12", pages = "59--??", month = dec, year = "1991", CODEN = "COMLEF", ISSN = "0749-2839", bibdate = "Tue Jan 23 08:04:25 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Computer Language Magazine", } @Article{Partsch:1991:ACS, author = "H. A. Partsch and N. Volker", title = "Another Case Study on Reusability of Transformational Developments Pattern Matching According to {Knuth}, {Morris}, and {Pratt}", journal = j-LECT-NOTES-COMP-SCI, volume = "544", pages = "35--??", year = "1991", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 08:51:55 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @InCollection{Pepper:1991:LPD, author = "P. Pepper", title = "Literate program derivation: a case study", crossref = "Broy:1991:MPS", pages = "101--124", year = "1991", bibdate = "Wed Aug 31 00:52:14 MDT 1994", bibsource = "https://www.math.utah.edu/pub/tex/bib/litprog.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "`Literate programming' is a notion that has been introduced by D. E. Knuth (1984), as a means for improving the art of programming by amalgamating explanatory text with the program proper. The author combines the principal ideas of literate programming with the concepts of formal program development, based on algebraic specifications and transformations. This experiment is performed using the sublinear string-searching algorithm of R. S. Boyer and J. S. Moore (1977) as an illustrating example.", acknowledgement = ack-nhfb, affiliation = "Inst. fur Angewandte Inf., Tech. Univ., Berlin, Germany", classification = "C1250 (Pattern recognition); C4240 (Programming and algorithm theory); C5260B (Computer vision and picture processing); C6110B (Software engineering techniques)", keywords = "Algebraic specifications; Case study; Explanatory text; Formal program development; Literate programming; Sublinear string-searching algorithm; Transformations", thesaurus = "Computerised pattern recognition; Formal specification; Programming", } @Article{Revesz:1991:TOM, author = "G. E. Revesz", title = "On translating ordinary mathematical notation", journal = j-STRUCTURED-PROGRAMMING, volume = "12", number = "3", pages = "115--122", month = "", year = "1991", CODEN = "STPGEM", ISSN = "0935-1183", bibdate = "Thu Sep 01 01:15:09 1994", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/texbook3.bib", abstract = "The abstract mathematical description of an algorithm is usually much better for human consumption than its implementation in a conventional programming language. The aim is to use ordinary mathematical notation as a program development tool for certain applications. The author illustrates some ideas via an experimental translator which translates mathematical formulas to Pascal statements. More precisely, a combination of ordinary mathematical notation and conventional style control structures and declarations is used as the programming language. But, because of the two-dimensional nature of ordinary mathematical notation, the proper display of source programs requires some special tools. Given the popularity of the {\TeX} type-setting system, the author decided to encode the source programs in plain {\TeX}. The experimental translator has four phases: the first phase is a lexical analyzer (tokenizer) which deals primarily with the decoding of the {\TeX} notation; the second phase is a preprocessor which analyses the declarations and performs other pattern matching functions; the third is the actual parser; and the fourth phase is the code generator. (6 Refs.)", acknowledgement = ack-nhfb, affiliation = "IBM Corp., Thomas J. Watson Res. Center, Yorktown, NY, USA", classification = "C6110 (Systems analysis and programming); C6140D (High level languages); C6150C (Compilers, interpreters and other processors)", keywords = "Abstract mathematical description; Code generator; Conventional style control structures; Declarations; Experimental translator; Lexical analyzer; Ordinary mathematical notation; Parser; Pascal statements; Pattern matching functions; Preprocessor; Program development tool; Programming language; Source programs; TeX notation; TeX type-setting system; Tokenizer; Two-dimensional nature", thesaurus = "Pascal; Program compilers; Program interpreters; Structured programming; Word processing", } @Article{Rote:1991:CMH, author = "G{\"u}nter Rote", title = "Computing the minimum {Hausdorff} distance between two-point sets on a line under translation", journal = j-INFO-PROC-LETT, volume = "38", number = "3", pages = "123--127", day = "17", month = may, year = "1991", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68U05 (68T10)", MRnumber = "92d:68114", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Technische Univ Graz", affiliationaddress = "Graz, Austria", classification = "723; 921; C4240 (Programming and algorithm theory)", corpsource = "Inst. f{\"u}r Math., Tech. Univ., Graz, Austria", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Algorithms; computational complexity; Computational Geometry; computational geometry; Computer Programming; Computer Vision; geometry; Hausdorff Distance; Mathematical Techniques --- Geometry; minimum Hausdorff distance; optimal algorithm; Pattern Matching; Pattern Recognition; point sets", treatment = "T Theoretical or Mathematical", } @Article{Savoy:1991:IRH, author = "Jacques Savoy and Daniel Desbois", title = "Information retrieval in hypertext systems: an approach using {Bayesian} networks", journal = j-EPODD, volume = "4", number = "2", pages = "87--108", month = jun, year = "1991", CODEN = "EPODEU", ISSN = "0894-3982", bibdate = "Fri Sep 22 14:23:22 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/epodd.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The emphasis in most hypertext systems is on the navigational methods, rather than on the global document retrieval mechanisms. When a search mechanism is provided, it is often restricted to simple string matching or to the Boolean model. As an alternate method, we propose a retrieval mechanism using Bayesian inference networks. The main contribution of our approach is the automatic construction of this network using the expected mutual information measure to build the inference tree, and using Jaccard's formula to define fixed conditional probability relationships.", acknowledgement = ack-nhfb, fjournal = "Electronic Pub\-lish\-ing\emdash{}Orig\-i\-na\-tion, Dissemination, and Design", keywords = "Hypertext, Information retrieval, Information retrieval in hypertext, Bayesian network, Probabilistic retrieval model, Probabilistic inference, Uncertainty processing", } @Article{Savoy:EPODD-4-2-87, author = "Jacques Savoy and Daniel Desbois", title = "Information retrieval in hypertext systems: an approach using {Bayesian} networks", journal = j-EPODD, volume = "4", number = "2", pages = "87--108", month = jun, year = "1991", CODEN = "EPODEU", ISSN = "0894-3982", bibdate = "Fri Sep 22 14:23:22 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/epodd.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The emphasis in most hypertext systems is on the navigational methods, rather than on the global document retrieval mechanisms. When a search mechanism is provided, it is often restricted to simple string matching or to the Boolean model. As an alternate method, we propose a retrieval mechanism using Bayesian inference networks. The main contribution of our approach is the automatic construction of this network using the expected mutual information measure to build the inference tree, and using Jaccard's formula to define fixed conditional probability relationships.", acknowledgement = ack-nhfb, keywords = "Hypertext, Information retrieval, Information retrieval in hypertext, Bayesian network, Probabilistic retrieval model, Probabilistic inference, Uncertainty processing", } @Article{Schneier:1991:OHF, author = "Bruce Schneier", title = "One-Way Hash Functions: Probabilistic algorithms can be used for general-purpose pattern matching", journal = j-DDJ, volume = "16", number = "9", pages = "148--151", day = "1", month = sep, year = "1991", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Tue Sep 10 09:11:02 MDT 1996", bibsource = "http://www.ddj.com/index/author/index.htm; https://www.math.utah.edu/pub/tex/bib/cryptography1990.bib; https://www.math.utah.edu/pub/tex/bib/dr-dobbs.bib; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; UnCover database", acknowledgement = ack-nhfb, classification = "C6120 (File organisation); C6130 (Data handling techniques)", fjournal = "Dr. Dobb's Journal of Software Tools", keywords = "128-Bit hash; 32 Bit; 32-Bit architectures; 32-Bit operands; Cryptographic algorithm; DES; Digital Encryption Standard; MD5; Message Digest; One-way hash function", thesaurus = "C listings; Cryptography; File organisation", } @Article{Schneier:1991:OWH, author = "Bruce Schneier", title = "One-Way Hash Functions: Probabilistic algorithms can be used for general-purpose pattern matching", journal = j-DDJ, volume = "16", number = "9", pages = "148--151", day = "1", month = sep, year = "1991", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Tue Sep 10 09:11:02 MDT 1996", bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/dr-dobbs.bib; ftp://ftp.math.utah.edu/pub/tex/bib/hash.bib; http://www.ddj.com/index/author/index.htm; https://www.math.utah.edu/pub/tex/bib/cryptography1990.bib; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; UnCover database", acknowledgement = ack-nhfb, classification = "C6120 (File organisation); C6130 (Data handling techniques)", fjournal = "Dr. Dobb's Journal of Software Tools", keywords = "128-Bit hash; 32 Bit; 32-Bit architectures; 32-Bit operands; Cryptographic algorithm; DES; Digital Encryption Standard; MD5; Message Digest; One-way hash function", thesaurus = "C listings; Cryptography; File organisation", } @Article{Smith:1991:EVF, author = "P. D. Smith", title = "Experiments with a Very Fast Substring Search Algorithm", journal = j-SPE, volume = "21", number = "10", pages = "1065--1074", month = oct, year = "1991", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.4380211006", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.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 = "30 Oct 2006", } @Article{Smith:1991:PEP, author = "Donald A. Smith", title = "Partial evaluation of pattern matching in constraint logic programming languages", journal = j-SIGPLAN, volume = "26", number = "9", pages = "62--71", month = sep, year = "1991", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:16:11 MST 2003", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", } @Article{Tucci:1991:RNC, author = "Maurizio Tucci and Gennaro Costagliola and Shi-Kuo Chang", title = "A remark on {NP}-completeness of picture matching", journal = j-INFO-PROC-LETT, volume = "39", number = "5", pages = "241--243", day = "13", month = sep, year = "1991", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Univ of Pittsburgh", affiliationaddress = "Pittsburgh, PA, USA", classification = "723; 903; C1250 (Pattern recognition); C4240 (Programming and algorithm theory); C4250 (Database theory); C6160S (Spatial and pictorial databases)", corpsource = "Dept. of Comput. Sci., Pittsburgh Univ., PA, USA", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "2-D string representation; computational complexity; computer graphics; Computer Metatheory --- Computational Complexity; computerised pattern recognition; computerised picture processing; database management systems; Database Systems; database theory; iconic indexing; image database systems; Image Databases; image retrieval; Information Retrieval; information retrieval; Information Science; NP Completeness; NP-completeness; objects; orthogonal projections; Picture Matching; picture matching; picture queries; picture retrieval; spatial relations", treatment = "T Theoretical or Mathematical", } @Article{Vishkin:1991:DSN, author = "Uzi Vishkin", title = "Deterministic Sampling --- a New Technique for Fast Pattern Matching", journal = j-SIAM-J-COMPUT, volume = "20", number = "1", pages = "22--40", month = feb, year = "1991", CODEN = "SMJCAT", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68P99 (68Q10 68Q20 68T10)", MRnumber = "1 082 134", bibdate = "Mon Nov 29 11:01:41 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/20/1; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @Article{Yodaiken:1991:MFC, author = "Victor Yodaiken", title = "Modal functions for concise definition of state machines and products", journal = j-INFO-PROC-LETT, volume = "40", number = "2", pages = "65--72", day = "25", month = oct, year = "1991", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68Q60", MRnumber = "92m:68077", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Univ of Massachusetts", affiliationaddress = "Amherst, MA, USA", classification = "721; C4210 (Formal logic); C4220 (Automata theory)", corpsource = "Dept. of Comput. and Inf. Syst., Massachusetts Univ., Amherst, MA, USA", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "automata products; Automata Theory; Automata Theory --- Formal Languages; complex control; computer engineering; Finite Automata; finite automata; Finite State Transition Systems; finite state transition systems; formal languages; function composition; generalized feedback product; modal extension; Modal Functions; modal functions; Moore machine; Moore Machines; past input signals; primitive recursive functions; recursive functions; regular expressions; rule; semigroups; state dependent extension; state diagrams; state machines; state products; state sets; state systems; wreath products", treatment = "T Theoretical or Mathematical", } @Article{Yoo:1991:EAL, author = "H. Yoo and K. Hashiguchi", title = "Extended automata-like regular expressions of star degree at most (2, 1)", journal = j-THEOR-COMP-SCI, volume = "88", number = "2", pages = "351--363", day = "07", month = oct, year = "1991", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:24:22 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", acknowledgement = ack-nhfb, classification = "C4210 (Formal logic); C4220 (Automata theory)", corpsource = "Dept. of Inf. and Comput. Sci., Toyohashi Univ. of Technol., Japan", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "automata theory; concatenation; context-free languages; extended automata-like regular expressions; finite languages; star degree; star operator; ultralinear languages; union", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Amir:1992:EPM, author = "Amihood Amir and Gad M. Landau and Uzi Vishkin", title = "Efficient pattern matching with scaling", journal = j-J-ALG, volume = "13", number = "1", pages = "2--32", month = mar, year = "1992", CODEN = "JOALDV", DOI = "https://doi.org/10.1016/0196-6774(92)90003-U", ISSN = "0196-6774 (print), 1090-2678 (electronic)", ISSN-L = "0196-6774", bibdate = "Tue Dec 11 09:15:14 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/jalg.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/019667749290003U", acknowledgement = ack-nhfb, fjournal = "Journal of Algorithms", journal-URL = "http://www.sciencedirect.com/science/journal/01966774", } @Article{Amir:1992:TDD, author = "Amihood Amir and Martin Farach", title = "Two-dimensional dictionary matching", journal = j-INFO-PROC-LETT, volume = "44", number = "5", pages = "233--239", day = "21", month = dec, year = "1992", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68U15", MRnumber = "93k:68111", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C4240 (Programming and algorithm theory); C6130D (Document processing techniques)", corpsource = "Coll. of Comput., Georgia Inst. of Technol., Atlanta, GA, USA", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", keywords = "computational complexity; dictionary matching algorithms; dictionary patterns; pattern matching algorithms; pattern string; preprocessing; text processing; two-dimensional dictionary problem; two-dimensional patterns; word processing", treatment = "T Theoretical or Mathematical", } @Article{Anonymous:1992:AUa, author = "Anonymous", title = "{Answers to UNIX}", journal = j-UNIX-WORLD, volume = "9", number = "10", pages = "117--??", month = oct, year = "1992", ISSN = "0739-5922", bibdate = "Sat Jan 27 06:20:21 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", abstract = "Designing scripts, regular expressions, and reading characters.", acknowledgement = ack-nhfb, fjournal = "UNIX/world", } @Article{Anonymous:1992:CPM, author = "Anonymous", title = "{Combinatorial Pattern Matching School}", journal = j-THEOR-COMP-SCI, volume = "92", number = "1", pages = "??--??", day = "06", month = jan, year = "1992", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:24:22 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", acknowledgement = ack-nhfb, classification = "C1160 (Combinatorial mathematics); C1160 (Combinatorial mathematics) and algorithm theory; C1250 (Pattern recognition); C4220 (Automata theory); C4240P (Parallel programming and algorithm theory)", conflocation = "Paris, France; July 1990", conftitle = "Combinatorial Pattern Matching School", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "acyclic deterministic automata; algorithm theory; automata theory; average-case pattern matching; Boyer--Moore--Horspool algorithm; canonical form; circular string; computational complexity; data compression; dynamic programming; factor automata; fast linear-space computations; linear time; longest common subsequences; minimisation; optimal algorithms; pattern recognition; search problems; string matching", pubcountry = "Netherlands", } @Article{Atallah:1992:PMM, author = "Mikhail J. Atallah and Philippe Jacquet and Wojciech Szpankowski", title = "Pattern Matching with Mismatches: a Probabilistic Analysis and a Randomized Algorithm", journal = j-LECT-NOTES-COMP-SCI, volume = "644", pages = "27--??", year = "1992", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:46:24 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Baeza-Yates:1992:ART, author = "R. A. Baeza-Yates and M. Regnier", title = "Average running time of the {Boyer--Moore--Horspool} algorithm", journal = j-THEOR-COMP-SCI, volume = "92", number = "1", pages = "19--31", day = "06", month = jan, year = "1992", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:24:22 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", acknowledgement = ack-nhfb, classification = "C1160 (Combinatorial mathematics); C1250 (Pattern recognition); C4240P (Parallel programming and algorithm theory); C6130 (Data handling techniques)", conflocation = "Paris, France; July 1990", conftitle = "Combinatorial Pattern Matching School", corpsource = "Dept. de Ciencias de la Comput., Chile Univ., Santiago, Chile", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", keywords = "average running time; Boyer--Moore--Horspool algorithm; Boyer--Moore-type string searching algorithms; cardinality; computational complexity; exact expression; linearity constant; pattern recognition; search problems; stationary process; symbol manipulation; text editing; word enumeration problem", pubcountry = "Netherlands", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Baeza-Yates:1992:FPA, author = "Ricardo A. Baeza-Yates and Chris H. Perleberg", title = "Fast and Practical Approximate String Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "644", pages = "182--??", year = "1992", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:46:24 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Baeza-Yates:1992:NAT, author = "Ricardo Baeza-Yates and Gaston H. Gonnet", title = "A new approach to text searching", journal = j-CACM, volume = "35", number = "10", pages = "74--82", month = oct, year = "1992", CODEN = "CACMA2", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Thu May 30 09:41:10 MDT 1996", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/cacm1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "This paper describes a new linear-time string search algorithm that can handle limited regular-expression pattern matching {\em without\/} backtracking. See also \cite{Knuth:1977:FPM}, \cite{Boyer:1977:FSS}, \cite{Karp:1981:ERPa}, \cite{Sunday:1990:VFS}, and \cite{Wu:1992:FTS}.", URL = "http://www.acm.org/pubs/toc/Abstracts/0001-0782/135243.html", acknowledgement = ack-nhfb, fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", keywords = "algorithms", subject = "{\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching. {\bf H.3.3}: Information Systems, INFORMATION STORAGE AND RETRIEVAL, Information Search and Retrieval, Retrieval models. {\bf H.3.3}: Information Systems, INFORMATION STORAGE AND RETRIEVAL, Information Search and Retrieval, Search process. {\bf H.3.3}: Information Systems, INFORMATION STORAGE AND RETRIEVAL, Information Search and Retrieval, Selection process. {\bf I.5.4}: Computing Methodologies, PATTERN RECOGNITION, Applications, Text processing.", } @Article{Baeza-Yates:1992:TCN, author = "Ricardo Baeza-Yates and Fred T. Krogh and Bernard Ziegler and Peter R. Sibbald and Daniel M. Sunday", title = "Technical Correspondence: Notes on a Very Fast Substring Search Algorithm", journal = j-CACM, volume = "35", number = "4", pages = "132--137", month = apr, year = "1992", CODEN = "CACMA2", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Tue Jan 28 14:52:45 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/cacm1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, journal-URL = "https://dl.acm.org/loi/cacm", } @Article{Bertossi:1992:SNP, author = "A. A. Bertossi and F. Luccio and L. Pagli and E. Lodi", title = "Short notes: {A parallel solution to the approximate string matching problem}", journal = j-COMP-J, volume = "35", number = "5", pages = "524--526", month = oct, year = "1992", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/35.5.524", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Tue Dec 4 14:48:35 MST 2012", bibsource = "http://comjnl.oxfordjournals.org/content/35/5.toc; https://www.math.utah.edu/pub/tex/bib/compj.bib; https://www.math.utah.edu/pub/tex/bib/compj1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://comjnl.oxfordjournals.org/content/35/5/524.full.pdf+html; http://www3.oup.co.uk/computer_journal/Volume_35/Issue_05/350524.sgm.abs.html; http://www3.oup.co.uk/computer_journal/Volume_35/Issue_05/tiff/524.tif; http://www3.oup.co.uk/computer_journal/Volume_35/Issue_05/tiff/525.tif; http://www3.oup.co.uk/computer_journal/Volume_35/Issue_05/tiff/526.tif", acknowledgement = ack-nhfb, fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", } @InProceedings{Boyer:1992:ACP, author = "R. S. Boyer and Yuan Yu", title = "Automated correctness proofs of machine code programs for a commercial microprocessor", crossref = "Kapur:1992:ADC", pages = "416--430", month = "", year = "1992", bibdate = "Wed Oct 30 05:59:54 MST 1996", bibsource = "https://www.math.utah.edu/pub/bibnet/authors/h/hoare-c-a-r.bib; https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The authors have formally specified a substantial subset of the MC68020, a widely used microprocessor built by Motorola, within the mathematical logic of the automated reasoning system Nqthm i.e. the Boyer--Moore Theorem Prover. Using this MC68020 specification, the authors have mechanically checked the correctness of MC68020 machine code programs for Euclid's GCD, Hoare's Quick Sort, binary search, and other well-known algorithms. The machine code for these examples was generated using the GNU C and the Verdix Ada compilers. The authors have developed an extensive library of proven lemmas to facilitate automated reasoning about machine code programs. The authors describe a two stage methodology they use to do their machine code proofs.", acknowledgement = ack-nhfb, affiliation = "Dept. of Comput. Sci. and Math., Texas Univ., Austin, TX, USA", classification = "C4210 (Formal logic); C5130 (Microprocessor chips); C6110B (Software engineering techniques); C6150G (Diagnostic, testing, debugging and evaluating systems)", keywords = "Automated reasoning system Nqthm; Automatic correctness proofs; Binary search; Boyer--Moore Theorem Prover; Commercial microprocessor; GCD; GNU C; Hoare's Quick Sort; Machine code programs; Mathematical logic; MC68020; Verdix Ada compilers", thesaurus = "Formal specification; Microprocessor chips; Program verification; Theorem proving", } @Article{Breslauer:1992:LBP, author = "Dany Breslauer and Zvi Galil", title = "A Lower Bound for Parallel String Matching", journal = j-SIAM-J-COMPUT, volume = "21", number = "5", pages = "856--862", month = oct, year = "1992", CODEN = "SMJCAT", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68Q22 (68Q25 68U15)", MRnumber = "93j:68064", bibdate = "Mon Nov 29 11:02:04 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/21/5; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @InProceedings{Bruggemann-Klein:1992:DRLa, author = "A. Br{\"u}ggemann-Klein and D. Wood", title = "Deterministic regular languages", crossref = "Finkel:1992:SAS", bookpages = "xiv + 620", pages = "173--184", month = feb, year = "1992", bibdate = "Tue Sep 13 16:25:09 1994", bibsource = "https://www.math.utah.edu/pub/tex/bib/sgml.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The ISO standard for standard generalized markup language (SGML) provides a syntactic meta-language for the definition of textual markup systems. In the standard the right hand sides of productions are called content models and they are based on regular expressions. The allowable regular expressions are those that are `unambiguous' as defined by the standard. Unfortunately, the standard's use of the term `unambiguous' does not correspond to the two well known notions, since not all regular languages are denoted by `unambiguous' expressions. Furthermore, the standard's definition of `unambiguous' is somewhat vague. The authors provide a precise definition of `unambiguous expressions' and rename them deterministic regular expressions to avoid any confusion. A regular expression E is deterministic if the canonical epsilon-free finite automaton M/sub E/ recognizing L(E) is deterministic. A regular language is deterministic if there is a deterministic expression that denotes it. The authors give a Kleene-like theorem for deterministic regular languages and characterize them in terms of the structural properties of the minimal deterministic automata recognizing them. The latter result enables them to decide if a given regular expression denotes a deterministic regular language and, if so, to construct an equivalent deterministic expression.", acknowledgement = ack-nhfb, affiliation = "Inst. f{\"u}r Inf., Freiburg Univ., Germany", classification = "C4210 (Formal logic); C4220 (Automata theory)", confdate = "13--15 Feb. 1992", conflocation = "Cachan, France", keywords = "Canonical epsilon-free finite automaton; Content models; Deterministic regular expressions; ISO standard; Kleene-like theorem; Minimal deterministic automata; Regular expressions; Standard generalized markup language; Structural properties; Syntactic meta-language; Textual markup systems", thesaurus = "Deterministic automata; Finite automata; Formal languages", } @InProceedings{Bruggemann-Klein:1992:DRLb, author = "A. Bruggemann-Klein and D. Wood", title = "Deterministic regular languages", crossref = "Finkel:1992:SAS", pages = "173--184", month = "????", year = "1992", bibdate = "Wed Sep 11 05:43:28 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/sgml.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Inst. f{\"u}r Inf., Freiburg Univ., Germany", classification = "C4210 (Formal logic); C4220 (Automata theory)", keywords = "Canonical epsilon-free finite automaton; Content models; Deterministic regular expressions; ISO standard; Kleene-like theorem; Minimal deterministic automata; Regular expressions; Standard generalized markup language; Structural properties; Syntactic meta-language; Textual markup systems", thesaurus = "Deterministic automata; Finite automata; Formal languages", } @TechReport{Bruggemann-Klein:1992:URE, author = "Anne Br{\"u}ggemann-Klein and Derick Wood", title = "Unambiguous Regular Expressions and {SGML} Document Grammars", type = "Technical Report", number = "337", institution = "Computer Science Department, University of Western Ontario", address = "London, Ontario, Canada", month = nov, year = "1992", ISBN = "0-7714-1454-4", ISBN-13 = "978-0-7714-1454-1", bibdate = "Sat Feb 24 09:50:43 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/sgml.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-js, annote = "From Joachim Schrod: ``Available from AFA \path=ftp.csd.uwo.ca:/pub/csd-technical-reports/337=. This report shows the relationship between traditional formal languages and SGML doctype specifications. In particular, it is a data point to show that the usage of terms in the SGML community does not conform to the canonical meaning in CS\@. The report shows that one can decide if a given regular expression is equivalent to a valid SGML doctype, and that one can do this transformation. The algorithm for the transformation is exponential; it is not known if this is a time-optimal algorithm.''", } @InProceedings{BruggemannKlein:1992:DRL, author = "A. Bruggemann-Klein and D. Wood", title = "Deterministic regular languages", crossref = "Finkel:1992:SAS", pages = "173--184", month = "????", year = "1992", bibdate = "Wed Sep 11 05:43:28 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/sgml.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Inst. f{\"u}r Inf., Freiburg Univ., Germany", classification = "C4210 (Formal logic); C4220 (Automata theory)", keywords = "Canonical epsilon-free finite automaton; Content models; Deterministic regular expressions; ISO standard; Kleene-like theorem; Minimal deterministic automata; Regular expressions; Standard generalized markup language; Structural properties; Syntactic meta-language; Textual markup systems", thesaurus = "Deterministic automata; Finite automata; Formal languages", } @Article{Cai:1992:MEB, author = "J. Cai and R. Paige and R. Tarjan", title = "More efficient bottom-up multi-pattern matching in trees", journal = j-THEOR-COMP-SCI, volume = "106", number = "1", pages = "21--60", day = "30", month = nov, year = "1992", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:24:22 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", acknowledgement = ack-nhfb, classification = "C1250 (Pattern recognition); C4210 (Formal logic); C6120 (File organisation)", corpsource = "Dept. of Comput. Sci., New York Univ., NY, USA", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "bottom-up multi-pattern matching; decomposition method; pattern preprocessing; pattern recognition; programming language systems; rewriting systems; space/time tradeoff; theorem proving; tree data structures; trees", pubcountry = "Netherlands", treatment = "P Practical", } @Article{Chang:1992:TEC, author = "William I. Chang and Jordan Lampe", title = "Theoretical and Empirical Comparisons of Approximate String Matching Algorithms", journal = j-LECT-NOTES-COMP-SCI, volume = "644", pages = "172--??", year = "1992", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:46:24 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Chew:1992:IGP, author = "L. P. Chew and K. Kedem", title = "Improvements on Geometric Pattern Matching Problems", journal = j-LECT-NOTES-COMP-SCI, volume = "621", pages = "318--??", year = "1992", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:46:24 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Chia-Hsiang:1992:RED, author = "Chang Chia-Hsiang and Robert Paige", title = "From Regular Expressions to {DFA's} Using Compressed {NFA's}", journal = j-LECT-NOTES-COMP-SCI, volume = "644", pages = "88--??", year = "1992", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:46:24 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @InProceedings{Cole:1992:TBE, author = "R. Cole and R. Hariharan", title = "Tighter bounds on the exact complexity of string matching", crossref = "IEEE:1992:ASF", pages = "600--609", year = "1992", bibdate = "Thu Apr 5 06:13:50 MDT 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Crochemore:1992:FSI, author = "M. Crochemore", title = "Foreword to the {Special Issue on Selected Papers of the Combinatorial Pattern Matching School, Paris, July 1990}", journal = j-THEOR-COMP-SCI, volume = "92", number = "1", pages = "1--??", day = "06", month = jan, year = "1992", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Fri Nov 21 19:16:33 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Crochemore:1992:NTD, author = "M. Crochemore and W. Rytter", title = "Note on Two-Dimensional Pattern Matching by Optimal Parallel Algorithms", journal = j-LECT-NOTES-COMP-SCI, volume = "654", pages = "100--??", year = "1992", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:46:24 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Crochemore:1992:SMO, author = "M. Crochemore", title = "String-matching on ordered alphabets", journal = j-THEOR-COMP-SCI, volume = "92", number = "1", pages = "33--47", day = "06", month = jan, year = "1992", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:24:22 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", acknowledgement = ack-nhfb, classification = "C1160 (Combinatorial mathematics); C1250 (Pattern recognition); C4240P (Parallel programming and algorithm theory); C6130 (Data handling techniques)", conflocation = "Paris, France; July 1990", conftitle = "Combinatorial Pattern Matching School", corpsource = "LITP, Paris Univ., France", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "complexity; computational complexity; constant space; data handling; linear time; memory locations; ordered alphabets; pattern recognition; search problems; string-matching algorithm; time-space optimal", pubcountry = "Netherlands", treatment = "P Practical; T Theoretical or Mathematical", } @InProceedings{Farnum:1992:PBT, author = "Charles Farnum", title = "Pattern-based tree attribution", crossref = "ACM:1992:CRN", pages = "211--222", year = "1992", bibdate = "Mon May 3 18:24:44 MDT 1999", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org:80/pubs/citations/proceedings/plan/143165/p211-farnum/", abstract = "Attribute grammars have been used for many language-oriented tasks, including the formal description of semantics and the implementation of compilation tasks from simple type checking through code generation. Despite their successful use, attribute grammars have some disadvantages, including the monolithic nature of the grammar and the fixed factoring of all attribute descriptions by a single set of grammar productions. {\em Attribute pattern sets\/} provide a more expressive attribution system by using pattern matching, instead of grammar productions, to perform case analysis. Attribute pattern sets can be implemented in terms of attribute grammars in a way that maintains the dependency structure of the attribute system, making it straightforward to convert many of the practical results from attribute grammar theory to similar results for attribute pattern sets.", acknowledgement = ack-nhfb, keywords = "algorithms; languages; verification", subject = "{\bf F.4.2} Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Grammars and Other Rewriting Systems, Grammar types. {\bf G.2.2} Mathematics of Computing, DISCRETE MATHEMATICS, Graph Theory, Trees. {\bf F.3.3} Theory of Computation, LOGICS AND MEANINGS OF PROGRAMS, Studies of Program Constructs, Type structure.", } @InProceedings{Farnum:1992:PTA, author = "Charles Farnum", title = "Pattern-based tree attribution", crossref = "ACM:1992:CRN", pages = "211--222", year = "1992", bibdate = "Mon May 3 18:24:44 MDT 1999", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org:80/pubs/citations/proceedings/plan/143165/p211-farnum/", abstract = "Attribute grammars have been used for many language-oriented tasks, including the formal description of semantics and the implementation of compilation tasks from simple type checking through code generation. Despite their successful use, attribute grammars have some disadvantages, including the monolithic nature of the grammar and the fixed factoring of all attribute descriptions by a single set of grammar productions. {\em Attribute pattern sets\/} provide a more expressive attribution system by using pattern matching, instead of grammar productions, to perform case analysis. Attribute pattern sets can be implemented in terms of attribute grammars in a way that maintains the dependency structure of the attribute system, making it straightforward to convert many of the practical results from attribute grammar theory to similar results for attribute pattern sets.", acknowledgement = ack-nhfb, keywords = "algorithms; languages; verification", subject = "{\bf F.4.2} Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Grammars and Other Rewriting Systems, Grammar types. {\bf G.2.2} Mathematics of Computing, DISCRETE MATHEMATICS, Graph Theory, Trees. {\bf F.3.3} Theory of Computation, LOGICS AND MEANINGS OF PROGRAMS, Studies of Program Constructs, Type structure.", } @Book{Frakes:1992:IRD, editor = "William B. Frakes and Ricardo Baeza-Yates", title = "Information Retrieval: Data Structures and Algorithms", publisher = pub-PH, address = pub-PH:adr, pages = "viii + 504", year = "1992", ISBN = "0-13-463837-9", ISBN-13 = "978-0-13-463837-9", LCCN = "QA76.9.D351543 1992", bibdate = "Wed May 18 19:05:15 1994", bibsource = "https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", price = "US\$56.00", acknowledgement = ack-nhfb, libnote = "Not in my library.", tableofcontents = "Introduction to information storage and retrieval systems / W. B. Frakes \\ Introduction to data structures and algorithms related to information retrieval / R. S. Baeza-Yates \\ Inverted files / D. Harman [and others] \\ Signature files / C. Faloutsos \\ New indices for text: PAT trees and PAT arrays / G. H. Gonnet, R. A. Baeza-Yates, T. Snider \\ File organizations for optical disks / D. A. Ford, S. Christodoulakis \\ Lexical analysis and stoplists / C. Fox \\ Stemming algorithms / W. B. Frakes \\ Thesaurus construction / P. Srinivasan \\ String searching algorithms / R. A. Baeza-Yates \\ Relevance feedback and other query modification techniques / D. Harman \\ Boolean operations / S. Wartik \\ Hashing algorithms / S. Wartik [and others] \\ Ranking algorithms / D. Harman \\ Extended Boolean models / E. Fox [and others] \\ Clustering algorithms / E. Rasmussen \\ Special-purpose hardware for information retrieval / L. Hollaar \\ Parallel information retrieval algorithms / C. Stanfill", } @Article{Fraser:1992:ESE, author = "Christopher W. Fraser and David R. Hanson and Todd A. Proebsting", title = "Engineering a simple, efficient code-generator generator", journal = j-LOPLAS, volume = "1", number = "3", pages = "213--226", month = sep, year = "1992", CODEN = "ALPSE8", DOI = "https://doi.org/10.1145/151640.151642", ISSN = "1057-4514 (print), 1557-7384 (electronic)", ISSN-L = "1057-4514", bibdate = "Fri Feb 17 18:41:11 2006", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://storage.webhop.net/documents/iburg.pdf; http://www.acm.org/pubs/toc/Abstracts/1057-4514/151642.html; http://www.cs.princeton.edu/software/iburg/", abstract = "Many code-generator generators use tree pattern matching and dynamic programming. This paper describes a simple program that generates matchers that are fast, compact, and easy to understand. It is simpler than common alternatives: 200-700 lines of Icon or 950 lines of C versus 3000 lines of C for Twig and 5000 for burg. Its matchers run up to 25 times faster than Twig's. They are necessarily slower than burg's BURS (bottom-up rewrite system) matchers, but they are more flexible and still practical.", acknowledgement = ack-nhfb, fjournal = "ACM Letters on Programming Languages and Systems (LOPLAS)", keywords = "languages", subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES, Processors, Translator writing systems and compiler generators. {\bf D.3.4}: Software, PROGRAMMING LANGUAGES, Processors, Code generation. {\bf D.3.4}: Software, PROGRAMMING LANGUAGES, Processors, Compilers.", } @InProceedings{Galil:1992:CTO, author = "Zvi Galil", title = "A constant-time optimal parallel string-matching algorithm", crossref = "ACM:1992:PTF", pages = "69--76", year = "1992", bibdate = "Wed Feb 20 18:34:00 MST 2002", bibsource = "http://portal.acm.org/; http://www.acm.org/pubs/contents/proceedings/series/stoc/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/articles/proceedings/stoc/129712/p69-galil/p69-galil.pdf; http://www.acm.org/pubs/citations/proceedings/stoc/129712/p69-galil/", acknowledgement = ack-nhfb, } @Article{Galil:1992:ECS, author = "Zvi Galil and Raffaele Giancarlo", title = "On the Exact Complexity of String Matching: Upper Bounds", journal = j-SIAM-J-COMPUT, volume = "21", number = "3", pages = "407--437", month = jun, year = "1992", CODEN = "SMJCAT", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68Q20 (68Q25 68U15)", MRnumber = "93g:68051", MRreviewer = "D. M. Campbell", bibdate = "Mon Nov 29 11:02:00 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/21/3; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @InProceedings{Galil:1992:TAI, author = "Z. Galil and K. Park", title = "Truly alphabet-independent two-dimensional pattern matching", crossref = "IEEE:1992:ASF", pages = "247--256", year = "1992", bibdate = "Thu Apr 5 06:13:50 MDT 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Garg:1992:CRE, author = "V. K. Garg and M. T. Ragunath", title = "Concurrent regular expressions and their relationship to {Petri} nets", journal = j-THEOR-COMP-SCI, volume = "96", number = "2", pages = "285--304", day = "13", month = apr, year = "1992", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:24:22 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", acknowledgement = ack-nhfb, classification = "C1160 (Combinatorial mathematics); C4210 (Formal logic); C6110B (Software engineering techniques)", corpsource = "Dept. of Electr. and Comput. Eng., Texas Univ., Austin, TX, USA", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "algebraic systems; concurrent regular expressions; concurrent systems specification; formal languages; formal specification; interleaving; interleaving closure; modular description of languages; Petri nets; renaming; synchronous composition", pubcountry = "Netherlands", treatment = "P Practical; T Theoretical or Mathematical", } @Book{Gilly:1992:UN, author = "Daniel Gilly and {the staff of O'Reilly \ and Associates}", title = "{UNIX} in a Nutshell", publisher = pub-ORA, address = pub-ORA:adr, edition = "Second", year = "1992", ISBN = "1-56592-001-5", ISBN-13 = "978-1-56592-001-9", LCCN = "QA76.76.O63 G55 1992", bibdate = "Tue Dec 14 22:53:27 1993", bibsource = "https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", acknowledgement = ack-nhfb, shorttableofcontents = "Introduction \\ UNIX commands \\ UNIX shell \\ Bourne shell and Korn shell \\ C shell \\ Pattern matching \\ Emacs editor \\ Vi editor \\ Ex editor \\ Sed editor \\ Awk scripting language", tableofcontents = "Commands and shells \\ Introduction \\ UNIX commands \\ The UNIX shell: an overview \\ The Bourne shell and Korn shell \\ The C shell \\ Text editing \\ Pattern matching \\ The emacs editor \\ The Vi editor \\ The ex editor \\ The sed editor \\ The awk scripting language \\ Text formatting \\ nroff and troff \\ mm macros \\ ms macros \\ me macros \\ Preprocessors \\ Software development \\ The SCCS utility \\ The RCS utility \\ The make utility \\ Program debugging \\ Loose ends \\ ASCII character set", } @InProceedings{Ginsburg:1992:PMR, author = "Seymour Ginsburg and Xiaoyang Wang", title = "Pattern matching by {Rs}-operations: towards a unified approach to querying sequenced data", crossref = "ACM:1992:PPE", pages = "293--300", year = "1992", bibdate = "Wed Oct 25 12:40:13 MDT 2000", bibsource = "http://www.acm.org/pubs/contents/proceedings/series/sigmod_pods/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/articles/proceedings/pods/137097/p293-ginsburg/p293-ginsburg.pdf; http://www.acm.org/pubs/citations/proceedings/pods/137097/p293-ginsburg/; http://www.acm.org:80/pubs/citations/proceedings/pods/137097/p293-ginsburg/", abstract = "A family of sequence operations (rs-operations), based on pattern matching and including most of the ``natural'' operations on sequences, is introduced. In order to apply rs-operations to calculus-like query languages, a logic about sequences (SL) is defined by converting rs-operations to special predicates. To illustrate the applicability of our concepts to database queries, rs-operations and SL are used in an algebra and a calculus, respectively, over an extended relational data model containing sequences.", acknowledgement = ack-nhfb, generalterms = "Languages; Theory", keywords = "languages; theory", subject = "{\bf H.2.3} Information Systems, DATABASE MANAGEMENT, Languages, Query languages. {\bf H.2.1} Information Systems, DATABASE MANAGEMENT, Logical Design, Data models. {\bf F.2.2} Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching.", } @Article{Grosch:1992:TAT, author = "Josef Grosch", title = "Transformation of Attributed Trees Using Pattern Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "641", pages = "1--??", year = "1992", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:46:24 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Gudeman:1992:DSG, author = "David A. Gudeman", title = "Denotational Semantics of a Goal-Directed Language", journal = j-TOPLAS, volume = "14", number = "1", pages = "107--125", month = jan, year = "1992", CODEN = "ATPSDT", ISSN = "0164-0925 (print), 1558-4593 (electronic)", ISSN-L = "0164-0925", bibdate = "Fri Jan 5 07:58:42 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/toplas.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/104659.html", abstract = "Goal-directed evaluation is a very expressive programming language paradigm that is supported in relatively few languages. It is characterized by evaluation of expressions in an attempt to meet some goal, with resumption of previous expressions on failure. This paradigm is found in SNOBL4 in its pattern-matching facilities, and in Icon as a general part of the language. This paper presents a denotational semantics of Icon and shows how Icon is in fact a combination of two distinct paradigms, goal-directed evaluation and functional application. The two paradigms are not supported separately in different contexts, but integrated fully into a single evaluation mechanism.", acknowledgement = ack-nhfb # " and " # ack-pb, fjournal = "ACM Transactions on Programming Languages and Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783", keywords = "languages; theory", subject = "{\bf F.3.2}: Theory of Computation, LOGICS AND MEANINGS OF PROGRAMS, Semantics of Programming Languages, Denotational semantics. {\bf D.3.1}: Software, PROGRAMMING LANGUAGES, Formal Definitions and Theory, Semantics. {\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language Classifications, Nonprocedural languages. {\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language Classifications, ICON. {\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language Constructs and Features, Control structures. {\bf F.3.3}: Theory of Computation, LOGICS AND MEANINGS OF PROGRAMS, Studies of Program Constructs, Control primitives.", } @Article{Gusfield:1992:EAA, author = "Dan Gusfield and Gad M. Landau and Baruch Schieber", title = "An efficient algorithm for the {All Pairs Suffix --- Prefix Problem}", journal = j-INFO-PROC-LETT, volume = "41", number = "4", pages = "181--185", day = "18", month = mar, year = "1992", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Univ of California at Davis", affiliationaddress = "Davis, CA, USA", classification = "723; C4240 (Programming and algorithm theory)", corpsource = "Div. of Comput. Sci., California Univ., Davis, CA, USA", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Algorithms; all pairs suffix-prefix problem; computational complexity; Computer Metatheory --- Computational Complexity; Computer Programming; fixed alphabet; longest suffix; programming theory; String Matching; Suffix-Prefix Matching", treatment = "T Theoretical or Mathematical", } @InProceedings{Hanson:1992:RCT, author = "Eric N. Hanson", title = "Rule condition testing and action execution in {Ariel}", crossref = "Stonebraker:1992:PAS", pages = "49--58", year = "1992", bibdate = "Wed Oct 25 12:40:13 MDT 2000", bibsource = "http://www.acm.org/pubs/contents/proceedings/series/sigmod_pods/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/articles/proceedings/mod/130283/p49-hanson/p49-hanson.pdf; http://www.acm.org/pubs/citations/proceedings/mod/130283/p49-hanson/", abstract = "This paper describes testing of rule conditions and execution of rule actions in Ariel active DBMS. The Ariel rule system is tightly coupled with query and update processing. Ariel rules can have conditions based on a mix of patterns, events, and transitions. For testing rule conditions, Ariel makes use of a discrimination network composed of a special data structure for testing single-relation selection conditions efficiently, and a modified version of the TREAT algorithm, called A-TREAT, for testing join conditions. The key modification to TREAT (which could also be used in the Rete algorithm) is the use of {\em virtual\/}-memory nodes which save storage since they contain only the predicate associated with the memory node instead of copies of data matching the predicate. The rule-action executor in Ariel binds the data matching a rule's condition to the action of the rule at rule fire time, and executes the rule action using the query processor.", acknowledgement = ack-nhfb, generalterms = "Design; Languages; Measurement; Theory", subject = "Information Systems --- Database Management --- Languages (H.2.3); Computing Methodologies --- Artificial Intelligence --- Knowledge Representation Formalisms and Methods (I.2.4)", } @Article{Hashiguchi:1992:TRS, author = "K. Hashiguchi and K. Yamada", title = "Two recognizable string-matching problems over free partially commutative monoids", journal = j-THEOR-COMP-SCI, volume = "92", number = "1", pages = "77--86", day = "06", month = jan, year = "1992", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:24:22 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", acknowledgement = ack-nhfb, classification = "C1160 (Combinatorial mathematics); C1250 (Pattern recognition); C4200 (Computer theory)", conflocation = "Paris, France; July 1990", conftitle = "Combinatorial Pattern Matching School", corpsource = "Dept. of Inf. and Comput. Sci., Toyohashi Univ. of Technol., Japan", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "computation theory; constant-size alphabet; free partially commutative monoids; linear-time algorithms; pattern recognition; recognizable string-matching problems; search problems", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Heering:1992:IGL, author = "J. Heering and P. Klint and J. Rekers", title = "Incremental Generation of Lexical Scanners", journal = j-TOPLAS, volume = "14", number = "4", pages = "490--520", month = oct, year = "1992", CODEN = "ATPSDT", ISSN = "0164-0925 (print), 1558-4593 (electronic)", ISSN-L = "0164-0925", bibdate = "Fri Jan 5 07:58:42 MST 1996", bibsource = "Compiler/TOPLAS.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/toplas.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/133240.html", abstract = "It is common practice to specify textual patterns by means of a set of regular expressions and to transform this set into a finite automaton to be used for the scanning of input strings. In many applications, the cost of this preprocessing phase can be amortized over many uses of the constructed automaton. In this paper new techniques for lazy and incremental scanner generation are presented. The lazy technique postpones the construction of parts of the automaton until they are really needed during the scanning of input. The incremental technique allows modifications to the original set of regular expressions to be made and reuses major parts of the previous automaton. This is interesting in applications such as environments for the interactive development of language definitions in which modifications to the definition of lexical syntax and the uses of the generated scanners alternate frequently.", acknowledgement = ack-nhfb # " and " # ack-pb, fjournal = "ACM Transactions on Programming Languages and Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783", keywords = "algorithms; languages; performance", subject = "{\bf D.1.2}: Software, PROGRAMMING TECHNIQUES, Automatic Programming. {\bf D.3.4}: Software, PROGRAMMING LANGUAGES, Processors, Translator writing systems and compiler generators.", } @Book{Hopcroft:1992:EAF, author = "John E. Hopcroft and Jeffrey D. Ullman", title = "{Einf{\"u}hrung in die Automatentheorie, formale Sprachen und Komplexit{\"a}tstheorie}. ({German}) [{Introduction} to Automata Theory, Formal Languages and Complexity Theory]", publisher = pub-AW, address = pub-AW:adr, edition = "1. Nachdr.", pages = "ix + 461", year = "1992", ISBN = "0-201-02988-X, 3-89319-181-X", ISBN-13 = "978-0-201-02988-8, 978-3-89319-181-9", LCCN = "????", bibdate = "Wed Sep 9 09:30:16 MDT 2020", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = "Internationale Computer-Bibliothek", acknowledgement = ack-nhfb, language = "German", subject = "Machine theory; Formal languages; Computational complexity; Computational complexity.; Formal languages.; Machine theory.; Automatentheorie; Formale Sprache; Komplexit{\"a}tstheorie; Theoretische Informatik", } @Article{Hudak:1992:RPL, author = "Paul Hudak and Simon Peyton Jones and Philip Wadler and Brian Boutel and Jon Fairbairn and Joseph Fasel and Mar{\'\i}a M. Guzm{\'a}n and Kevin Hammond and John Hughes and Thomas Johnsson and Dick Kieburtz and Rishiyur Nikhil and Will Partain and John Peterson", title = "Report on the programming language {Haskell}: a non-strict, purely functional language (Version 1.2)", journal = j-SIGPLAN, volume = "27", number = "5", pages = "Ri--Rx, R1--R163", month = may, year = "1992", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:16:21 MST 2003", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/fparith.bib; https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Haskell is a general purpose, purely functional programming language incorporating many recent innovations in programming language research, including higher-order functions, non-strict semantics, static polymorphic typing, user-defined algebraic datatypes, pattern-matching, list comprehensions, a module system, and a rich set of primitive datatypes, including lists, arrays, arbitrary and fixed precision integers, and floating-point numbers. Haskell is both the culmination and solidification of many years of research on functional languages-the design has been influenced by languages as old as ISWIM and as new as Miranda. The report defines the syntax for Haskell programs and an informal abstract semantics for the meaning of such programs.", acknowledgement = ack-nhfb, affiliation = "Yale Univ., New Haven, CT, USA", classification = "C6140D (High level languages)", fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "Abstract semantics; Arrays; Fixed precision integers; Floating-point numbers; Functional programming language; Haskell; Higher-order functions; List comprehensions; Lists; Module system; Non-strict semantics; Pattern-matching; Primitive datatypes; Static polymorphic typing; Syntax; User-defined algebraic datatypes", thesaurus = "Functional programming; High level languages", } @Article{Hui:1992:CSS, author = "Lucas C. K. Hui", title = "Color Set Size Problem with Applications to String Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "644", pages = "227--??", year = "1992", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:46:24 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Jambunathan:1992:DIF, author = "K. Jambunathan and E. Lai and S. L. Hartle and B. L. Button", title = "Development of an intelligent front end using {LISP}", journal = "Applications of Artificial Intelligence in Engineering", pages = "228--243", year = "1992", CODEN = "AAIEEO", bibdate = "Tue Sep 28 07:51:05 MDT 1999", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/common-lisp.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Nottingham Polytechnic", affiliationaddress = "Engl", classification = "631.1; 723.1.1; 723.2; 723.4.1", journalabr = "Appl Artif Intell Eng", keywords = "Advanced information technology; C (programming language); Common Lisp; Computational fluid dynamics (CFD) package; Data structures; Expert systems; Fluid dynamics; Inference engines; Intelligent front end (IFE); Knowledge based systems; Lisp (programming language); Pattern matching; Shell environment", } @Article{Jayaraman:1992:SAL, author = "Bharat Jayaraman", title = "Sublist assertions for listless and lazy evaluation", journal = j-COMP-LANGS, volume = "17", number = "2", pages = "133--146", month = apr, year = "1992", CODEN = "COLADA", ISSN = "0096-0551 (print), 1873-6742 (electronic)", ISSN-L = "0096-0551", bibdate = "Tue Mar 25 14:04:06 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/complngs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "State Univ of New York at Buffalo", affiliationaddress = "Buffalo, NY, USA", classcodes = "C6130 (Data handling techniques); C6110L (Logic programming); C6140D (High level languages)", classification = "723.1.1", corpsource = "Dept. of Comput. Sci., State Univ. of New York, Buffalo, NY, USA", fjournal = "Computer Languages", journal-URL = "http://www.sciencedirect.com/science/journal/00960551", journalabr = "Comput Lang", keywords = "answer; eager evaluation; lazy evaluation; list; list pattern; list processing; List processing; List processing languages; list-matching; list-valued function; listless evaluation; listof operation; logic programming; logical form; order; processing; programming languages; PROLOG; Prolog (Programming language); Prolog programming; relational assertions; Relational assertions; sublist assertion; Subset-equational program; unification", treatment = "P Practical", } @InProceedings{Jorgensen:1992:GCL, author = "Jesper J{\o}rgensen", title = "Generating a compiler for a lazy language by partial evaluation", crossref = "ACM:1992:CRN", pages = "258--268", year = "1992", bibdate = "Mon May 3 18:24:44 MDT 1999", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org:80/pubs/citations/proceedings/plan/143165/p258-jorgensen/", abstract = "Compiler generation is often emphasized as being the most important application of partial evaluation. But most of the larger practical applications have, to the best of our knowledge, been outside this field. Especially, no one has generated compilers for languages other than small languages. This paper describes a large application of partial evaluation where a realistic compiler was generated for a strongly typed lazy functional language. The language, that was called BAWL, was modeled after the language in Bird and Wadler [BW88] and is a combinator language with pattern matching, guarded alternatives, local definitions and list comprehensions. The paper describes the most important techniques used, especially the binding time improvements needed in order to get small and efficient target programs. Finally, the performance of the compiler is compared with two compilers for similar languages: Miranda and LML.", acknowledgement = ack-nhfb, keywords = "algorithms; languages", subject = "{\bf D.3.4} Software, PROGRAMMING LANGUAGES, Processors, Compilers. {\bf F.3.3} Theory of Computation, LOGICS AND MEANINGS OF PROGRAMS, Studies of Program Constructs, Functional constructs. {\bf D.3.3} Software, PROGRAMMING LANGUAGES, Language Constructs and Features, Procedures, functions, and subroutines. {\bf D.3.2} Software, PROGRAMMING LANGUAGES, Language Classifications. {\bf D.3.1} Software, PROGRAMMING LANGUAGES, Formal Definitions and Theory, Semantics. {\bf D.3.1} Software, PROGRAMMING LANGUAGES, Formal Definitions and Theory, Syntax.", } @Article{Katajainen:1992:ALM, author = "Jyrki Katajainen and Timo Raita", title = "An Analysis of the Longest Match and the Greedy Heuristics in Text Encoding", journal = j-J-ACM, volume = "39", number = "2", pages = "281--294", month = apr, year = "1992", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Fri Sep 22 14:23:22 2023", bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Theory/JACM.bib; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0004-5411/128751.html", abstract = "Text compression is often done using a fixed, previously formed dictionary (code book) that expresses which substrings of the text can be replaced by code words. There always exists an optimal solution for text-encoding problem. Due to the long processing times of the various optimal algorithms, several heuristics have been proposed in the literature. In this paper, the worst-case compression gains obtained by the longest match and the greedy heuristics for various types of dictionaries is studied. For general dictionaries, the performance of the heuristics can be almost the weakest possible. In practice, however, the dictionaries have usually properties that lead to a space-optimal or near-space-optimal coding result with the heuristics.", acknowledgement = ack-nhfb, fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", keywords = "Algorithms; Data Structures and Algorithms; optimal and heuristic encoding; performance; shortest paths; textual substitution; Theory", subject = "{\bf E.4}: Data, CODING AND INFORMATION THEORY, Data compaction and compression. {\bf G.2.2}: Mathematics of Computing, DISCRETE MATHEMATICS, Graph Theory, Path and circuit problems.", } @Article{Kaufmann:1992:EBM, author = "Matt Kaufmann", title = "An extension of the {Boyer--Moore} Theorem Prover to support first-order quantification", journal = j-J-AUTOM-REASON, volume = "9", number = "3", pages = "355--372", month = dec, year = "1992", CODEN = "JAREEW", DOI = "https://doi.org/10.1007/BF00245295", ISSN = "0168-7433 (print), 1573-0670 (electronic)", ISSN-L = "0168-7433", bibdate = "Sat Apr 2 10:49:35 MDT 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/jautomreason.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/BF00245295", acknowledgement = ack-nhfb, ajournal = "J. Autom. Reason.", fjournal = "Journal of Automated Reasoning", journal-URL = "http://link.springer.com/journal/10817", } @Article{Kim:1992:ASM, author = "J. Y. Kim and J. Shawe-Taylor", title = "An approximate string-matching algorithm", journal = j-THEOR-COMP-SCI, volume = "92", number = "1", pages = "107--117", day = "06", month = jan, year = "1992", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:24:22 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", acknowledgement = ack-nhfb, classification = "C1160 (Combinatorial mathematics); C1250 (Pattern recognition); C4240P (Parallel programming and algorithm theory)", conflocation = "Paris, France; July 1990", conftitle = "Combinatorial Pattern Matching School", corpsource = "Dept. of Comput. Sci., R. Holloway and Bedford New Coll., London Univ., UK", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "algorithm theory; approximate searches; approximate string-matching algorithm; attribute-matching algorithms; complexity analysis; computational complexity; data structure; look-up phase; pattern recognition; regularity assumptions; search problems; text string", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Kinber:1992:LCR, author = "Efim Kinber", title = "Learning a Class of Regular Expressions via Restricted Subset Queries", journal = j-LECT-NOTES-COMP-SCI, volume = "642", pages = "232--??", year = "1992", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:46:24 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Knight:1992:ARE, author = "James R. Knight and Eugene W. Myers", title = "Approximate Regular Expression Pattern Matching with Concave Gap Penalties", journal = j-LECT-NOTES-COMP-SCI, volume = "644", pages = "66--??", year = "1992", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:46:24 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Kukich:1992:TAC, author = "Karen Kukich", title = "Techniques for Automatically Correcting Words in Text", journal = j-COMP-SURV, volume = "24", number = "4", pages = "377--439", month = dec, year = "1992", CODEN = "CMSVAN", DOI = "https://doi.org/10.1145/146370.146380", ISSN = "0360-0300 (print), 1557-7341 (electronic)", ISSN-L = "0360-0300", bibdate = "Thu Jun 19 09:43:10 MDT 2008", bibsource = "Compendex database; ftp://ftp.ira.uka.de/pub/bibliography/Ai/cmubib.bib; http://www.acm.org/pubs/contents/journals/surveys/; https://www.math.utah.edu/pub/tex/bib/compsurv.bib; https://www.math.utah.edu/pub/tex/bib/spell.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0360-0300/146380.html", abstract = "Research aimed at correcting words in text has focused on three progressively more difficult problems: (1) nonword error detection; (2) isolated-word error correction; and (3) context-dependent word correction. In response to the first problem, efficient pattern matching and $n$-gram analysis techniques have been developed for detecting strings that do not appear in a given word list. In response to the second problem, a variety of general and application-specific spelling correction techniques have been developed. Some of them were based on detailed studies of spelling error patterns. In response to the third problem, a few experiments using natural-language-processing tools or statistical-language models have been carried out. This article surveys documented findings on spelling error patterns, provides descriptions of various nonword detection and isolated-word error correction techniques, reviews the state of the art of context-dependent word correction techniques, and discusses research issues related to all three areas of automatic error correction in text.", acknowledgement = ack-nhfb, affiliation = "Bellcore", affiliationaddress = "Morristown, NJ, USA", classification = "723.1.1; 723.5", fjournal = "ACM Computing Surveys", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J204", journalabr = "ACM Comput Surv", keywords = "$n$-gram analysis; algorithms; Automatic error correction; Computer programming languages; context-dependent spelling correction; Error correction; Error detection; Error patterns; experimentation; grammar checking; human factors; Isolated words; n-gram analysis; natural-language-processing models; neural net classifiers; Optical Character Recognition (OCR); Pattern recognition; performance; spell checking; Spelling correction; spelling error detection; spelling error patterns; statistical-language models; theory; Word correction; Word processing; word recognition and correction", subject = "I.2.6 [Artificial Intelligence]: Learning\emdash connectionism and neural nets; I.2.7 [Artificial Intelligence]: Natural Language Processing\emdash language models; language parsing and understanding; text analysis; I.5.1 [Pattern Recognition]: Models\emdash neural nets; statistical; I.5.4 [Pattern Recognition]: Applications\emdash text processing; I.7.1 [Text Processing]: Text Editing\emdash spelling", } @Article{Lecroq:1992:VBM, author = "T. Lecroq", title = "A variation on the {Boyer--Moore} algorithm", journal = j-THEOR-COMP-SCI, volume = "92", number = "1", pages = "119--144", day = "06", month = jan, year = "1992", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:24:22 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", acknowledgement = ack-nhfb, classification = "C4220 (Automata theory)", conflocation = "Paris, France; July 1990", conftitle = "Combinatorial Pattern Matching School", corpsource = "CERIL, Evry, France", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", keywords = "automata theory; Boyer--Moore algorithm; linear-time method; longest prefix; smallest suffix automaton", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Manber:1992:APM, author = "Udi Manber and Sun Wu", title = "Approximate Pattern Matching", journal = j-BYTE, volume = "17", number = "??", pages = "??--??", month = "??", year = "1992", CODEN = "BYTEDJ", ISSN = "0360-5280 (print), 1082-7838 (electronic)", ISSN-L = "0360-5280", bibdate = "Fri Sep 22 14:23:22 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "BYTE Magazine", } @Article{Manber:1992:SAR, author = "Udi Manber and Sun Wu", title = "Some Assembly Required. Approximate Pattern Matching: Agrep's algorithms let you perform text searches using an approximate pattern", journal = j-BYTE, volume = "17", number = "12", pages = "281--??", month = nov, year = "1992", CODEN = "BYTEDJ", ISSN = "0360-5280 (print), 1082-7838 (electronic)", ISSN-L = "0360-5280", bibdate = "Tue Jan 2 10:01:41 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "BYTE Magazine", } @Article{Muthukrishnan:1992:SMU, author = "S. Muthukrishnan and H. Ramesh", title = "String Matching Under a General Matching Relation", journal = j-LECT-NOTES-COMP-SCI, volume = "652", pages = "356--??", year = "1992", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:46:24 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Myers:1992:FRA, author = "Gene Myers", title = "A Four {Russians} Algorithm for Regular Expression Pattern Matching", journal = j-J-ACM, volume = "39", number = "2", pages = "430--448", month = apr, year = "1992", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Thu Oct 20 22:42:43 1994", bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Theory/JACM.bib; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0004-5411/128755.html", abstract = "Given a regular expression {$R$} of length {$P$} and a word {$A$} of length {$N$}, the membership problem is to determine if {$A$} is in the language denoted by {$R$}. An {$ O(P N / \lg N) $} time algorithm is presented that is based on a {$ \lg N $} speedup of the standard {$ O(P N) $} time simulation of {$R$}'s nondeterministic finite automaton on {$A$} using a combination of the node-listing and ``Four-Russians'' paradigms. This result places a new worst-case upper bound on regular expression pattern matching. Moreover, in practice the method provides an implementation that is faster than existing software for small regular expressions.", acknowledgement = ack-nhfb, fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", keywords = "Algorithms; finite automaton; Four Russians paradigm; note listing; performance; regular expression; String Processing; Theory", subject = "{\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching. {\bf I.1.2}: Computing Methodologies, ALGEBRAIC MANIPULATION, Algorithms, Analysis of algorithms. {\bf I.5.0}: Computing Methodologies, PATTERN RECOGNITION, General. {\bf F.1.1}: Theory of Computation, COMPUTATION BY ABSTRACT DEVICES, Models of Computation.", } @Article{Neraud:1992:SMI, author = "J. Neraud and M. Crochemore", title = "A string matching interpretation of the equation $ x^m y^n = z^p $", journal = j-THEOR-COMP-SCI, volume = "92", number = "1", pages = "145--164", day = "06", month = jan, year = "1992", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:24:22 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", acknowledgement = ack-nhfb, classification = "C1250 (Pattern recognition); C4240P (Parallel programming and algorithm theory)", conflocation = "Paris, France; July 1990", conftitle = "Combinatorial Pattern Matching School", corpsource = "LITP, Rouen Univ., Mont-Saint-Aignan, France", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "algorithm theory; biprefix code; computational complexity; finite alphabet; maximal factors; NP-complete problem; on-line algorithm; pattern recognition; preprocessing phase; string-matching interpretation; time linear", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Ogawa:1992:RDF, author = "R. Ogawa and Y. Kikuchi and K. Takahashi", title = "Recent developments in full text database technologies", journal = j-J-INFO-PROC-SOC-JAPAN, volume = "33", number = "4", pages = "404--412", month = "????", year = "1992", CODEN = "JOSHA4", ISSN = "0447-8053", bibdate = "Wed Sep 11 05:43:28 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/sgml.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Discusses CD-ROM; Knuth--Morris--Pratt pattern matching in strings; the Boyer--Moore string searching algorithm; Aho--Corasick string matching; associative memory; variable length don't care; cellular arrays; broadcasting; shift registers; systolic arrays; finite state automata: input control; sequential logic; comparison; dynamic programming; SGML; and PostScript.", acknowledgement = ack-nhfb, affiliation = "NEC Corp., Tokyo, Japan", classification = "C6130D (Document processing techniques); C7250L (Non-bibliographic systems)", fjournal = "Journal of Information Processing Society of Japan = Joho Shori", keywords = "Aho--Corasick string matching; Associative memory; Boyer--Moore string searching algorithm; Broadcasting; CD-ROM; Cellular arrays; Dynamic programming; Finite state automata; Full text database technologies; Input control; Knuth--Morris--Pratt pattern matching; PostScript; Sequential logic; SGML; Shift registers; Systolic arrays; Variable length don't care", language = "Japanese", pubcountry = "Japan", thesaurus = "Cellular arrays; Information retrieval; Information retrieval systems", } @Article{Paredaens:1992:OG, author = "Jan Paredaens and Jan {Van den Bussche} and Marc Andries and Marc Gemis and Marc Gyssens and Inge Thyssens and Dirk {Van Gucht} and Vijay Sarathy and Lawrence Saxton", title = "An overview of {GOOD}", journal = j-SIGMOD, volume = "21", number = "1", pages = "25--31", month = mar, year = "1992", CODEN = "SRECD8", ISSN = "0163-5808 (print), 1943-5835 (electronic)", ISSN-L = "0163-5808", bibdate = "Mon Jan 12 08:45:40 MST 2004", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigmod.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Antwerp Univ., Belgium", classification = "C6160J (Object-oriented databases); C6180 (User interfaces)", fjournal = "SIGMOD Record (ACM Special Interest Group on Management of Data)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J689", keywords = "Database manipulations; GOOD; Graph-oriented database user-interface; Graph-oriented object database; Graph-pattern matching; Uniform object manipulation primitive", thesaurus = "Object-oriented databases; User interfaces", } @Article{Pettersson:1992:TPM, author = "Mikael Pettersson", title = "A Term Pattern-Match Compiler Inspired by Finite Automata Theory", journal = j-LECT-NOTES-COMP-SCI, volume = "641", pages = "258--??", year = "1992", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:46:24 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Quong:1992:FAC, author = "R. W. Quong", title = "Fast average-case pattern matching by multiplexing sparse tables", journal = j-THEOR-COMP-SCI, volume = "92", number = "1", pages = "165--179", day = "06", month = jan, year = "1992", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:24:22 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", acknowledgement = ack-nhfb, classification = "C1160 (Combinatorial mathematics); C1250 (Pattern recognition); C4240P (Parallel programming and algorithm theory)", conflocation = "Paris, France; July 1990", conftitle = "Combinatorial Pattern Matching School", corpsource = "Sch. of Electr. Eng., Purdue Univ., West Lafayette, IN, USA", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "computational complexity; data collecting evidence; encode; fast average case pattern matching; k-mismatches string searching problem; multiplexing sparse tables; occurrences; pattern matching; pattern recognition; search problems; text string; uniform character distribution", pubcountry = "Netherlands", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Raita:1992:TBM, author = "Timo Raita", title = "Tuning the {Boyer--Moore--Horspool} String Searching Algorithm", journal = j-SPE, volume = "22", number = "10", pages = "879--884", month = oct, year = "1992", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.4380221006", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.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 = "30 Oct 2006", } @Article{Ramesh:1992:NPM, author = "R. Ramesh and I. V. Ramakrishnan", title = "Nonlinear Pattern Matching in Trees", journal = j-J-ACM, volume = "39", number = "2", pages = "295--316", month = apr, year = "1992", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Fri Sep 22 14:23:22 2023", bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/Compiler.Lins.bib; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0004-5411/128752.html", abstract = "Tree pattern matching is a fundamental operation that is used in a number of programming tasks such as mechanical theorem proving, term rewriting, symbolic computation, and nonprocedural programming languages. In this paper, we present new sequential algorithms for nonlinear pattern matching in trees. Our algorithm improves upon know tree pattern matching algorithms in important aspects such as time performance, ease of integration with several reduction strategies and ability to avoid unnecessary computation steps on match attempts that fail. The expected time complexity of our algorithm is linear in the sum of the sizes of the two trees.", acknowledgement = ack-nhfb, fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", keywords = "Algorithms; Data Structures and Algorithms; languages; nonlinear pattern matching; normalization; performance; rewriting; theorem proving; Theory", subject = "{\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching. {\bf F.4.1}: Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Mathematical Logic, Mechanical theorem proving. {\bf F.4.2}: Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Grammars and Other Rewriting Systems. {\bf E.1}: Data, DATA STRUCTURES, Trees.", } @Article{Regnier:1992:LAS, author = "Mireille Regnier", title = "A Language Approach to String Searching Evaluation", journal = j-LECT-NOTES-COMP-SCI, volume = "644", pages = "15--??", year = "1992", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Mon May 13 11:46:24 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs1992.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Reznick:1992:URE, author = "Larry Reznick", title = "Using Regular Expressions", journal = j-SYS-ADMIN, volume = "1", number = "3", pages = "59--??", month = sep # "\slash " # oct, year = "1992", CODEN = "SYADE7", ISSN = "1061-2688", bibdate = "Sat Aug 31 19:04:03 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Sys admin: the journal for UNIX system administrators", } @Article{Robinson:1992:HSR, author = "Ian N. Robinson", title = "Hardware to support runtime intelligence", journal = j-COMPUTER, volume = "25", number = "5", pages = "63--66", month = may, year = "1992", CODEN = "CPTRB4", ISSN = "0018-9162 (print), 1558-0814 (electronic)", ISSN-L = "0018-9162", bibdate = "Sat Feb 1 16:21:14 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/computer1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Hewlett--Packard Lab., Palo Alto, CA, USA", classification = "713; 722; 723; B1265D (Memory circuits); C5130 (Microprocessor chips); C5260B (Computer vision and picture processing); C5340 (Associative storage); C6170 (Expert systems)", fjournal = "Computer", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2", journalabr = "Computer", keywords = "Artificial Intelligence; Associative; Associative memory system; Computer Hardware; Coprocessor board; Custom VLSI chips; Data Storage, Digital; Database Systems; Declarative Expression; Declarative expression; Dynamic database; Dynamic Databases; Integrated Circuits, vlsi; Pattern-matching rules; Popular intelligent-system architectures; Querying; Runtime Intelligence; Runtime intelligence; Syntax", thesaurus = "Computerised pattern recognition; Content-addressable storage; Database management systems; Knowledge based systems; Memory architecture; VLSI", } @Article{Russinoff:1992:VSC, author = "David M. Russinoff", title = "A verification system for concurrent programs based on the {Boyer--Moore} prover", journal = j-FORM-ASP-COMPUT, volume = "4", number = "1S", pages = "597--611", month = nov # "\slash " # dec, year = "1992", CODEN = "FACME5", DOI = "https://doi.org/10.1007/BF03180564", ISSN = "0934-5043 (print), 1433-299X (electronic)", ISSN-L = "0934-5043", bibdate = "Wed Mar 18 06:37:01 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/formaspcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/BF03180564", acknowledgement = ack-nhfb, fjournal = "Formal Aspects of Computing", journal-URL = "http://link.springer.com/journal/165", } @Article{Saoudi:1992:OPA, author = "A. Saoudi and M. Nivat", title = "Optimal Parallel Algorithms for Multidimensional Image Template Matching and Pattern Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "654", pages = "240--??", year = "1992", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:46:24 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Book{Sedgewick:1992:AC, author = "Robert Sedgewick", title = "Algorithms in {C++}", publisher = pub-AW, address = pub-AW:adr, pages = "xiv + 656", year = "1992", ISBN = "0-201-36118-3, 0-201-51059-6", ISBN-13 = "978-0-201-36118-6, 978-0-201-51059-1", LCCN = "QA76.73.C153 S38 1992", MRclass = "68N15, 68-01, 68-04, 68P10, 68W10, 68W15, 68N15", bibdate = "Mon Jan 3 12:10:05 1994", bibsource = "https://www.math.utah.edu/pub/tex/bib/cryptography1990.bib; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/numana1990.bib; https://www.math.utah.edu/pub/tex/bib/prng.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", ZMnumber = "0826.68025", acknowledgement = ack-nhfb, libnote = "Not yet in my library.", tableofcontents = "Fundamentals \\ 1: Introduction \\ Algorithms \\ Outline of Topics \\ 2: C++ (and C) \\ Example: Euclid's Algorithm \\ Types of Data \\ Input/Output \\ Concluding Remarks \\ 3: Elementary Data Structures \\ Arrays \\ Linked Lists \\ Storage Allocation \\ Pushdown Stacks \\ Queues \\ Linked List Implementation of Stacks \\ Abstract and Concrete Data Types \\ 4: Trees \\ Glossary \\ Properties \\ Representing Binary Trees \\ Representing Forests \\ Traversing Trees \\ 5: Recursion \\ Recurrences \\ Divide-and-Conquer \\ Recursive Tree Traversal \\ Removing Recursion \\ Perspective \\ 6: Analysis of Algorithms \\ Framework \\ Classification of Algorithms \\ Computational Complexity \\ Average-Case Analysis \\ Approximate and Asymptotic Results \\ Basic Recurrences \\ Perspective \\ 7: Implementation of Algorithms \\ Selecting an Algorithm \\ Empirical Analysis \\ Program Optimization \\ Algorithms and Systems \\ Sorting Algorithms \\ 8: Elementary Sorting Methods \\ Rules of the Game \\ Selection Sort \\ Insertion Sort \\ Digression: Bubble Sort \\ Performance Characteristics of Elementary Sorts \\ Sorting Files with Large Records \\ Shellsort \\ Distribution Counting \\ 9: Quicksort \\ The Basic Algorithm \\ Performance Characteristics of Quicksort \\ Removing Recursion \\ Small Subfiles \\ Median-of-Three Partitioning \\ Selection \\ 10: Radix Sorting \\ Bits \\ Radix Exchange Sort \\ Straight Radix Sort \\ Performance Characteristics of Radix Sorts \\ A Linear Sort \\ 11: Priority Queues \\ Elementary Implementations \\ Heap Data Structure \\ Algorithms on Heaps \\ Heapsort \\ Indirect Heaps \\ Advanced Implementations \\ 12: Mergesort \\ Merging \\ Mergesort \\ List Mergesort \\ Bottom-Up Mergesort \\ Performance Characteristics \\ Optimized Implementations \\ Recursion Revisited \\ 13: External Sorting \\ Sort-Merge \\ Balanced Multiway Merging \\ Replacement Selection \\ Practical Considerations \\ Polyphase Merging \\ An Easier Way \\ Searching Algorithms \\ 14: Elementary Searching Methods \\ Sequential Searching \\ Binary Search \\ Binary Tree Search \\ Deletion \\ Indirect Binary Search Trees \\ 15: Balanced Trees \\ Top-Down 2-3-4 Trees \\ Red-Black Trees \\ Other Algorithms \\ 16: Hashing \\ Hash Functions \\ Separate Chaining \\ Linear Probing \\ Double Hashing \\ Perspective \\ 17: Radix Searching \\ Digital Search Trees \\ Radix Search Tries \\ Multiway Radix Searching \\ Patricia \\ 18: External Searching \\ Indexed Sequential Access \\ B-Trees \\ Extendible Hashing \\ Virtual Memory \\ String Processing \\ 19: String Searching \\ A Short History \\ Brute-Force Algorithm \\ Knuth--Morris--Pratt Algorithm \\ Boyer--Moore Algorithm \\ Rabin--Karp Algorithm \\ Multiple Searches \\ 20: Pattern Matching \\ Describing Patterns \\ Pattern Matching Machines \\ Representing the Machine \\ Simulating the Machine \\ 21: Parsing \\ Context-Free Grammars \\ Top-Down Parsing \\ Bottom-Up Parsing \\ Compilers \\ Compiler-Compilers \\ 22: File Compression \\ Run-Length Encoding \\ Variable-Length Encoding \\ Building the Huffman Code \\ Implementation \\ 23: Cryptology \\ Rules of the Game \\ Simple Methods \\ Encryption/Decryption Machines \\ Public-Key Cryptosystems \\ Geometric Algorithms \\ 24: Elementary Geometric Methods \\ Points, Lines, and Polygons \\ Line Segment Intersection \\ Simple Closed Path \\ Inclusion in a Polygon \\ Perspective \\ 25: Finding the Convex Hull \\ Rules of the Game \\ Package-Wrapping \\ The Graham Scan \\ Interior Elimination \\ Performance Issues \\ 26: Range Searching \\ Elementary Methods \\ Grid Method \\ Two-Dimensional Trees \\ Multidimensional Range Searching \\ 27: Geometric Intersection \\ Horizontal and Vertical Lines \\ Implementation \\ General Line Intersection \\ 28: Closest-Point Problems \\ Closest-Pair Problem \\ Voronoi Diagrams \\ Graph Algorithms \\ 29: Elementary Graph Algorithms \\ Glossary \\ Representation \\ Depth-First Search \\ Nonrecursive Depth-First Search \\ Breadth-First Search \\ Mazes \\ Perspective \\ 30: Connectivity \\ Connected Components \\ Biconnectivity \\ Union-Find Algorithms \\ 31: Weighted Graphs \\ Minimum Spanning Tree \\ Priority-First Search \\ Kruskal's Method \\ Shortest Path \\ Minimum Spanning Tree and Shortest Paths in Dense Graphs \\ Geometric Problems \\ 32: Directed Graphs \\ Depth-First Search \\ Transitive Closure \\ All Shortest Paths \\ Topological Sorting \\ Strongly Connected Components \\ 33: Network Flow \\ The Network Flow Problem \\ Ford--Fulkerson Method \\ Network Searching \\ 34: Matching \\ Bipartite Graphs \\ Stable Marriage Problem \\ Advanced Algorithms \\ Mathematical Algorithms \\ 35: Random Numbers \\ Applications \\ Linear Congruential Method \\ Additive Congruential Method \\ Testing Randomness \\ Implementation Notes \\ 36: Arithmetic \\ Polynomial Arithmetic \\ Polynomial Evaluation and Interpolation \\ Polynomial Multiplication \\ Arithmetic Operations with Large Integers \\ Matrix Arithmetic \\ 37: Gaussian Elimination \\ A Simple Example \\ Outline of the Method \\ Variations and Extensions \\ 38: Curve Fitting \\ Polynomial Interpolation \\ Spline Interpolation \\ Method of Least Squares \\ 39: Integration \\ Symbolic Integration \\ Simple Quadrature Methods \\ Compound Methods \\ Adaptive Quadrature \\ Advanced Topics \\ 40: Parallel Algorithms \\ General Approaches \\ Perfect Shuffles \\ Systolic Arrays \\ Perspective \\ 41: The Fast Fourier Transform \\ Evaluate, Multiply, Interpolate \\ Complex Roots of Unity \\ Evaluation at the Roots of Unity \\ Interpolation at the Roots of Unity \\ Implementation \\ 42: Dynamic Programming \\ Knapsack Problem \\ Matrix Chain Product \\ Optimal Binary Search Trees \\ Time and Space Requirements \\ 43: Linear Programming \\ Linear Programs \\ Geometric Interpretation \\ The Simplex Method \\ Implementation \\ 44: Exhaustive Search \\ Exhaustive Search in Graphs \\ Backtracking \\ Digression: Permutation Generation \\ Approximation Algorithms \\ 45: NP-Complete Problems \\ Deterministic and Nondeterministic Polynomial-Time Algorithms \\ NP-Completeness \\ Cook's Theorem \\ Some NP-Complete Problems", } @Article{Sekar:1992:APM, author = "R. C. Sekar and R. Ramesh and I. V. Ramakrishnan", title = "Adaptive Pattern Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "623", pages = "247--??", year = "1992", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:46:24 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Shields:1992:SME, author = "Paul C. Shields", title = "String Matching: The Ergodic Case", journal = j-ANN-PROBAB, volume = "20", number = "3", pages = "1199--1203", month = jul, year = "1992", CODEN = "APBYAE", ISSN = "0091-1798 (print), 2168-894X (electronic)", ISSN-L = "0091-1798", bibdate = "Sun Apr 20 10:44:17 MDT 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/annprobab1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://projecteuclid.org/euclid.aop/1176989686", acknowledgement = ack-nhfb, fjournal = "Annals of Probability", journal-URL = "http://projecteuclid.org/all/euclid.aop", } @Article{Ukkonen:1992:ASM, author = "E. Ukkonen", title = "Approximate string-matching with $q$-grams and maximal matches", journal = j-THEOR-COMP-SCI, volume = "92", number = "1", pages = "191--211", day = "06", month = jan, year = "1992", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:24:22 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", acknowledgement = ack-nhfb, classification = "C1250 (Pattern recognition); C4240P (Parallel programming and algorithm theory); C6120 (File organisation)", conflocation = "Paris, France; July 1990", conftitle = "Combinatorial Pattern Matching School", corpsource = "Dept. of Comput. Sci., Helsinki Univ., Finland", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "algorithm theory; approximate string-matching; associated string-matching problem; data structures; edit distance; edit distance based string-matching; fast hybrid algorithms; linear time; locally best approximate occurrences; lower bound; maximal common substrings; maximal matches; pattern recognition; q-grams; string distance functions; unit cost model", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Verma:1992:STP, author = "Rakesh M. Verma", title = "Strings, trees, and patterns", journal = j-INFO-PROC-LETT, volume = "41", number = "3", pages = "157--161", day = "6", month = mar, year = "1992", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Univ of Houston", affiliationaddress = "Houston, TX, USA", classification = "723; 921; C1160 (Combinatorial mathematics); C1250 (Pattern recognition); C4240P (Parallel programming and algorithm theory)", corpsource = "Dept. of Comput. Sci., Houston Univ., TX, USA", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "computational complexity; Computer Metatheory --- Computational Complexity; Computer Programming --- Algorithms; linear time algorithm; Linear Time Algorithms; Mathematical Techniques; ordered subtree isomorphism; pattern matching; pattern recognition; patterns; Subtree Isomorphism; subtree isomorphism; symbolic problems; Trees; trees; trees (mathematics)", treatment = "P Practical; T Theoretical or Mathematical", } @InProceedings{Wu:1992:AFA, author = "Sun Wu and Udi Manber", title = "{{\tt agrep}} --- a Fast Approximate Pattern-Matching Tool", crossref = "USENIX:1992:PWU", institution = "University of Arizona, Tucson", pages = "153--162", month = "Winter", year = "1992", bibdate = "Wed Aug 13 10:48:45 MDT 1997", bibsource = "ftp://ftp.uu.net/library/bibliography; http://www.usenix.org/cgi-bin/sortbib.pl?-sA; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "University of Arizona, Tucson", } @Article{Wu:1992:FTS, author = "Sun Wu and Udi Manber", title = "Fast text searching allowing errors", journal = j-CACM, volume = "35", number = "10", pages = "83--91", month = oct, year = "1992", CODEN = "CACMA2", DOI = "https://doi.org/10.1145/135239.135244", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Mon Jan 06 09:13:52 1997", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/cacm1970.bib; https://www.math.utah.edu/pub/tex/bib/cacm1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "This algorithm in this paper is implemented in the \path|agrep| program, publicly available via ANONYMOUS FTP to \path|cs.arizona.edu| in the \path|agrep| subdirectory. See also \cite{Baeza-Yates:1992:NAT}.", URL = "http://www.acm.org/pubs/toc/Abstracts/0001-0782/135244.html", abstract = "The string-matching problem is a very common problem. We are searching for a string $ P = p_1 p_2 \ldots {} p_m $ inside a large text file $ T = t_1 t_2 \ldots {} t_n $, both sequences of characters from a finite character set $ \Sigma $. The characters may be English characters in a text file, DNA base pairs, lines of source code, angles between edges in polygons, machines or machine parts in a production schedule, music notes and tempo in a musical score, and so forth. We want to find all occurrences of $P$ in $T$; namely, we are searching for the set of starting positions $ F = \{ i|1 \leq i \leq n - m + 1$ such that $ t_i t_{i + 1} \ldots {} t_{i + m - 1} = P \} $. The two most famous algorithms for this problem are the Boyer--Moore algorithm [3] and the Knuth Morris Pratt algorithm [10]. There are many extensions to this problem; for example, we may be looking for a set of patterns, a pattern with ``wild cards,'' or a regular expression. String-matching tools are included in every reasonable text editor, word processor, and many other application", acknowledgement = ack-nhfb, fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", keywords = "algorithms", subject = "{\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching. {\bf H.3.3}: Information Systems, INFORMATION STORAGE AND RETRIEVAL, Information Search and Retrieval, Search process. {\bf I.5.4}: Computing Methodologies, PATTERN RECOGNITION, Applications, Text processing.", } @InProceedings{Xu:1992:RCR, author = "H. Xu and Y. Kambayashi", title = "Realization of Composite Relationship Views Utilizing Regular Expressions", crossref = "Kim:1992:DSN", pages = "79--87", year = "1992", bibdate = "Sat Dec 7 16:52:15 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, annote = "Also known as DASFAA '89", keywords = "advanced; applications; DASFAA; database systems; next-generation applications", } @Article{Yoo:1992:ERE, author = "H. Yoo and K. Hashiguchi", title = "Extended regular expressions of arbitrary star degrees", journal = j-THEOR-COMP-SCI, volume = "97", number = "2", pages = "217--231", day = "27", month = apr, year = "1992", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Nov 22 13:24:22 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", acknowledgement = ack-nhfb, classification = "C4210 (Formal logic)", corpsource = "Dept. of Inf. and Comput. Sci., Toyohashi Univ. of Technol., Japan", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "closure; concatenation; context-free languages; context-sensitive languages; finite languages; inclusion problem; regular expressions; star operators; union", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Agha:1993:AOD, author = "Gul Agha and Christian J. Callsen", title = "{ActorSpace}: an open distributed programming paradigm", journal = j-SIGPLAN, volume = "28", number = "7", pages = "23--32", month = jul, year = "1993", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:16:39 MST 2003", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "A programming paradigm is presented called, ActorSpace. ActorSpace provides a new communication model based on destination patterns. An actorSpace is a computationally passive container of actors which acts as a context for matching patterns. Patterns are matched against listed attributes of actors and actorSpaces that are visible in the actorSpace. Both visibility and attributes are dynamic. Messages may be sent to one or all members of a group defined by a pattern. The paradigm provides powerful support for component-based construction of massively parallel and distributed applications. In particular, it supports open interfaces to servers and pattern-directed access to software repositories.", acknowledgement = ack-nhfb, affiliation = "Dept. of Comput. Sci., Illinois Univ., Urbana-Champaign, IL, USA", classification = "C6110J (Object-oriented programming); C6110P (Parallel programming); C6150N (Distributed systems)", confdate = "19-22 May 1993", conflocation = "San Diego, CA, USA", confsponsor = "ACM", fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "ActorSpace; Communication model; Component-based construction; Computationally passive container; Destination patterns; Distributed applications; Listed attributes; Matching patterns; Open distributed programming; Open interfaces; Pattern-directed access; Programming paradigm; Software repositories", thesaurus = "Object-oriented methods; Object-oriented programming; Open systems; Parallel programming", } @Article{Andre:1993:ESIa, author = "Jacques Andr{\'e} and Jakob Gonczarowski and Richard Southall", title = "Editorial: Special issue: {Proceedings of the Raster Imaging and Digital Typography Conference}", journal = j-EPODD, volume = "6", number = "3", pages = "115--116", month = sep, year = "1993", CODEN = "EPODEU", ISSN = "0894-3982", bibdate = "Thu Jun 2 10:04:26 1994", bibsource = "https://www.math.utah.edu/pub/tex/bib/epodd.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "This issue of {\em Electronic Publishing\/} contains the papers presented during the third Raster Imaging and Digital Typography conference, held at Darmstadt, Germany, from 11 to 13 April 1994. Earlier conferences in the series took place in 1989 at Lausanne, Switzerland (organized by Roger D. Hersch, EPFL) and in 1991 at Boston, Massachussets (organized by Robert A. Morris, University of Massachussets at Boston). The corresponding proceedings are published by Cambridge University Press (see below). Digital typography is a relatively new field: the first commercial cathode-ray-tube photo\-composing machine appeared in 1966. Since that time, the field has been growing very fast, and is still active. During the RIDT'89 conference, emphasis was laid on the rasterisation of outline characters and on rendering techniques. RIDT'91 concentrated more on digital halftoning and on greyscale characters. However, both of these conferences bore in mind that beyond the mathematics of shapes and their rendering, printing types exist with their own aesthetic rules. That is why the presentations were made by a mix of technologists, scientists and designers. The RIDT'94 programme committee tried to attract a similar mix of papers when this conference was launched. As expected, the fields have moved on since the last conference, but we hope that the selected papers adequately exhibit the present state of the art in raster imaging and digital typography. In the recent past, formal research in digital typography has dealt with graphical algorithms, such as the rendering of outline characters and the generation of outline characters from bit-mapped drawings, to name but two. Present research focuses on models and methods for concise but precise font description and modelling. That trend began in industry with font interpolation programs and font systems such as Adobe Systems' Multiple Master technology. This research definitively belongs to computer science, with keywords such as {\em object orientation}, {\em regular expressions}, {\em string matching\/} and {\em shape parameterization}. A look at related fields, such as computer-aided design, shows that there still remains plenty of mathematical research to be done in digital typography. Mathematics is already used in CAD to express aesthetic criteria, both at the local (individual curves/surfaces) and the global level, for ensuring overall appearance and design consistency. \ldots{}.", fjournal = "Electronic Pub\-lish\-ing\emdash{}Orig\-i\-na\-tion, Dissemination, and Design", } @InProceedings{Andre:1993:ESIb, author = "Jacques Andr{\'e} and Jakob Gonczarowski and Richard Southall", editor = "Jacques Andr{\'e} and Jakob Gonczarowski and Richard Southall", booktitle = "{Proceedings of the Raster Imaging and Digital Typography Conference}", title = "Editorial: Special issue: {Proceedings of the Raster Imaging and Digital Typography Conference}", volume = "6(3)", publisher = pub-WILEY, address = pub-WILEY:adr, pages = "115--116", month = sep, year = "1993", CODEN = "EPODEU", ISBN = "0-471-94823-3", ISBN-13 = "978-0-471-94823-0", ISSN = "0894-3982", LCCN = "????", bibdate = "Tue Feb 27 09:47:10 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/epodd.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = j-EPODD, abstract = "This issue of {\em Electronic Publishing\/} contains the papers presented during the third Raster Imaging and Digital Typography conference, held at Darmstadt, Germany, from 11 to 13 April 1994. Earlier conferences in the series took place in 1989 at Lausanne, Switzerland (organized by Roger D. Hersch, EPFL) and in 1991 at Boston, Massachussets (organized by Robert A. Morris, University of Massachussets at Boston). The corresponding proceedings are published by Cambridge University Press (see below). Digital typography is a relatively new field: the first commercial cathode-ray-tube photo\-composing machine appeared in 1966. Since that time, the field has been growing very fast, and is still active. During the RIDT'89 conference, emphasis was laid on the rasterisation of outline characters and on rendering techniques. RIDT'91 concentrated more on digital halftoning and on greyscale characters. However, both of these conferences bore in mind that beyond the mathematics of shapes and their rendering, printing types exist with their own aesthetic rules. That is why the presentations were made by a mix of technologists, scientists and designers. The RIDT'94 programme committee tried to attract a similar mix of papers when this conference was launched. As expected, the fields have moved on since the last conference, but we hope that the selected papers adequately exhibit the present state of the art in raster imaging and digital typography. In the recent past, formal research in digital typography has dealt with graphical algorithms, such as the rendering of outline characters and the generation of outline characters from bit-mapped drawings, to name but two. Present research focuses on models and methods for concise but precise font description and modelling. That trend began in industry with font interpolation programs and font systems such as Adobe Systems' Multiple Master technology. This research definitively belongs to computer science, with keywords such as {\em object orientation}, {\em regular expressions}, {\em string matching\/} and {\em shape parameterization}. A look at related fields, such as computer-aided design, shows that there still remains plenty of mathematical research to be done in digital typography. Mathematics is already used in CAD to express aesthetic criteria, both at the local (individual curves/surfaces) and the global level, for ensuring overall appearance and design consistency. \ldots{}.", acknowledgement = ack-nhfb, } @Article{Andre:EPODD-6-3-115, author = "Jacques Andr{\'e} and Jakob Gonczarowski and Richard Southall", title = "Editorial: Special issue: {Proceedings of the Raster Imaging and Digital Typography Conference}", journal = j-EPODD, volume = "6", number = "3", pages = "115--116", month = sep, year = "1993", CODEN = "EPODEU", ISSN = "0894-3982", bibdate = "Thu Jun 2 10:04:26 1994", bibsource = "https://www.math.utah.edu/pub/tex/bib/epodd.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "This issue of {\em Electronic Publishing\/} contains the papers presented during the third Raster Imaging and Digital Typography conference, held at Darmstadt, Germany, from 11 to 13 April 1994. Earlier conferences in the series took place in 1989 at Lausanne, Switzerland (organized by Roger D. Hersch, EPFL) and in 1991 at Boston, Massachussets (organized by Robert A. Morris, University of Massachussets at Boston). The corresponding proceedings are published by Cambridge University Press (see below). Digital typography is a relatively new field: the first commercial cathode-ray-tube photo\-composing machine appeared in 1966. Since that time, the field has been growing very fast, and is still active. During the RIDT'89 conference, emphasis was laid on the rasterisation of outline characters and on rendering techniques. RIDT'91 concentrated more on digital halftoning and on greyscale characters. However, both of these conferences bore in mind that beyond the mathematics of shapes and their rendering, printing types exist with their own aesthetic rules. That is why the presentations were made by a mix of technologists, scientists and designers. The RIDT'94 programme committee tried to attract a similar mix of papers when this conference was launched. As expected, the fields have moved on since the last conference, but we hope that the selected papers adequately exhibit the present state of the art in raster imaging and digital typography. In the recent past, formal research in digital typography has dealt with graphical algorithms, such as the rendering of outline characters and the generation of outline characters from bit-mapped drawings, to name but two. Present research focuses on models and methods for concise but precise font description and modelling. That trend began in industry with font interpolation programs and font systems such as Adobe Systems' Multiple Master technology. This research definitively belongs to computer science, with keywords such as {\em object orientation}, {\em regular expressions}, {\em string matching\/} and {\em shape parameterization}. A look at related fields, such as computer-aided design, shows that there still remains plenty of mathematical research to be done in digital typography. Mathematics is already used in CAD to express aesthetic criteria, both at the local (individual curves/surfaces) and the global level, for ensuring overall appearance and design consistency. \ldots{}.", } @Article{Apostolico:1993:ECP, author = "Alberto Apostolico", title = "Efficient {CRCW-PRAM} algorithms for universal substring searching", journal = j-THEOR-COMP-SCI, volume = "108", number = "2", pages = "331--344", day = "15", month = feb, year = "1993", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:16:58 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1993&volume=108&issue=2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1993&volume=108&issue=2&aid=1277", acknowledgement = ack-nhfb, classification = "C4240P (Parallel programming and algorithm theory)", corpsource = "Dept. of Comput. Sci., Purdue Univ., West Lafayette, IN, USA", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", keywords = "computational complexity; CRCW-PRAM algorithms; parallel algorithms; search problems; standard representation; universal substring searching", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Arnon:1993:SLD, author = "Dennis S. Arnon", title = "{Scrimshaw}: a language for document queries and transformations", journal = j-EPODD, volume = "6", number = "4", pages = "385--396", month = dec, year = "1993", CODEN = "EPODEU", ISSN = "0894-3982", bibdate = "Thu Jun 2 10:04:26 1994", bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/epodd.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We present a new language for tree pattern matching and transformation called Scrimshaw. It extends to trees the familiar notions of regular expressions, pattern matching, and pattern replacement for strings. As we show by examples, it serves well as both a structured document query language and as a language for expressing document transformations. Scrimshaw has been implemented in a C-like language and is in ongoing use.", fjournal = "Electronic Pub\-lish\-ing\emdash{}Orig\-i\-na\-tion, Dissemination, and Design", keywords = "Tree pattern matching, Document query languages, Document conversion, SGML", } @Article{Arnon:EPODD-6-4-385, author = "Dennis S. Arnon", title = "{Scrimshaw}: {A} language for document queries and transformations", journal = j-EPODD, volume = "6", number = "4", pages = "385--396", month = dec, year = "1993", CODEN = "EPODEU", ISSN = "0894-3982", bibdate = "Thu Jun 2 10:04:26 1994", bibsource = "https://www.math.utah.edu/pub/tex/bib/epodd.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We present a new language for tree pattern matching and transformation called Scrimshaw. It extends to trees the familiar notions of regular expressions, pattern matching, and pattern replacement for strings. As we show by examples, it serves well as both a structured document query language and as a language for expressing document transformations. Scrimshaw has been implemented in a C-like language and is in ongoing use.", keywords = "Tree pattern matching, Document query languages, Document conversion, SGML", } @Article{Baeza-Yates:1993:FTD, author = "Ricardo Baeza-Yates and Mireille Regnier", title = "Fast two-dimensional pattern matching", journal = j-INFO-PROC-LETT, volume = "45", number = "1", pages = "51--57", day = "25", month = jan, year = "1993", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Universidad de Chile", affiliationaddress = "Santiago, Chile", classification = "723.1; C4240 (Programming and algorithm theory)", corpsource = "Dept. de Ciencias de la Comput., Chile Univ., Santiago, Chile", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Algorithms; alphabet-independent algorithm; computational complexity; multiple string matching; Pattern matching; Pattern recognition; search problems; searching algorithm; String matching; text rows; two dimensional text; two-dimensional pattern matching; worst case", treatment = "T Theoretical or Mathematical; X Experimental", } @Article{Baeza-Yates:1993:FTP, author = "Ricardo Baeza-Yates and Mireille Regnier", title = "Fast two-dimensional pattern matching", journal = j-INFO-PROC-LETT, volume = "45", number = "1", pages = "51--57", day = "25", month = jan, year = "1993", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Universidad de Chile", affiliationaddress = "Santiago, Chile", classification = "723.1; C4240 (Programming and algorithm theory)", corpsource = "Dept. de Ciencias de la Comput., Chile Univ., Santiago, Chile", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190/", journalabr = "Inf Process Lett", keywords = "Algorithms; alphabet-independent algorithm; computational complexity; multiple string matching; Pattern matching; Pattern recognition; search problems; searching algorithm; String matching; text rows; two dimensional text; two-dimensional pattern matching; worst case", treatment = "T Theoretical or Mathematical; X Experimental", } @InProceedings{Baker:1993:TPP, author = "Brenda S. Baker", title = "A theory of parameterized pattern matching: algorithms and applications", crossref = "ACM:1993:PTF", pages = "71--80", year = "1993", bibdate = "Wed Feb 20 18:34:01 MST 2002", bibsource = "http://portal.acm.org/; http://www.acm.org/pubs/contents/proceedings/series/stoc/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/articles/proceedings/stoc/167088/p71-baker/p71-baker.pdf; http://www.acm.org/pubs/citations/proceedings/stoc/167088/p71-baker/", acknowledgement = ack-nhfb, } @Article{Bell:1993:LMS, author = "Timothy C. Bell and David Kulp", title = "Longest-match String Searching for {Ziv--Lempel} Compression", journal = j-SPE, volume = "23", number = "7", pages = "757--771", month = jul, year = "1993", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.4380230705", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.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 = "30 Oct 2006", } @Article{Bjorner:1993:MFF, author = "Anders Bj{\"o}rner", title = "The {M{\"o}bius} function of factor order", journal = j-THEOR-COMP-SCI, volume = "117", number = "1--2", pages = "91--98", day = "30", month = aug, year = "1993", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:17:30 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1993&volume=117&issue=1-2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1993&volume=117&issue=1-2&aid=1413", acknowledgement = ack-nhfb, classification = "C1160 (Combinatorial mathematics); C4210 (Formal logic)", conflocation = "Bordeaux, France; 2-5 May 1991", conftitle = "Conference on Formal Power Series and Algebraic Combinatorics", corpsource = "Dept. of Math., R. Inst. of Technol., Stockholm, Sweden", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", keywords = "combinatorial interpretation; combinatorial mathematics; factor order; formal logic; free monoid; homotopy spheres; Knuth--Morris--Pratt algorithm; Mobius function; parity-changing involution; proof; recursive rule", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Bose:1993:PMP, author = "P. Bose and J. F. Buss and A. Lubiw", title = "Pattern Matching for Permutations", journal = j-LECT-NOTES-COMP-SCI, volume = "709", pages = "200--??", year = "1993", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:49:00 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Breslauer:1993:SCC, author = "D. Breslauer", title = "Saving Comparisons in the {Crochemore-Perrin} String Matching Algorithm", journal = j-LECT-NOTES-COMP-SCI, volume = "726", pages = "61--??", year = "1993", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue Nov 24 16:52:25 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Breslauer:1993:TCB, author = "Dany Breslauer and Livio Colussi and Laura Toniolo", title = "Tight comparison bounds for the string prefix-matching problem", journal = j-INFO-PROC-LETT, volume = "47", number = "1", pages = "51--57", day = "9", month = aug, year = "1993", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68Q20 (68U15)", MRnumber = "94g:68041", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Centrum voor Wiskunde and Informatica", affiliationaddress = "Amsterdam, Neth", classification = "721; 723; 921; C4240 (Programming and algorithm theory)", conferenceyear = "1993", corpsource = "Centrum voor Wiskunde en Inf., Amsterdam, Netherlands", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Algorithms; Comparison model; complexity; computational complexity; Computer science; deterministic sequential comparison model; Exact complexity; Failure function; Knuth--Morris--Pratt string matching algorithm; linear-time string prefix-matching algorithms; Mathematical models; Mathematical techniques; Pattern recognition; pattern recognition; pattern string; self-prefix problem; String matching; string prefix-matching problem; Tight comparison bounds", treatment = "T Theoretical or Mathematical", } @InProceedings{Brueggemann-Klein:1993:UER, author = "A. Brueggemann-Klein", title = "Unambiguity of Extended Regular Expressions in {SGML} Document Grammars", crossref = "Lengauer:1993:AEF", pages = "73--84", year = "1993", bibdate = "Wed Apr 3 08:31:49 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/sgml.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Bruggemann-Klein:1993:REF, author = "Anne Br{\"u}ggemann-Klein", title = "Regular expressions into finite automata", journal = j-THEOR-COMP-SCI, volume = "120", number = "2", pages = "197--213", day = "22", month = nov, year = "1993", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:17:43 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1993&volume=120&issue=2; https://www.math.utah.edu/pub/tex/bib/sgml.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1993&volume=120&issue=2&aid=1327", abstract = "This paper shows that the Glushkov automaton can be constructed in a time quadratic in the size of the expression, and that this is worst-case optimal. For deterministic expressions, his algorithm has even linear run time. This improves on the cubic time methods suggested in the literature (Book et al. 1971; Aho et al. 1986; Berry and Sethi 1986). A major step of the algorithm consists in bringing the expression into what is called star normal form. This concept is also useful for characterizing the relationship between two types of unambiguity that have been studied in the literature. Namely, the author shows that, modulo a technical condition, an expression is strongly unambiguous (Sippu and Soisalon-Soininen 1988) if and only if it is weakly unambiguous (Book et al. 1971) and in star-normal form. This leads to his third result, a quadratic-time decision algorithm for weak unambiguity, that improves on the biquadratic method introduced by Book et al. (1971).", acknowledgement = ack-nhfb, affiliation = "Inst. f{\"u}r Inf., Freiburg Univ., Germany", classification = "C4210 (Formal logic); C4220 (Automata theory); C6130D (Document processing techniques)", corpsource = "Inst. fur Inf., Freiburg Univ., Germany", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "Description language; description language; Deterministic regular expressions; deterministic regular expressions; Deterministic regular expressions; Document processing; document processing; Document types; document types; E-transitions; finite automata; formal languages; Nondeterministic finite automaton; nondeterministic finite automaton; Nondeterministic finite automaton; page description languages; Quadratic-time decision algorithm; quadratic-time decision algorithm; Regular expressions; regular expressions; Regular expressions; SGML standard; standards; Star normal form; star normal form; Star normal form; Textual markup systems; textual markup systems; Textual markup systems; Worst-case optimal; worst-case optimal", pubcountry = "Netherlands", thesaurus = "Finite automata; Formal languages; Page description languages; Standards", treatment = "P Practical; T Theoretical or Mathematical", } @InProceedings{Bruggemann-Klein:1993:UERa, author = "A. Br{\"u}ggemann-Klein", title = "Unambiguity of extended regular expressions in {SGML} document grammars", crossref = "Lengauer:1993:AEF", bookpages = "ix + 418", pages = "73--84", month = sep # "--" # oct, year = "1993", bibdate = "Tue Sep 10 19:13:47 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/sgml.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, abstract = "In the standard generalized markup language (SGML), document types are defined by context-free grammars in an extended Backus-Naur form. The right-hand side of a production is called a content model. Content models are extended regular expressions that have to be unambiguous in the sense that `an element \ldots{} that occurs in the document instance must be able to satisfy only one primitive content token without looking ahead in the document instance.' The author presents a linear-time algorithm that decides whether a given content model is unambiguous. A similar result has previously been obtained not for content models but for the smaller class of standard regular expressions. It relies on the fact that the languages of marked regular expressions are local-a property that does not hold any more for content models that contain the new and ?-operator. Therefore, it is necessary to develop new techniques for content models. Besides solving an interesting problem in formal language theory, the author's results are relevant for developers of SGML systems. In fact, his definitions are causing changes to the revised edition of the SGML standard, and the algorithm to test content models for unambiguity has been implemented in an SGML parser.", acknowledgement = ack-nhfb, affiliation = "Paderborn Univ., Fachbereich f{\"u}r Math. Inf., Germany", classification = "C4210 (Formal logic); C6140D (High level languages); C7108 (Desktop publishing)", confdate = "30 Sept.-2 Oct. 1993", conflocation = "Bad Honnef, Germany", keywords = "Backus-Naur form; Context-free grammars; Document types; Extended regular expressions; Formal language theory; Linear-time algorithm; Marked regular expressions; Parser; SGML document grammars; Standard generalized markup language", thesaurus = "Context-free grammars; Formal languages; Page description languages", } @InProceedings{Bruggemann-Klein:1993:UERb, author = "A. Bruggemann-Klein", title = "Unambiguity of extended regular expressions in {SGML} document grammars", crossref = "Lengauer:1993:AEF", pages = "73--84", month = "????", year = "1993", bibdate = "Tue Sep 10 19:13:47 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/sgml.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Paderborn Univ., Fachbereich f{\"u}r Math. Inf., Germany", classification = "C4210 (Formal logic); C6140D (High level languages); C7108 (Desktop publishing)", keywords = "Backus-Naur form; Context-free grammars; Document types; Extended regular expressions; Formal language theory; Linear-time algorithm; Marked regular expressions; Parser; SGML document grammars; Standard generalized markup language", thesaurus = "Context-free grammars; Formal languages; Page description languages", } @InProceedings{BruggemannKlein:1993:UER, author = "A. Bruggemann-Klein", title = "Unambiguity of extended regular expressions in {SGML} document grammars", crossref = "Lengauer:1993:AEF", pages = "73--84", month = "????", year = "1993", bibdate = "Tue Sep 10 19:13:47 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/sgml.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Paderborn Univ., Fachbereich f{\"u}r Math. Inf., Germany", classification = "C4210 (Formal logic); C6140D (High level languages); C7108 (Desktop publishing)", keywords = "Backus-Naur form; Context-free grammars; Document types; Extended regular expressions; Formal language theory; Linear-time algorithm; Marked regular expressions; Parser; SGML document grammars; Standard generalized markup language", thesaurus = "Context-free grammars; Formal languages; Page description languages", } @Article{Bunke:1993:JPS, author = "H. Bunke and G. Kaufmann", title = "Jigsaw Puzzle Solving Using Approximate String Matching and Best-First Search", journal = j-LECT-NOTES-COMP-SCI, volume = "719", pages = "299--??", year = "1993", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:49:00 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Burton:1993:PMA, author = "F. Warren Burton and Robert D. Cameron", title = "Pattern matching with abstract data types", journal = j-J-FUNCT-PROGRAM, volume = "3", number = "2", pages = "171--190", month = apr, year = "1993", CODEN = "JFPRES", DOI = "https://doi.org/10.1017/S095679680000068X", ISSN = "0956-7968 (print), 1469-7653 (electronic)", ISSN-L = "0956-7968", bibdate = "Tue Jul 11 18:01:54 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/jfunctprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.cambridge.org/core/product/04DD26A0E6CA3A1E87E0E6AE8BC02EED", acknowledgement = ack-nhfb, ajournal = "J. Funct. Program.", fjournal = "Journal of Functional Programming", journal-URL = "http://journals.cambridge.org/action/displayJournal?jid=JFP", onlinedate = "01 November 2008", } @PhdThesis{Chang:1993:SPMa, author = "Daniel Kuo-Yee Chang", title = "String pattern matching and lossless data compression", type = "{Ph.D.} thesis", school = "City University of New York", address = "New York, NY, USA", pages = "110", year = "1993", bibdate = "Fri Feb 1 09:20:36 MST 2013", bibsource = "http://search.proquest.com/; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://search.proquest.com/docview/304028781", acknowledgement = ack-nhfb, advisor = "Charles Giardina", classification = "0984: Computer science", dissertation-thesis-number = "9325077", subject = "Computer science", } @Article{Chang:1993:SPMb, author = "Daniel K. Chang", title = "A string pattern---matching algorithm", journal = j-J-SYST-SOFTW, volume = "22", number = "3", pages = "207--216", month = sep, year = "1993", CODEN = "JSSODM", ISSN = "0164-1212 (print), 1873-1228 (electronic)", ISSN-L = "0164-1212", bibdate = "Wed Sep 8 09:22:29 MDT 2010", bibsource = "http://www.sciencedirect.com/science/journal/01641212; https://www.math.utah.edu/pub/tex/bib/jsystsoftw.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "The Journal of systems and software", journal-URL = "http://www.sciencedirect.com/science/journal/01641212", } @Article{Chen:1993:SMV, author = "Sei-Wang W. Chen and Anil K. Jain", title = "Strategies of Multi-view and Multi-matching for {$3$D} Object Recognition", journal = j-CVGIP-IU, volume = "57", number = "1", pages = "121--130", month = jan, year = "1993", CODEN = "CIUNEJ", DOI = "https://doi.org/10.1006/ciun.1993.1008; https://doi.org/10.1006/cviu.1993.1008", ISSN = "1049-9660 (print), 1557-7635 (electronic)", ISSN-L = "1049-9660", bibdate = "Wed Mar 8 08:52:54 MST 2000", bibsource = "http://www.idealibrary.com/servlet/useragent?func=showAllIssues&curIssueID=ciun; http://www.idealibrary.com/servlet/useragent?func=showAllIssues&curIssueID=cviu; https://www.math.utah.edu/pub/tex/bib/cvgip.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.idealibrary.com/links/artid/ciun.1993.1008/production; http://www.idealibrary.com/links/artid/ciun.1993.1008/production/pdf; http://www.idealibrary.com/links/artid/cviu.1993.1008/production; http://www.idealibrary.com/links/artid/cviu.1993.1008/production/pdf", acknowledgement = ack-nhfb, affiliation = "Dept. of Inf. and Comput. Educ., Nat. Taiwan Normal Univ., Taipei, Taiwan", classification = "C1250 (Pattern recognition); C5260B (Computer vision and picture processing)", fjournal = "Computer Vision, Graphics, and Image Processing. Image Understanding", journal-URL = "http://www.sciencedirect.com/science/journal/10499660", keywords = "2D appearances; 2D techniques; 3D object recognition; Chamfer matcher; Fieldable laser radar transceiver; Impossible views; Matching module; Multi-matching strategy; Multi-view representation; Point matcher; Proposed strategies; Search space; String matcher; Termination rule; Vector matcher", thesaurus = "Image recognition", } @InProceedings{Cole:1993:OFP, author = "R. Cole and M. Crochemore and Z. Galil and L. Gasieniec and R. Eariharan and S. Muthukrishnan and K. Park and W. Rytter", title = "Optimally fast parallel algorithms for preprocessing and pattern matching in one and two dimensions", crossref = "IEEE:1993:ASF", pages = "248--258", year = "1993", bibdate = "Thu Apr 5 06:13:51 MDT 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Crochemore:1993:TDP, author = "Maxime Crochemore and Leszek G{\polhk{a}}sieniec and Wojciech Rytter", title = "Two-dimensional pattern matching by sampling", journal = j-INFO-PROC-LETT, volume = "46", number = "4", pages = "159--162", day = "25", month = jun, year = "1993", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68T10", MRnumber = "1 229 203", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Inst Gaspard Monge", affiliationaddress = "Noisy-le-Grand, Fr", classification = "721.1; 723.1; 723.2; 922.1; C1250 (Pattern recognition); C5260B (Computer vision and picture processing)", corpsource = "Inst. Gaspard Monge, Noisy-le-Grand, France", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Algorithms; Computational linguistics; Data processing; deterministic sampling; linear sequential time; logarithmic deterministic sample; One dimensional string matching problem; pattern recognition; Pattern recognition; sampling; Sampling; Two dimensional pattern matching problem; two-dimensional pattern matching", treatment = "P Practical", } @Article{deAlmeida:1993:SMA, author = "Nalvo F. {de Almeida, Jr.} and Valmir C. Barbosa", title = "A string-matching algorithm for the {CREW PRAM}", journal = j-INFO-PROC-LETT, volume = "47", number = "5", pages = "257--259", day = "8", month = oct, year = "1993", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68T10", MRnumber = "1 245 143", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "UFMS", affiliationaddress = "Campo Grande, Braz", classification = "721.1; 722.4; 723.2; 723.5; 921.5; C4240P (Parallel programming and algorithm theory)", corpsource = "Dept. de Comput. e Estatistica, Univ. Federal de Minas Gerais, Campo Grande, Brazil", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Algorithms; Computational complexity; computational complexity; Computational methods; crew pram; CREW PRAM; Data processing; Data structures; fixed alphabet; O(log m) time; O(n/log m) processors; Optimization; parallel algorithms; Parallel processing systems; Parallel random access machines; Pattern matching; pattern matching; Pattern recognition; String matching; string matching; string matching algorithm; time complexity", treatment = "T Theoretical or Mathematical", } @Article{DellaVentura:1993:PES, author = "A. {Della Ventura} and P. Ongaro and R. Schettini", title = "Pictorial editing by shape matching techniques", journal = j-CGF, volume = "12", number = "2", pages = "111--122", month = jun, year = "1993", CODEN = "CGFODY", ISSN = "0167-7055 (print), 1467-8659 (electronic)", ISSN-L = "0167-7055", bibdate = "Mon Apr 14 10:23:20 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C4260 (Computational geometry); C6130B (Graphics techniques)", corpsource = "IFCTR, Milano, Italy", fjournal = "Com{\-}pu{\-}ter Graphics Forum", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1111/(ISSN)1467-8659/", keywords = "computational geometry; computer graphics; driven matching technique; image recognition; model-; Model-driven matching technique; packages; painting; Painting packages; Pattern-editing; pattern-editing; pictorial editing; Pictorial editing; pictorial editor; Pictorial editor; pictorial editor; retouching packages; Retouching packages; search-and-replace function; Search-and-replace function; shape matching techniques; Shape matching techniques; Textile design; textile design", thesaurus = "Computational geometry; Computer graphics; Image recognition", treatment = "P Practical", } @Article{Dowek:1993:UPM, author = "Gilles Dowek", title = "The undecidability of pattern matching in calculi where primitive recursive functions are representable", journal = j-THEOR-COMP-SCI, volume = "107", number = "2", pages = "349--356", day = "18", month = jan, year = "1993", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:16:54 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1993&volume=107&issue=2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1993&volume=107&issue=2&aid=1295", acknowledgement = ack-nhfb, classification = "C1250 (Pattern recognition); C4210 (Formal logic)", corpsource = "INRIA, Le Chesnay, France", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "calculi; inductive types; lambda calculus; pattern matching; pattern recognition; polymorphic lambda-calculi; primitive recursive functions; undecidability", pubcountry = "Netherlands", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Fischetti:1993:CIP, author = "Vincent A. Fischetti and Gad M. Landau and Jeanette P. Schmidt and Peter H. Sellers", title = "Corrigendum: {``Identifying periodic occurrences of a template with applications to protein structure''}", journal = j-INFO-PROC-LETT, volume = "46", number = "3", pages = "157--157", day = "11", month = jun, year = "1993", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68U15 (92D20)", MRnumber = "94b:68126b", bibdate = "Sat Apr 11 12:24:19 MDT 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "See \cite{Fischetti:1993:IPO}.", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Fischetti:1993:IPO, author = "Vincent A. Fischetti and Gad M. Landau and Peter H. Sellers and Jeanette P. Schmidt", title = "Identifying periodic occurrences of a template with applications to protein structure", journal = j-INFO-PROC-LETT, volume = "45", number = "1", pages = "11--18", day = "25", month = jan, year = "1993", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68U15 (92D20)", MRnumber = "94b:68126a", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "See also corrigendum \cite{Fischetti:1993:CIP}.", acknowledgement = ack-nhfb, affiliation = "Rockefeller Univ", affiliationaddress = "New York City, NY, USA", classification = "461.2; 723.1; A3620 (Macromolecules and polymer molecules); A8715 (Molecular biophysics); C4240 (Programming and algorithm theory); C7330 (Biology and medicine)", corpsource = "Rockefeller Univ., New York, NY, USA", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Algorithms; biology computing; computational complexity; molecular biophysics; Periodic occurrences; periodic occurrences; protein structure; Proteins; proteins; String matching; template character; Templates; text substring", treatment = "T Theoretical or Mathematical", } @Article{Ganesan:1993:STL, author = "Ravi Ganesan and Alan T. Sherman", title = "Statistical Techniques for Language Recognition: An Introduction and Guide for Cryptanalysts", journal = j-CRYPTOLOGIA, volume = "17", number = "4", pages = "321--366", month = oct, year = "1993", CODEN = "CRYPE6", DOI = "https://doi.org/10.1080/0161-119391867980", ISSN = "0161-1194 (print), 1558-1586 (electronic)", ISSN-L = "0161-1194", bibdate = "Mon Jun 30 15:39:06 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/cryptologia.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; OCLC Article1st database", note = "Preliminary version available as Technical Report CS-TR-3036/UMIACS-TR-93-16, University of Maryland College Park (February 1993), and as Technical Report TR CS-93-02, University of Maryland Baltimore County (February 28, 1993).", URL = "http://www.informaworld.com/smpp/content~content=a748639241~db=all~order=page", abstract = "We explain how to apply statistical techniques to solve several language-recognition problems that arise in cryptanalysis and other domains. Language recognition is important in cryptanalysis because, among other applications, an exhaustive key search of any cryptosystem from ciphertext alone requires a test that recognizes valid plaintext. Written for cryptanalysts, this guide should also be helpful to others as an introduction to statistical inference on Markov chains. Modeling language as a finite stationary Markov process, we adapt a statistical model of pattern recognition to language recognition. Within this framework we consider four well-defined language-recognition problems: (1) recognizing a known language, (2) distinguishing a known language from uniform noise, (3) distinguishing unknown 0/sup th/-order noise from unknown 1/sup st/-order language, and (4) detecting non-uniform unknown language. For the second problem we give a most powerful test based on the Neyman--Pearson lemma. For the other problems, which typically have no uniformly most powerful tests, we give likelihood ratio tests. We also discuss the chi-squared test statistic X/sup 2/ and the index of coincidence IC. In addition, we point out useful works in the statistics and pattern-matching literature for further reading about these fundamental problems and test statistics", acknowledgement = ack-nhfb, fjournal = "Cryptologia", journal-URL = "http://www.tandfonline.com/loi/ucry20", keywords = "cryptography; Markov processes; maximum likelihood estimation; natural languages; noise; pattern recognition", language = "English", romanvolume = "XVII", subject = "statistical techniques; language recognition; cryptanalysts; language-recognition problems; exhaustive key search; ciphertext; Markov chains; pattern recognition; Neyman--Pearson lemma; likelihood ratio tests; chi-squared test statistic; index of coincidence; test statistics; fundamental problems; computational linguistics; contingency tables; natural language processing; maximum likelihood estimators; weight of evidence", } @Article{Gemis:1993:GGO, author = "Marc Gemis and Jan Paredaens and Inge Thyssens and Jan {Van den Bussche}", title = "{GOOD}: a graph-oriented object database system", journal = j-SIGMOD, volume = "22", number = "2", pages = "505--510", month = jun, year = "1993", CODEN = "SRECD8", ISBN = "0-89791-592-5", ISBN-13 = "978-0-89791-592-2", ISSN = "0163-5808 (print), 1943-5835 (electronic)", ISSN-L = "0163-5808", bibdate = "Mon Jan 12 08:45:44 MST 2004", bibsource = "Compendex database; http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigmod.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The graph-oriented database management system or GOOD is represented by a directed graph. It contains all information stored in a database. GOOD-language has five basic graph transformation operations. These are: node, edge additions, deletions, and a duplicate eliminator. Graph pattern is the means in order for the operation to work. To demonstrate a GOOD-program, video session is used.", acknowledgement = ack-nhfb, affiliation = "Univ of Antwerp", affiliationaddress = "Antwerp, Belgium", classification = "721.1; 723.1.1; 723.2; 723.3; 723.5; C6160J (Object-oriented databases); C6180G (Graphical user interfaces)", conference = "Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data", conferenceyear = "1993", fjournal = "SIGMOD Record (ACM Special Interest Group on Management of Data)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J689", keywords = "Computer graphics; Computer programming languages; Computer vision; Database graph; Database instance; Database systems; Directed graph; Formal languages; GOOD-language; Graph theory; Graph transformation operation; Graph-oriented database management system; Graph-oriented object database system; Graphical user interface, GOOD; Information management; Information retrieval; Information retrieval systems; Instance graph; Macros; Object oriented programming; Pattern matching; Pattern recognition systems; Program builder; Query languages; Select-project-join query; User interfaces", meetingaddress = "Washington, DC, USA", meetingdate = "May 26--28 1993", meetingdate2 = "05/26--28/93", publisherinfo = "Fort Collins Computer Center", sponsor = "ACM, SIGMOD; Minerals, Metals \& Materials Society", thesaurus = "Graphical user interfaces; Object-oriented databases; Query languages", xxcrossref = "Anonymous:1993:SAS", } @Article{Gemis:1993:OOP, author = "Marc Gemis and Jan Paredaens", title = "An Object-Oriented Pattern Matching Language", journal = j-LECT-NOTES-COMP-SCI, volume = "742", pages = "339--??", year = "1993", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:49:00 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Giancarlo:1993:IDS, author = "R. Giancarlo", title = "An Index Data Structure for Matrices, with Applications to Fast Two-Dimensional Pattern Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "709", pages = "337--??", year = "1993", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:49:00 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @TechReport{Gokhale:1993:DBC, author = "Maya B. Gokhale and Judith D. Schlesinger", title = "A data-parallel bit-serial {C} ({dbC})", type = "Technical report", number = "SRC-TR-93-096", institution = inst-SRC-IDA, address = inst-SRC-IDA:adr, pages = "14", month = may, year = "1993", bibdate = "Fri Aug 30 08:01:51 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/prng.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/super.bib", abstract = "We describe Data-parallel Bit-serial C (dbC), a data parallel extension to ANSI C which currently runs on the CM-2, Cray-2 and YMP, Sun workstation, and Terasys, an experimental SIMD machine. dbC's contribution is two-fold. First, it provides to the programmer an abstraction of the data parallel programming model, hiding implementation-dependent features, so that the high level dbC program can be ported without change among several diverse architectures. Second, dbC exposes in the high level language the full bit-serial processing capabilities of many SIMD arrays, making possible the efficient implementation of both bit-oriented applications (such as pattern matching and image processing) and applications requiring large integers (such as generating large random numbers). Preliminary performance results indicate that dbC programs run approximately a factor of two slower than hand-written assembly code. On a representative problem using small integers, a DNA pattern matching benchmark, the dbC version runs a factor of two faster than C*.", acknowledgement = ack-nhfb, keywords = "Parallel programming (Computer science)", } @TechReport{Gokhale:1993:DPB, author = "Maya B. Gokhale and Judith D. Schlesinger", title = "A data-parallel bit-serial {C} ({dbC})", type = "Technical report", number = "SRC-TR-93-096", institution = inst-SRC-IDA, address = inst-SRC-IDA:adr, pages = "14", month = may, year = "1993", bibdate = "Fri Aug 30 08:01:51 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/prng.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/super.bib", abstract = "We describe Data-parallel Bit-serial C (dbC), a data parallel extension to ANSI C which currently runs on the CM-2, Cray-2 and YMP, Sun workstation, and Terasys, an experimental SIMD machine. dbC's contribution is two-fold. First, it provides to the programmer an abstraction of the data parallel programming model, hiding implementation-dependent features, so that the high level dbC program can be ported without change among several diverse architectures. Second, dbC exposes in the high level language the full bit-serial processing capabilities of many SIMD arrays, making possible the efficient implementation of both bit-oriented applications (such as pattern matching and image processing) and applications requiring large integers (such as generating large random numbers). Preliminary performance results indicate that dbC programs run approximately a factor of two slower than hand-written assembly code. On a representative problem using small integers, a DNA pattern matching benchmark, the dbC version runs a factor of two faster than C*.", acknowledgement = ack-nhfb, keywords = "Parallel programming (Computer science)", } @Article{Goldberg:1993:FSA, author = "Robert R. Goldberg", title = "Finite State Automata from Regular Expression Trees", journal = j-COMP-J, volume = "36", number = "7", pages = "623--630", month = "????", year = "1993", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/36.7.623", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Tue Dec 4 14:48:38 MST 2012", bibsource = "http://comjnl.oxfordjournals.org/content/36/7.toc; http://www3.oup.co.uk/computer_journal/Volume_36/Issue_07/Vol36_07.index.html; https://www.math.utah.edu/pub/tex/bib/compj.bib; https://www.math.utah.edu/pub/tex/bib/compj1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://comjnl.oxfordjournals.org/content/36/7/623.full.pdf+html; http://www3.oup.co.uk/computer_journal/Volume_36/Issue_07/Vol36_07.body.html#AbstractGoldberg", acknowledgement = ack-nhfb, affiliation = "Queens Coll., City Univ. of New York, NY, USA", author-1-adr = "Department of Computer Science, Queens College of CUNY, 65-30 Kissena Boulevard, Flushing, NY11367-0904, USA", classcodes = "C4220 (Automata theory); C1160 (Combinatorial mathematics); C6120 (File organisation)", classification = "C1160 (Combinatorial mathematics); C4220 (Automata theory); C6120 (File organisation)", corpsource = "Queens Coll., City Univ. of New York, NY, USA", fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", keywords = "alphabet symbols; Alphabet symbols; bypassing; Bypassing; finite automata; multibranch expression; Multibranch expression trees; nondeterministic finite state automata; Nondeterministic finite state automata; operands; Operands; parallel algorithm; Parallel algorithm; regular expression; Regular expression trees; tree data structures; trees; trees (mathematics)", thesaurus = "Finite automata; Tree data structures; Trees [mathematics]", treatment = "T Theoretical or Mathematical", } @Article{Hancart:1993:SSS, author = "Christophe Hancart", title = "On {Simon}'s string searching algorithm", journal = j-INFO-PROC-LETT, volume = "47", number = "2", pages = "95--99", day = "20", month = aug, year = "1993", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68Q20 (68Q25 68U15)", MRnumber = "94j:68096", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Univ Paris", affiliationaddress = "Paris, Fr", classification = "716.1; 921; C1160 (Combinatorial mathematics); C4220 (Automata theory); C4240 (Programming and algorithm theory)", corpsource = "Inst. Blaise Pascal, Paris 7 Univ., France", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Algorithms; Analysis of algorithms; automata theory; automaton; Computational complexity; computational complexity; Finite automata; Information science; search problems; String matching; string searching algorithm; time complexity", treatment = "P Practical; T Theoretical or Mathematical", } @InProceedings{Herz:1993:ACSa, author = "J. Herz and R. D. Hersch", title = "Analysing Character Shapes by String Matching Techniques", crossref = "Andre:1993:PTI", pages = "261--272", year = "1993", bibdate = "Mon Apr 27 08:08:18 MDT 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, keywords = "digital typography; raster imaging; RIDT", } @Article{Herz:1993:ACSb, author = "Jacky Herz and Roger D. Hersch", title = "Analysing character shapes by string matching techniques", journal = j-EPODD, volume = "6", number = "3", pages = "261--272", month = sep, year = "1993", CODEN = "EPODEU", ISSN = "0894-3982", bibdate = "Thu Jun 2 10:04:26 1994", bibsource = "https://www.math.utah.edu/pub/tex/bib/epodd.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Preliminary attempts at automatic analysis and synthesis of typographic shapes are described. String matching techniques are used to recover implicit relationships between character parts. A knowledge base describing local character shape parts is created and is used in order to propagate local shape modifications across different characters.", fjournal = "Electronic Pub\-lish\-ing\emdash{}Orig\-i\-na\-tion, Dissemination, and Design", keywords = "Digital typography, Shape analysis, String matching, Shape similarities, Implicit design intentions", } @Article{Herz:EPODD-6-3-261, author = "Jacky Herz and Roger D. Hersch", title = "Analysing character shapes by string matching techniques", journal = j-EPODD, volume = "6", number = "3", pages = "261--272", month = sep, year = "1993", CODEN = "EPODEU", ISSN = "0894-3982", bibdate = "Thu Jun 2 10:04:26 1994", bibsource = "https://www.math.utah.edu/pub/tex/bib/epodd.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Preliminary attempts at automatic analysis and synthesis of typographic shapes are described. String matching techniques are used to recover implicit relationships between character parts. A knowledge base describing local character shape parts is created and is used in order to propagate local shape modifications across different characters.", keywords = "Digital typography, Shape analysis, String matching, Shape similarities, Implicit design intentions", } @Article{Horspool:1993:SAP, author = "R. Nigel Horspool and Jan Vitek", title = "Static analysis of {PostScript} code", journal = j-COMP-LANGS, volume = "19", number = "2", pages = "65--78", month = apr, year = "1993", CODEN = "COLADA", ISSN = "0096-0551 (print), 1873-6742 (electronic)", ISSN-L = "0096-0551", bibdate = "Tue Mar 25 14:04:06 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/complngs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Univ of Victoria", affiliationaddress = "Victoria, BC, Can", classcodes = "C6140D (High level languages); C6150C (Compilers, interpreters and other processors); C6130D (Document processing techniques)", classification = "721.1; 723.1; 723.1.1", corpsource = "Dept. of Comput. Sci., Victoria Univ., BC, Canada", fjournal = "Computer Languages", journal-URL = "http://www.sciencedirect.com/science/journal/00960551", journalabr = "Comput Lang", keywords = "abstract; Abstract interpretation; Algorithms; Codes (symbols); compilation; Computational linguistics; Computer programming languages; Error detection; interpretation algorithm; languages; Object oriented programming; page description languages; polymorphism; PostScript (programming language); PostScript code; probable errors; Program compilation; Program compilers; Program diagnostics; program interpreters; Programming theory; regular expression notation; stack-based languages; Stacked based programming languages; Static analysis; static analysis; Unlimited polymorphism; visual", treatment = "P Practical", } @Article{Jategaonkar:1993:TIE, author = "Lalita A. Jategaonkar and John C. Mitchell", title = "Type inference with extended pattern matching and subtypes", journal = j-FUND-INFO, volume = "19", number = "1--2", pages = "127--165", month = sep # "\slash " # oct, year = "1993", CODEN = "FUMAAJ", ISSN = "0169-2968 (print), 1875-8681 (electronic)", ISSN-L = "0169-2968", bibdate = "Mon Mar 7 06:24:59 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/fundinfo1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Fundamenta Informaticae", journal-URL = "http://content.iospress.com/journals/fundamenta-informaticae; http://dl.acm.org/citation.cfm?id=J291", remark = "Special issue on lambda calculus and type theory.", } @InProceedings{Jiang:1993:OWH, author = "Tao Jiang and Ming Li", title = "$k$ one-way heads cannot do string-matching", crossref = "ACM:1993:PTF", pages = "62--70", year = "1993", bibdate = "Wed Feb 20 18:34:01 MST 2002", bibsource = "http://portal.acm.org/; http://www.acm.org/pubs/contents/proceedings/series/stoc/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/articles/proceedings/stoc/167088/p62-jiang/p62-jiang.pdf; http://www.acm.org/pubs/citations/proceedings/stoc/167088/p62-jiang/", acknowledgement = ack-nhfb, } @Article{Kamel:1993:SRH, author = "M. S. Kamel and H. C. Shen and A. K. C. Wong and R. I. Campeanu", title = "System for the recognition of human faces", journal = j-IBM-SYS-J, volume = "32", number = "2", pages = "307--320", year = "1993", CODEN = "IBMSA7", ISSN = "0018-8670", bibdate = "Tue Mar 19 17:38:46 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/ibmsysj.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "G321-5515.", abstract = "The paper describes a system for content-based retrieval of facial images from an image database. The system includes feature extraction based on expert-assisted feature selection, spatial feature measurement, feature and shape representation, feature information compression, and organization, search procedures, and pattern-matching techniques. The system uses novel data structures to represent the extracted information. These structures include attributed graphs for representing local features and their relationships, n-tuple of mixed mode data, and highly compressed feature codes. For the retrieval phase, a knowledge-directed search technique that uses a hypothesis refinement approach extracts specific features for candidate identification and retrieval. The overall system, the components, and the methodology are described. The system has been implemented on an IBM Personal System/2 running Operating System/2. Examples demonstrating the performance of the system are included.", acknowledgement = ack-nhfb, affiliation = "Waterloo Univ., Ont., Canada", classification = "C5260B (Computer vision and picture processing); C6120 (File organisation); C6160S (Spatial and pictorial databases); C6170 (Expert systems)", fjournal = "IBM Systems Journal", keywords = "Attributed graphs; Compressed feature codes; Content-based retrieval; Data structures; Expert-assisted feature selection; Facial images; Feature extraction; Feature information compression; Human faces; Hypothesis refinement; IBM Personal System/2; Image database; Knowledge-directed search technique; Operating System/2; Pattern-matching; Search procedures; Shape representation; Spacial feature measurement", language = "English", pubcountry = "USA", thesaurus = "Face recognition; Feature extraction; IBM computers; Image coding; Knowledge based systems; Microcomputer applications; Query processing; Spatial data structures; Visual databases", } @Article{Kebler:1993:APP, author = "C. W. Kebler and W. J. Paul", title = "Automatic Parallelization by Pattern-Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "734", pages = "166--??", year = "1993", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:49:00 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Kim:1993:MPM, author = "Jeong Uk Kim and Ho Chang and Tag Gon Kim", title = "Multidisk partial match file design with known access pattern", journal = j-INFO-PROC-LETT, volume = "45", number = "1", pages = "33--39", day = "25", month = jan, year = "1993", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Korea Advanced Inst of Science and Technology", affiliationaddress = "Taejon, SOUTH KOREA", classification = "721.1; 722.1; C4240 (Programming and algorithm theory); C4250 (Database theory); C6160 (Database management systems (DBMS))", corpsource = "Dept. of Electr. Eng., Korea Adv. Inst. of Sci. and Technol., Taejon, South Korea", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "access patterns; access time; binary Cartesian product files; computational complexity; database management systems; database theory; disk access concurrency; File allocation; File organization; Magnetic disk storage; Multidisk partial match file design; multidisk partial match files; NP hard problems; Storage allocation (computer)", treatment = "T Theoretical or Mathematical", } @InProceedings{Klarlund:1993:GT, author = "Nils Klarlund and Michael I. Schwartzbach", title = "Graph types", crossref = "ACM:1993:CRT", pages = "196--205", year = "1993", bibdate = "Mon May 3 12:45:53 MDT 1999", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/multithreading.bib; https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org:80/pubs/citations/proceedings/plan/158511/p196-klarlund/", abstract = "Recursive data structures are abstractions of simple records and pointers. They impose a shape invariant, which is verified at compile-time and exploited to automatically generate code for building, copying, comparing, and traversing values without loss of efficiency. However, such values are always tree shaped, which is a major obstacle to practical use. We propose a notion of graph types, which allow common shapes, such as doubly-linked lists or threaded trees, to be expressed concisely and efficiently. We define regular languages of routing expressions to specify relative addresses of extra pointers in a canonical spanning tree. An efficient algorithm for computing such addresses is developed. We employ a second-order monadic logic to decide well-formedness of graph type specifications. This logic can also be used for automated reasoning about pointer structures.", acknowledgement = ack-nhfb, keywords = "algorithms; languages; theory", subject = "{\bf F.3.3} Theory of Computation, LOGICS AND MEANINGS OF PROGRAMS, Studies of Program Constructs, Type structure. {\bf D.3.3} Software, PROGRAMMING LANGUAGES, Language Constructs and Features, Data types and structures. {\bf F.2.2} Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Computations on discrete structures. {\bf G.2.2} Mathematics of Computing, DISCRETE MATHEMATICS, Graph Theory, Trees.", } @InProceedings{Lai:1993:AAD, author = "Feipei Lai and Shu-Lin Hwang and Tzer-Shyong Chen and Chia-Rung Hsieh", title = "{Arden} --- Architecture Development Environment", crossref = "Baozong:1993:PTI", pages = "5--9 (vol.1)", year = "1993", bibdate = "Wed Oct 30 05:56:55 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "This paper describes Arden, which is being developed to help architecture design. Arden includes a retargetable compiler and a back-end simulation tool that uses the concepts of object-oriented programming (OOP) to achieve model reusability. The code generator in the Arden compiler uses a tree pattern matching method for instruction selection. An experimental bottom-up matching algorithm that reduces the pattern matching to a numerical computation problem can reduce the space complexity and the search time. A useful instruction description language has been proposed to simplify the architecture specifications. We have implemented the DLX architecture with only 49 rules. Arden has been able to output DLX assembly code and has the same performance as GNU cc output.", acknowledgement = ack-nhfb, affiliation = "Dept. of Comput. Sci. and Inf. Eng., Nat. Taiwan Univ., Taipei, Taiwan", classification = "C5220 (Computer architecture); C6110J (Object-oriented programming); C7430 (Computer engineering)", keywords = "Architecture Development Environment; Architecture specification; Arden; Back-end simulation tool; Code generator; DLX architecture; Instruction description language; Model reusability; Object-oriented programming; OOP; Retargetable compiler; Space complexity; Tree pattern matching", thesaurus = "CAD; Computer architecture; Object-oriented programming; Software reusability", } @Article{Malton:1993:DSF, author = "Andrew Malton", title = "The denotational semantics of a functional tree-manipulation language", journal = j-COMP-LANGS, volume = "19", number = "3", pages = "157--168", month = jul, year = "1993", CODEN = "COLADA", ISSN = "0096-0551 (print), 1873-6742 (electronic)", ISSN-L = "0096-0551", bibdate = "Tue Mar 25 14:04:06 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/complngs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Queen's Univ", affiliationaddress = "Kingston, Can", classcodes = "C6140D (High level languages); C6110 (Systems analysis and programming); C4240 (Programming and algorithm theory)", classification = "723.1.1; 921.4", corpsource = "Dept. of Comput. and Inf. Sci., Queens Univ., Kingston, Ont., Canada", fjournal = "Computer Languages", journal-URL = "http://www.sciencedirect.com/science/journal/00960551", journalabr = "Comput Lang", keywords = "Algorithms; algorithms; Computational linguistics; Computer programming languages; denotational semantics; Denotational semantics; failure-handling; functional languages; functional programming; functional tree-manipulation; high level languages; language; Language dialects; Parse trees; pattern-matching; programming; programming language; prototyping; semantic problems; Source transformation languages; theory; tree data structures; Tree manipulation algorithms; tree-manipulation; Trees (mathematics); TXL; txl", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Manber:1993:SAN, author = "Udi Manber and Gene Myers", title = "Suffix Arrays: a New Method for On-Line String Searches", journal = j-SIAM-J-COMPUT, volume = "22", number = "5", pages = "935--948", month = oct, year = "1993", CODEN = "SMJCAT", DOI = "https://doi.org/10.1137/0222058", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68P10 (68Q25)", MRnumber = "94e:68045", bibdate = "Sat Jan 26 12:46:16 MST 2013", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/22/5; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-ds # " and " # ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", rawdata = "Manber, U., and E. W. Myers (1993) ``Suffix Arrays: A New Method for On-Line String Searches,'' {\it SIAM Journal on Computing}, {\bf22}(5):935--948, October.", xxauthor = "U. Manber and E. W. Myers", } @InProceedings{Matzen:1993:MSA, author = "R. W. Matzen and K. M. George and G. E. Hedrick", title = "A Model for Studying Ambiguity in {SGML} Element Declarations", crossref = "Deaton:1993:ACS", pages = "668--676", month = "????", year = "1993", bibdate = "Wed Apr 3 08:31:49 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/sgml.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Oklahoma State Univ., Stillwater, OK, USA", classification = "C4210 (Formal logic); C4220 (Automata theory); C6130D (Document processing techniques); C6140D (High level languages); C7108 (Desktop publishing)", keywords = "Ambiguous content models; Ambiguous model group detection algorithm; Bounded arc; Document representation; Electronic publishing; Element symbol; Indexed nondeterministic finite automata; ISO standard; Meta-language system; Regular expressions; SGML element declarations; Standard Generalized Markup Language; Text processing", thesaurus = "Finite automata; Formal languages; Page description languages; Uncertainty handling", } @Article{Nakatani:1993:MCB, author = "Toshio Nakatani and Kemal Ebcio{\u{g}}lu", title = "Making compaction-based parallelization affordable", journal = j-IEEE-TRANS-PAR-DIST-SYS, volume = "4", number = "9", pages = "1014--1029", month = sep, year = "1993", CODEN = "ITDSEO", ISSN = "1045-9219 (print), 1558-2183 (electronic)", ISSN-L = "1045-9219", bibdate = "Fri Apr 11 15:20:39 MDT 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/ieeetranspardistsys.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "IBM Tokyo Research Lab", affiliationaddress = "Yamato, Jpn", classification = "721.1; 722.4; 913; 921; C5220P (Parallel architecture); C6110P (Parallel programming); C6130 (Data handling techniques); C6150C (Compilers, interpreters and other processors); C6150N (Distributed systems)", corpsource = "Res. Lab., IBM Japan Ltd., Tokyo, Japan", fjournal = "IEEE Transactions on Parallel and Distributed Systems", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=71", journalabr = "IEEE Trans Parallel Distrib Syst", keywords = "AIX; branch-intensive code; code explosion problem; Compaction; compaction-based parallelization; compress; fgrep; Heuristic methods; Instruction level parallelism; Instruction scheduling; instruction sets; instruction-level parallelism; Lookahead; lookahead heuristic; loop parallelization; parallel; parallel architectures; Parallel processing systems; Percolation scheduling; pipeline processing; Pipeline processing systems; program compilers; Program compilers; programming; scheduling; Scheduling; sed; software; software pipelining; sort; table lookup; Trace scheduling; utilities; VLIW compilation techniques; VLIW parallelizing compiler; yacc", treatment = "P Practical", } @Article{Nance:1993:SBE, author = "Barry Nance and Tom Thompson and Ben Smith", title = "A Small Browser with Everything: {A} powerful {DOS} browser, a faster Finder, and {Perl-based} recursive grep", journal = j-BYTE, volume = "18", number = "2", pages = "235--??", month = feb, year = "1993", CODEN = "BYTEDJ", ISSN = "0360-5280", bibdate = "Tue Jan 2 10:01:41 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/byte1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Owolabi:1993:EPS, author = "Olumide Owolabi", title = "Efficient pattern searching over large dictionaries", journal = j-INFO-PROC-LETT, volume = "47", number = "1", pages = "17--21", day = "9", month = aug, year = "1993", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Univ of Port Harcourt", affiliationaddress = "Port Harcourt, Nigeria", classification = "721; 723; C1250 (Pattern recognition); C4250 (Database theory)", conferenceyear = "1993", corpsource = "Dept. of Math. and Comput. Sci., Port Harcourt Univ., Nigeria", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Algorithms; algorithms; Boyer--Moore pattern matching algorithm; Computational complexity; computational complexity; Computer science; database theory; glossaries; Information science; Large dictionaries; large dictionaries; N-gram method; online query term expansion; Online searching; Pattern recognition; pattern recognition; Pattern searching; pattern searching; query processing; similarity matching; Stemming; stemming; String similarity; strings similarity; very large databases", treatment = "T Theoretical or Mathematical", } @Book{Pai:1993:SCR, author = "Dinesh K. Pai and Tony H. S. Ser", title = "Simultaneous computation of robot kinematics and differential kinematics with automatic differentiation", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "775--780", year = "1993", ISBN = "0-7803-0823-9", ISBN-13 = "978-0-7803-0823-7", LCCN = "TJ210.3.I447 1993", bibdate = "Sun Jan 5 08:48:44 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/mathematica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "IEEE catalog number 93CH3213-6.", abstract = "We describe (i) Computation of derivatives of functions defined on a robot's kinematic quantities using the efficient adjoint technique for automatic differentiation; (ii) Implemented software called RAD which can generate optimized C programs for computing these quantities from concise descriptions of the robot and the required kinematic quantities. In addition to automatic differentiation, the RAD software provides symbolic formulation of the kinematics and simplification of trigonometric algebraic expressions using Mathematica [Wol91] and pattern matching. We illustrate the utility of the software with a 2-link robot and a PUMA robot.", acknowledgement = ack-nhfb, affiliation = "Univ of British Columbia", affiliationaddress = "Vancouver, BC, Can", classification = "723.1; 723.5; 731.5; 921.5; 921.6; 931.1", conference = "1993 International Conference on Intelligent Robots and Systems. Part 2 (of 3)", conferenceyear = "1993", keywords = "Algebra; Automatic differentiation; C (programming language); Computational methods; Computer software; Differential equations; Differential kinematics; Differentiation (calculus); Kinematics; Mathematical models; Optimization; Pattern matching; puma robot; Robot kinematics; Robotics; Robots; Software package Mathematica; Software package rad; Two link robot", meetingabr = "1993 Int Conf Intell Rob Syst", meetingaddress = "Yokohama, Jap", meetingdate = "Jul 26--30 1993", meetingdate2 = "07/26--30/93", publisherinfo = "IEEE Service Center", sponsor = "IEEE; Robotics Society of Japan; SICE; New Technology Foundation", } @Article{Pitt:1993:MCD, author = "Leonard Pitt and Manfred K. Warmuth", title = "The Minimum Consistent {DFA} Problem Cannot be Approximated within any Polynomial", journal = j-J-ACM, volume = "40", number = "1", pages = "95--142", month = jan, year = "1993", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Tue Sep 9 07:57:29 1997", bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Theory/JACM.bib; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0004-5411/138042.html", abstract = "The minimum consistent DFA problem is that of finding a DFA with as few states as possible that is consistent with a given sample (a finite collection of words, each labeled as to whether the DFA found should accept or reject). Assuming that P $ \ne $ NP, it is shown that for any constant $k$, no polynomial-time algorithm can be guaranteed to find a consistent DFA with fewer than $ \mbox {\em opt \/ }^k $ states, where $ \mbox {\em opt \/ } $ is the number of states in the minimum state DFA consistent with the sample. This result holds even if the alphabet is of constant size two, and if the algorithm is allowed to produce an NFA, a regular expression, or a regular grammar that is consistent with the sample. A similar nonapproximability result is presented for the problem of finding small consistent linear grammars. For the case of finding minimum consistent DFAs when the alphabet is not of constant size but instead is allowed to vary with the problem specification, the slightly stronger lower bound on approximability of $ \mbox {\em opt \/ }{(1 - \epsilon) \log \log \mbox {\em opt \/ }} $ is shown for any $ \epsilon > 0 $.", acknowledgement = ack-nhfb, annote = "Earlier version in STOC89 and Univ of Ill TR 1499 in 1989", fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", keywords = "Algorithms; approximation algorithms; Languages; Learning Theory; minimization of finite state machines; nonapproximability; Theory", subject = "{\bf F.1.1}: Theory of Computation, COMPUTATION BY ABSTRACT DEVICES, Models of Computation, Automata. {\bf F.1.3}: Theory of Computation, COMPUTATION BY ABSTRACT DEVICES, Complexity Classes, Reducibility and completeness. {\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Computations on discrete structures. {\bf F.4.2}: Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Grammars and Other Rewriting Systems, Decision problems.", } @Article{Poulovassilis:1993:PMA, author = "A. Poulovassilis", title = "A Pattern-Matching Algorithm for Functional Databases", journal = j-COMP-J, volume = "36", number = "2", pages = "195--199", month = apr, year = "1993", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/36.2.195", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Tue Dec 4 14:48:36 MST 2012", bibsource = "http://comjnl.oxfordjournals.org/content/36/2.toc; http://www3.oup.co.uk/computer_journal/Volume_36/Issue_02/Vol36_02.index.html; https://www.math.utah.edu/pub/tex/bib/compj.bib; https://www.math.utah.edu/pub/tex/bib/compj1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; Misc/Functional.bib", URL = "http://comjnl.oxfordjournals.org/content/36/2/195.full.pdf+html; http://www3.oup.co.uk/computer_journal/Volume_36/Issue_02/Vol36_02.body.html#AbstractPoulovassilis", abstract = "In an earlier paper the author described the implementation of a functional database language FDL addressing the storage and update of functions in some detail, but giving a limited discussion of pattern matching. In this companion paper a pattern matching algorithm is proposed which is suitable for functional databases in general and FDL in particular.", acknowledgement = ack-nhfb, affiliation = "Dept. of Comput., King's Coll., London, UK", author-1-adr = "Department of Computing, King's College London, Strand, London WC2R 2LS, UK", classcodes = "C6160K (Deductive databases); C6140D (High level languages); C4250 (Database theory)", classification = "C4250 (Database theory); C6140D (High level languages); C6160K (Deductive databases)", corpsource = "Dept. of Comput., King's Coll., London, UK", fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", keywords = "database language; database theory; deductive databases; FDL; functional; Functional database language; Functional databases; functional databases; Pattern-matching algorithm; pattern-matching algorithm; programming; query languages", thesaurus = "Database theory; Deductive databases; Functional programming; Query languages", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Puel:1993:CPM, author = "Laurence Puel and Asc{\'a}nder Su{\'a}rez", title = "Compiling Pattern Matching by Term Decomposition", journal = j-J-SYMBOLIC-COMP, volume = "15", number = "1", pages = "1--26", month = jan, year = "1993", CODEN = "JSYCEH", ISSN = "0747-7171 (print), 1095-855X (electronic)", ISSN-L = "0747-7171", MRclass = "68N17 (68N20 68Q55)", MRnumber = "94c:68038", MRreviewer = "Zhenyu Qian", bibdate = "Sat May 10 15:54:09 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/jsymcomp.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classcodes = "C6150C (Compilers, interpreters and other processors); C4210 (Formal logic)", corpsource = "Univ. Paris Sud, Orsay, France", fjournal = "Journal of Symbolic Computation", journal-URL = "http://www.sciencedirect.com/science/journal/07477171", keywords = "compiling pattern matching; lazy languages; match algorithm; ML; partial evaluation; program compilers; rewriting systems; term decomposition; term rewriting", treatment = "P Practical", } @Article{Rao:1993:ELD, author = "Pushpa Rao and Clifford Walinsky", title = "An equational language for data-parallelism", journal = j-SIGPLAN, volume = "28", number = "7", pages = "112--118", month = jul, year = "1993", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:16:39 MST 2003", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Data-parallelism provides a clean conceptual framework for parallel programming. The authors are developing two programming languages: a high level equational language, called EL*, and a low-level implementation language. Both languages exploit data-parallelism instead of control-parallelism. EL* is a declarative data-parallel language. EL* programs are high-level equational specifications that use extensive pattern-matching and recursion. The language's syntax and semantics are intended to be clear and simple. Recursive forms arc restricted to enable translation to efficient data-parallel operations. EL* programs are compiled into FP*, a variant of Backus's FP, where parallel operations are more explicit and low-level. The target language has a rich set of functions for performing communication, and computation. It also has a powerful set of combining forms that generate large highly-parallel functions from smaller program units. Prototype compilers have been implemented for both languages, and they demonstrate good performance. Several linear algebra and non-numeric problems have been programmed with relative ease using EL*.", acknowledgement = ack-nhfb, affiliation = "Dartmouth Coll., Hanover, NH, USA", classification = "C6110B (Software engineering techniques); C6110P (Parallel programming); C6140D (High level languages); C6150C (Compilers, interpreters and other processors)", confdate = "19-22 May 1993", conflocation = "San Diego, CA, USA", confsponsor = "ACM", fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "Clean conceptual framework; Data-parallelism; Declarative data-parallel language; FP*; High level equational language; Linear algebra; Low-level implementation language; Non-numeric problems; Parallel programming", thesaurus = "Formal specification; Parallel languages; Parallel programming; Program compilers", } @InProceedings{Sadeh:1993:ASM, author = "I. Sadeh", title = "On approximate string matching", crossref = "Storer:1993:DDC", pages = "148--157", year = "1993", DOI = "https://doi.org/10.1109/DCC.1993.253135", bibdate = "Tue Feb 5 14:06:26 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=253135", acknowledgement = ack-nhfb, } @Article{Schwartz:1993:DSI, author = "Michael F. Schwartz and David C. M. Wood", title = "Discovering shared interests using graph analysis", journal = j-CACM, volume = "36", number = "8", pages = "78--89", month = aug, year = "1993", CODEN = "CACMA2", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Thu May 30 09:41:10 MDT 1996", bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib; http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/cacm1990.bib; https://www.math.utah.edu/pub/tex/bib/internet.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0001-0782/163402.html", acknowledgement = ack-nhfb, fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", keywords = "design; experimentation; Internet network electronic mail connectivity measurement study; measurement", subject = "{\bf H.3.3}: Information Systems, INFORMATION STORAGE AND RETRIEVAL, Information Search and Retrieval, Search process. {\bf C.2.4}: Computer Systems Organization, COMPUTER-COMMUNICATION NETWORKS, Distributed Systems, Distributed applications. {\bf H.3.1}: Information Systems, INFORMATION STORAGE AND RETRIEVAL, Content Analysis and Indexing, Abstracting methods. {\bf H.3.4}: Information Systems, INFORMATION STORAGE AND RETRIEVAL, Systems and Software, Information networks. {\bf H.4.3}: Information Systems, INFORMATION SYSTEMS APPLICATIONS, Communications Applications, Bulletin boards. {\bf H.4.3}: Information Systems, INFORMATION SYSTEMS APPLICATIONS, Communications Applications, Electronic mail. {\bf H.5.3}: Information Systems, INFORMATION INTERFACES AND PRESENTATION, Group and Organization Interfaces, Organizational design. {\bf I.5.2}: Computing Methodologies, PATTERN RECOGNITION, Design Methodology, Classifier design and evaluation. {\bf I.5.3}: Computing Methodologies, PATTERN RECOGNITION, Clustering, Algorithms. {\bf I.5.3}: Computing Methodologies, PATTERN RECOGNITION, Clustering, Similarity measures. {\bf I.5.4}: Computing Methodologies, PATTERN RECOGNITION, Applications. {\bf K.4.1}: Computing Milieux, COMPUTERS AND SOCIETY, Public Policy Issues, Privacy. {\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching.", } @Article{Shapiro:1993:CCR, author = "V. Shapiro", title = "Cross-Correlation with Reconstruction: a New Approach to Pattern Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "719", pages = "548--??", year = "1993", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:49:00 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @InProceedings{Shevchenko:1993:SRP, author = "Ivan I. Shevchenko and Andrej G. Sokolsky", title = "Studies of Regular Precessions of a Symmetric Satellite by Means of Computer Algebra", crossref = "Bronstein:1993:IPI", pages = "65--67", year = "1993", bibdate = "Thu Mar 12 08:40:26 MST 1998", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/issac.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org:80/pubs/citations/proceedings/issac/164081/p65-shevchenko/", abstract = "The perturbed motion in the neighbourhood of regular precessions of a dynamically symmetric satellite on a circular orbit is studied. The `Norma' specialized program package (A. G. Sokolsky, I. I. Shevenko, 1990; 1991), intended for normalization of autonomous Hamiltonian systems by means of computer algebra, is used to obtain normal forms of the Hamiltonian. A full catalogue of non resonant and resonant normal forms up to the 6th order of normalization is constructed for the case of hyperboloidal precession. The case of cylindrical precession, more complicated in analytical sense, is considered as well. Analytical expressions for coefficients of terms of the normal forms are derived as dependences on the frequencies and the initial physical parameters of the system. Though the intermediary expressions occupy megabytes of computer memory, the final normal forms are compact.", acknowledgement = ack-nhfb, affiliation = "Inst. of Theor. Astron., Acad. of Sci., St. Petersburg, Russia", classification = "C4140 (Linear algebra); C6130 (Data handling techniques); C7310 (Mathematics computing); C7350 (Astronomy and astrophysics computing)", keywords = "ACM; algebraic computation; algorithms; Analytical expressions; Autonomous Hamiltonian systems; Circular orbit; Computer algebra; Cylindrical precession; design; Dynamically symmetric satellite; Hyperboloidal precession; Initial physical parameters; Intermediary expressions, ISSAC; Norma specialized program package; Perturbed motion; Regular precessions; Resonant normal forms; SIGSAM; symbolic computation; Symmetric satellite", subject = "{\bf I.1.3} Computing Methodologies, SYMBOLIC AND ALGEBRAIC MANIPULATION, Languages and Systems, Special-purpose algebraic systems. {\bf I.1.2} Computing Methodologies, SYMBOLIC AND ALGEBRAIC MANIPULATION, Algorithms. {\bf I.1.0} Computing Methodologies, SYMBOLIC AND ALGEBRAIC MANIPULATION, General. {\bf J.2} Computer Applications, PHYSICAL SCIENCES AND ENGINEERING, Aerospace.", thesaurus = "Astronomy computing; Matrix algebra; Series [mathematics]; Symbol manipulation", } @Article{Smith:1993:XRL, author = "Henry I. Smith and M. L. Schattenburg", title = "{X-ray} lithography, from 500 to 30 nm: {X-ray} nanolithography", journal = j-IBM-JRD, volume = "37", number = "3", pages = "319--329", month = may, year = "1993", CODEN = "IBMJAE", ISSN = "0018-8646 (print), 2151-8556 (electronic)", ISSN-L = "0018-8646", bibdate = "Tue Mar 25 14:26:59 MST 1997", bibsource = "http://www.research.ibm.com/journal/; https://www.math.utah.edu/pub/tex/bib/ibmjrd.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Proximity X-ray lithography (XRL), using wavelengths between 0.8 and 1.5 nm, provides a near-ideal match to the `system problem' of lithography for feature sizes from 500 to 30 nm, by virtue of `absorption without scattering' and recently developed mask technology. The effects of photoelectrons, at one time through to be problematic, are now understood not to limit resolution. With experiments and simulations via Maxwell's equations, the author shows that useful resolution is not limited by diffraction until linewidths are below 50 nm. It is critically important to optimize the source spatial incoherence to eliminate the deleterious effects of high spatial frequencies. Mask architecture and patterning methods are presented which he believes are compatible with manufacturing at linewidths from 500 to 30 nm. Distortion due to mask frame flexing and absorber stress can now be eliminated. Elimination of distortion at the pattern generation stage remains the problem of greatest concern. He discusses a proposed method of spatial-phase-locked electron-beam lithography which could solve this problem. The new interferometric alignment scheme has achieved 18-nm alignment at 3 sigma. He asserts that projection XRL using multilayer mirrors at 13 nm can never match the present performance of proximity XRL. Applications of sub-100-nm XRL, including MOS, quantum-effect, and optoelectronic devices are discussed which illustrate the benefits of high resolution, process robustness, low distortion, low damage, and high throughput.", acknowledgement = ack-nhfb, affiliation = "Dept. of Electr. Eng. and Comput. Sci., MIT, Cambridge, MA, USA", classcodes = "B2550G (Lithography); B2570 (Semiconductor integrated circuits)", classification = "B2550G (Lithography); B2570 (Semiconductor integrated circuits)", corpsource = "Dept. of Electr. Eng. and Comput. Sci., MIT, Cambridge, MA, USA", fjournal = "IBM Journal of Research and Development", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5288520", keywords = "30; 30 To 500 nm; distortion; Distortion; effect devices; electron beam lithography; Feature sizes; feature sizes; interferometric alignment scheme; Interferometric alignment scheme; mask architecture; Mask architecture; mask frame flexing; Mask frame flexing; Mask patterning; mask patterning; Maxwell equations; Maxwell's equations; MOS devices; nanolithography; nanotechnology; optoelectronic devices; Optoelectronic devices; Proximity X-ray lithography; proximity X-ray lithography; quantum; Quantum effect devices; Resolution; resolution; spatial-phase-locked electron-beam lithography; Spatial-phase-locked electron-beam lithography; to 500 nm; X-ray; X-ray lithography; X-ray nanolithography", numericalindex = "Size 3.0E-08 to 5.0E-07 m", thesaurus = "Electron beam lithography; Maxwell equations; Nanotechnology; X-ray lithography", treatment = "P Practical; X Experimental", } @Article{Soo:1993:DCP, author = "Von-Wun Soo and Jan-Fu Hwang and Tung-Bo Chen and Chin Yu", title = "Divide-and-conquer, pattern matching, and relaxation methods in interpretation of {$2$-D NMR} spectra of polypeptides", journal = j-J-COMPUT-CHEM, volume = "14", number = "10", pages = "1164--1171", month = oct, year = "1993", CODEN = "JCCHDD", DOI = "https://doi.org/10.1002/jcc.540141006", ISSN = "0192-8651 (print), 1096-987X (electronic)", ISSN-L = "0192-8651", bibdate = "Thu Nov 29 14:54:23 MST 2012", bibsource = "http://www.interscience.wiley.com/jpages/0192-8651; https://www.math.utah.edu/pub/tex/bib/jcomputchem1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Journal of Computational Chemistry", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1096-987X", onlinedate = "7 Sep 2004", } @Article{Srinivas:1993:STA, author = "Yellamraju V. Srinivas", title = "A sheaf-theoretic approach to pattern matching and related problems", journal = j-THEOR-COMP-SCI, volume = "112", number = "1", pages = "53--97", day = "26", month = apr, year = "1993", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:17:09 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1993&volume=112&issue=1; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1993&volume=112&issue=1&aid=1301", acknowledgement = ack-nhfb, classification = "C1250 (Pattern recognition); C4240 (Programming and algorithm theory)", corpsource = "Kestrel Inst., Palo Alto, CA, USA", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "computational complexity; generalized version; geometric view; grammars; Grothendieck topology; Knuth--Morris--Pratt string-matching algorithm; modulo commutativity; n-queens problem; parsing; pattern matching; pattern recognition; scene analysis; sheaf-theoretic approach; Waltz filtering", pubcountry = "Netherlands", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Takeda:1993:FMA, author = "Masayuki Takeda", title = "A fast matching algorithm for patterns with pictures", journal = "Bull. Inform. Cybernet.", volume = "25", number = "3--4", pages = "137--153", year = "1993", ISSN = "0286-522X", MRclass = "68U15", MRnumber = "1215542 (94a:68143)", bibdate = "Mon May 26 18:16:34 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Bulletin of Informatics and Cybernetics", } @Article{Tarhio:1993:ABM, author = "Jorma Tarhio and Esko Ukkonen", title = "Approximate {Boyer--Moore} String Matching", journal = j-SIAM-J-COMPUT, volume = "22", number = "2", pages = "243--260", month = apr, year = "1993", CODEN = "SMJCAT", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68Q20 (68U15)", MRnumber = "93m:68060", bibdate = "Mon Nov 29 11:02:11 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/22/2; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @Article{Thiemann:1993:ART, author = "P. Thiemann", title = "Avoiding repeated tests in pattern matching", journal = j-LECT-NOTES-COMP-SCI, volume = "724", pages = "141--??", year = "1993", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:49:00 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @InCollection{Ukkonen:1993:ASMa, author = "Esko Ukkonen", booktitle = "Combinatorial pattern matching ({Padova}, 1993)", title = "Approximate string-matching over suffix trees", volume = "684", publisher = pub-SV, address = pub-SV:adr, pages = "228--242", year = "1993", DOI = "https://doi.org/10.1007/BFb0029808", MRclass = "68U15 (68Q20 68R05)", MRnumber = "1253338 (94j:68311)", bibdate = "Mon May 26 18:16:34 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, acknowledgement = ack-nhfb, } @Article{Ukkonen:1993:ASMb, author = "Esko Ukkonen and Derick Wood", title = "Approximate String Matching with Suffix Automata", journal = j-ALGORITHMICA, volume = "10", number = "5", pages = "353--364", year = "1993", CODEN = "ALGOEJ", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", MRclass = "68T10 (68Q70)", MRnumber = "MR1245517 (94j:68260)", bibdate = "Mon Jan 22 05:35:34 MST 2001", bibsource = "dblp-journals-algorithmica.bib; http://dblp.uni-trier.de/db/journals/algorithmica/algorithmica10.html#UkkonenW93; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/index-table-a.html#algorithmica; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", fjournal = "Algorithmica. An International Journal in Computer Science", journal-URL = "http://link.springer.com/journal/453", oldlabel = "UkkonenW93", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/algorithmica/UkkonenW93", } @Article{Weber-Wulff:1993:PMP, author = "Debora Weber-Wulff", title = "Proof movie --- A proof with the {Boyer--Moore} prover", journal = j-FORM-ASP-COMPUT, volume = "5", number = "2", pages = "121--151", month = mar, year = "1993", CODEN = "FACME5", DOI = "https://doi.org/10.1007/BF01211302", ISSN = "0934-5043 (print), 1433-299X (electronic)", ISSN-L = "0934-5043", bibdate = "Tue Mar 17 20:57:32 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/formaspcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/BF01211302", acknowledgement = ack-nhfb, fjournal = "Formal Aspects of Computing", journal-URL = "http://link.springer.com/journal/165", } @Article{Wentworth:1993:GRE, author = "E. P. Wentworth", title = "Generalized Regular Expressions --- a Programming Exercise in {Haskell}", journal = j-SIGPLAN, volume = "28", number = "5", pages = "49--54", month = may, year = "1993", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:16:36 MST 2003", bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/Functional.bib; http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "functional", } @InProceedings{Zobel:1993:SLL, author = "Justin Zobel and Alistair Moffat and Ron Sacks-Davis", title = "Searching Large Lexicons for Partially Specified Terms using Compressed Inverted Files", crossref = "Agrawal:1993:VLD", pages = "290--301", year = "1993", bibdate = "Fri Jan 12 07:50:33 MST 2001", bibsource = "http://www.vldb.org/dblp/db/conf/vldb/vldb93.html; https://www.math.utah.edu/pub/tex/bib/plan9.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldb.bib", URL = "http://www.vldb.org/dblp/db/conf/vldb/ZobelMS93.html", acknowledgement = ack-nhfb, authorurl = "http://www.vldb.org/dblp/db/indices/a-tree/z/Zobel:Justin.html; http://www.vldb.org/dblp/db/indices/a-tree/m/Moffat:Alistair.html; http://www.vldb.org/dblp/db/indices/a-tree/s/Sacks=Davis:Ron.html", keywords = "regular expressions; very large data bases; VLDB", } @Article{Abbott:1994:TT, author = "Paul Abbott", title = "Tricks of the Trade", journal = j-MATHEMATICA-J, volume = "4", number = "1", pages = "38--42", month = "Winter", year = "1994", CODEN = "????", ISSN = "1047-5974 (print), 1097-1610 (electronic)", ISSN-L = "1047-5974", bibdate = "Sat Nov 6 13:33:52 MDT 2010", bibsource = "http://www.mathematica-journal.com/issue/v4i1/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.mathematica-journal.com/issue/v4i1/tutorials/tricks/38-42_tricks41.mj.pdf; http://www.mathematica-journal.com/issue/v4i1/tutorials/tricks/index.html", acknowledgement = ack-nhfb, fjournal = "Mathematica Journal", journal-URL = "http://www.mathematica-journal.com/", keywords = "CollectCases; DSolve; Implicit Differentiation; New Packages in Version 2.2; Searching for Options; Simplifying a Sum; Testing Pattern Matching; Using Pad{\'e} to Generate Code", } @Article{Akutsu:1994:ASM, author = "T. Akutsu", title = "Approximate String Matching with Don't Care Characters", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "240--249", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @Article{Alexander:1994:SCS, author = "K. S. Alexander", title = "Shortest Common Superstrings for Strings of Random Letters", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "164--172", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @Article{Amir:1994:ADP, author = "Amihood Amir and Martin Farach and S. Muthukrishnan", title = "Alphabet dependence in parameterized matching", journal = j-INFO-PROC-LETT, volume = "49", number = "3", pages = "111--115", day = "11", month = feb, year = "1994", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Georgia Inst of Technology", affiliationaddress = "Atlanta, GA, USA", classification = "721.1; 721.2; 723.5; 741.1; C1250 (Pattern recognition); C6110B (Software engineering techniques)", corpsource = "Coll. of Comput., Georgia Inst. of Technol., Atlanta, GA, USA", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Algorithms; Computation theory; Computer software; Image processing; Logic design; parameterized matching; Parameterized string matching; pattern matching paradigm; Pattern model; pattern recognition; pattern string; Program fragments; Software maintenance; software maintenance; String matching", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Amir:1994:AIA, author = "Amihood Amir and Gary Benson and Martin Farach", title = "An Alphabet Independent Approach to Two-Dimensional Pattern Matching", journal = j-SIAM-J-COMPUT, volume = "23", number = "2", pages = "313--323", month = apr, year = "1994", CODEN = "SMJCAT", DOI = "https://doi.org/10.1137/S0097539792226321", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68Q20 (68Q25)", MRnumber = "95d:68052", MRreviewer = "Lajos R{\'o}nyai", bibdate = "Mon Nov 29 11:02:25 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/23/2; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://epubs.siam.org/sam-bin/dbq/article/22632", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @InCollection{Amir:1994:OTD, author = "Amihood Amir and Gary Benson and Martin Farach", booktitle = "Automata, languages and programming ({Jerusalem}, 1994)", title = "Optimal two-dimensional compressed matching", volume = "820", publisher = pub-SV, address = pub-SV:adr, pages = "215--226", year = "1994", DOI = "https://doi.org/10.1007/3-540-58201-0_70", MRclass = "68U15 (68Q22)", MRnumber = "1334113 (96e:68141)", bibdate = "Mon May 26 18:16:34 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = "Lecture Notes in Comput. Sci.", acknowledgement = ack-nhfb, } @InProceedings{Antoy:1994:NNS, author = "Sergio Antoy and Rachid Echahed and Michael Hanus", title = "A needed narrowing strategy", crossref = "ACM:1994:CRP", pages = "268--279", year = "1994", bibdate = "Mon May 3 12:50:22 MDT 1999", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org:80/pubs/citations/proceedings/plan/174675/p268-antoy/", abstract = "Narrowing is the operational principle of languages that integrate functional and logic programming. We propose a notion of a needed narrowing step that, for inductively sequential rewrite systems, extends the Huet and L{\'e}vy notion of a needed reduction step. We define a strategy, based on this notion, that computes only needed narrowing steps. Our strategy is sound and complete for a large class of rewrite systems, is optimal w.r.t. the cost measure that counts the number of distinct steps of a derivation, computes only independent unifiers, and is efficiently implemented by pattern matching.", acknowledgement = ack-nhfb, keywords = "theory", subject = "{\bf D.1.1} Software, PROGRAMMING TECHNIQUES, Applicative (Functional) Programming. {\bf D.1.6} Software, PROGRAMMING TECHNIQUES, Logic Programming. {\bf F.4.1} Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Mathematical Logic, Logic and constraint programming.", } @Article{Backofen:1994:RPE, author = "Rolf Backofen", title = "Regular Path Expressions in Feature Logic", journal = j-J-SYMBOLIC-COMP, volume = "17", number = "5", pages = "421--455", month = may, year = "1994", CODEN = "JSYCEH", ISSN = "0747-7171 (print), 1095-855X (electronic)", ISSN-L = "0747-7171", MRclass = "68T30 (68S05 68T20 68T27)", MRnumber = "95i:68128", MRreviewer = "P. {\v{S}}t{\v{e}}p{\'a}nek", bibdate = "Sat May 10 15:54:09 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/jsymcomp.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classcodes = "C4210 (Formal logic)", corpsource = "DFKI, Saarbrucken, Germany", fjournal = "Journal of Symbolic Computation", journal-URL = "http://www.sciencedirect.com/science/journal/07477171", keywords = "computational linguistics; decidability; decidable; existential fragment; expressions; feature logic; formal languages; formal logic; functional uncertainty; quasi-terminating rule system; regular language; regular path; satisfiability; subterm relation", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Baeza-Yates:1994:BMA, author = "Ricardo A. Baeza-Yates and Christian Choffrut and Gaston H. Gonnet", title = "On {Boyer--Moore} automata", journal = j-ALGORITHMICA, volume = "12", number = "4--5", pages = "268--292", year = "1994", CODEN = "ALGOEJ", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", MRclass = "68Q20 (68Q25)", MRnumber = "MR1289483 (95i:68050)", bibdate = "Mon Jan 22 05:23:27 MST 2001", bibsource = "dblp-journals-algorithmica.bib; http://dblp.uni-trier.de/db/journals/algorithmica/algorithmica12.html#Baeza-YatesCG94; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", fjournal = "Algorithmica. An International Journal in Computer Science", journal-URL = "http://link.springer.com/journal/453", oldlabel = "Baeza-YatesCG94", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/algorithmica/Baeza-YatesCG94", } @Article{Baeza-Yates:1994:PMU, author = "R. Baeza-Yates and W. Cunto and U. Manber and S. Wu", title = "Proximity Matching Using Fixed-Queries Trees", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "198--212", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @Article{Bafna:1994:AAM, author = "V. Bafna and E. L. Lawler and P. A. Peuzner", title = "Approximation Algorithms for Multiple Sequence Alignment", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "43--53", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @Article{Benson:1994:SEA, author = "G. Benson", title = "A Space Efficient Algorithm for Finding the Best Non-Overlapping Alignment Score", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "1--14", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @Article{Bertossi:1994:PSM, author = "A. A. Bertossi and F. Logi", title = "Parallel String Matching with Variable Length Don't Cares", journal = j-J-PAR-DIST-COMP, volume = "22", number = "2", pages = "229--234", month = aug, year = "1994", CODEN = "JPDCER", DOI = "https://doi.org/10.1006/jpdc.1994.1083", ISSN = "0743-7315 (print), 1096-0848 (electronic)", ISSN-L = "0743-7315", bibdate = "Thu Mar 9 09:18:55 MST 2000", bibsource = "http://www.idealibrary.com/servlet/useragent?func=showAllIssues&curIssueID=jpdc; https://www.math.utah.edu/pub/tex/bib/jpardistcomp.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.idealibrary.com/links/doi/10.1006/jpdc.1994.1083/production; http://www.idealibrary.com/links/doi/10.1006/jpdc.1994.1083/production/pdf", acknowledgement = ack-nhfb, classification = "C4240P (Parallel programming and algorithm theory)", corpsource = "Dipartimento di Inf., Pisa Univ., Italy", fjournal = "Journal of Parallel and Distributed Computing", journal-URL = "http://www.sciencedirect.com/science/journal/07437315", keywords = "computational complexity; EREW PRAM model; finite alphabet; parallel algorithm; parallel algorithms; parallel computer; parallel string matching; problems; processor; running time; scan operations; search; utilization; variable length don't cares", treatment = "T Theoretical or Mathematical", } @Article{Bodlaender:1994:PCS, author = "H. Bodlaender and R. G. Downey and M. R. Fellows and H. T. Wareham", title = "The Parameterized Complexity of Sequence Alignment and Consensus", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "15--30", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @Article{Brazma:1994:EAL, author = "A. Brazma", title = "Efficient Algorithm for Learning Simple Regular Expressions from Noisy Examples", journal = j-LECT-NOTES-COMP-SCI, volume = "872", pages = "260--??", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:52:14 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Brazma:1994:ELR, author = "A. Brazma and K. Cerans", title = "Efficient Learning of Regular Expressions from Good Examples", journal = j-LECT-NOTES-COMP-SCI, volume = "872", pages = "76--??", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:52:14 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Breslauer:1994:DMU, author = "D. Breslauer", title = "Dictionary-Matching on Unbounded Alphabets: Uniform-Length Dictionaries", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "184--197", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @Article{Breslauer:1994:ECS, author = "D. Breslauer and L. Colussi and L. Toniolo", title = "On the Exact Complexity of the String Prefix-Matching Problem", journal = j-LECT-NOTES-COMP-SCI, volume = "855", pages = "483--??", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:52:14 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Breslauer:1994:TSS, author = "Dany Breslauer", title = "Testing string superprimitivity in parallel", journal = j-INFO-PROC-LETT, volume = "49", number = "5", pages = "235--241", day = "11", month = mar, year = "1994", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68Q20 (68Q22)", MRnumber = "94m:68070", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "CNR", affiliationaddress = "Pisa, Italy", classification = "723.1; 723.2; 921.6; C4240P (Parallel programming and algorithm theory)", conferenceyear = "1994", corpsource = "Centre of Nat. Res., Pisa Univ., Italy", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Algorithms; computational complexity; Computer software; CRCW-PRAM algorithm; optimal algorithm; Optimization; parallel; parallel algorithms; Parallel processing systems; periods; Quasiperiods; quasiperiods; String matching; string matching; String superprimitivity; superprimitivity", treatment = "T Theoretical or Mathematical", } @Article{Buneman:1994:CS, author = "Peter Buneman and Leonid Libkin and Dan Suciu and Val Tannen and Limsoon Wong", title = "Comprehension Syntax", journal = j-SIGMOD, volume = "23", number = "1", pages = "87--96", month = mar, year = "1994", CODEN = "SRECD8", ISSN = "0163-5808 (print), 1943-5835 (electronic)", ISSN-L = "0163-5808", bibdate = "Mon Jan 12 08:45:47 MST 2004", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigmod.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Dept. of Comput. and Inf. Sci., Pennsylvania Univ., Philadelphia, PA, USA", classification = "C6140D (High level languages); C6160D (Relational DBMS)", fjournal = "SIGMOD Record (ACM Special Interest Group on Management of Data)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J689", keywords = "Abstract syntax language; Comprehension syntax; Database language development; Database query languages; First-order logic; Function definition; Optimization; Pattern matching; Programming paradigm; Relational algebra; Relational database; Structural recursion; Variant types", thesaurus = "Query languages; Query processing; Relational algebra; Relational databases", } @Article{Chang:1994:ASM, author = "W. I. Chang and T. G. Marr", title = "Approximate String Matching and Local Similarity", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "259--273", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @Article{Chang:1994:SAS, author = "William I. Chang and Eugene L. Lawler", title = "Sublinear Approximate String Matching and Biological Applications", journal = j-ALGORITHMICA, volume = "12", number = "4--5", pages = "327--344", year = "1994", CODEN = "ALGOEJ", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", MRclass = "68Q20 (68Q25 92D20)", MRnumber = "MR1289486 (95e:68071)", bibdate = "Mon Jan 22 05:24:56 MST 2001", bibsource = "dblp-journals-algorithmica.bib; http://dblp.uni-trier.de/db/journals/algorithmica/algorithmica12.html#ChangL94; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/index-table-a.html#algorithmica; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", fjournal = "Algorithmica. An International Journal in Computer Science", journal-URL = "http://link.springer.com/journal/453", oldlabel = "ChangL94", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/algorithmica/ChangL94", } @Article{Chao:1994:CAS, author = "K.-M. Chao", title = "Computing all Suboptimal Alignments in Linear Space", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "31--42", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @Article{Chlebus:1994:OPM, author = "B. S. Chlebus and L. Gasieniec", title = "Optimal Pattern Matching on Meshes", journal = j-LECT-NOTES-COMP-SCI, volume = "775", pages = "213--??", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:52:14 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Cobbs:1994:FIA, author = "A. L. Cobbs", title = "Fast Identification of Approximately Matching Substrings", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "64--74", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @Article{Cole:1994:TBC, author = "Richard Cole", title = "Tight Bounds on the Complexity of the {Boyer--Moore} String Matching Algorithm", journal = j-SIAM-J-COMPUT, volume = "23", number = "5", pages = "1075--1091", month = oct, year = "1994", CODEN = "SMJCAT", DOI = "https://doi.org/10.1137/S0097539791195543", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68Q20", MRnumber = "95m:68070", bibdate = "Mon Nov 29 11:02:32 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/23/5; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://epubs.siam.org/sam-bin/dbq/article/19554", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @Article{Colussi:1994:FPM, author = "L. Colussi", title = "Fastest Pattern Matching in Strings", journal = j-J-ALG, volume = "16", number = "2", pages = "163--189", month = mar, year = "1994", CODEN = "JOALDV", DOI = "https://doi.org/10.1006/jagm.1994.1008", ISSN = "0196-6774 (print), 1090-2678 (electronic)", ISSN-L = "0196-6774", bibdate = "Tue Dec 11 09:15:40 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/jalg.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S019667748471008X", acknowledgement = ack-nhfb, fjournal = "Journal of Algorithms", journal-URL = "http://www.sciencedirect.com/science/journal/01966774", } @Article{Crochemore:1994:STS, author = "Maxime Crochemore and Artur Czumaj and Leszek G{\k{a}}sieniec and Stefan Jarominek and Thierry Lecroq and Wojciech Plandowski and Wojciech Rytter", title = "Speeding Up Two String-Matching Algorithms", journal = j-ALGORITHMICA, volume = "12", number = "4--5", pages = "247--267", year = "1994", CODEN = "ALGOEJ", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", MRclass = "68Q20 (68Q25)", MRnumber = "MR1289482 (95e:68073)", bibdate = "Mon Jan 22 05:26:13 MST 2001", bibsource = "dblp-journals-algorithmica.bib; http://dblp.uni-trier.de/db/journals/algorithmica/algorithmica12.html#CrochemoreCGJLPR94; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/index-table-a.html#algorithmica; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", fjournal = "Algorithmica. An International Journal in Computer Science", journal-URL = "http://link.springer.com/journal/453", oldlabel = "CrochemoreCGJLPR94", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/algorithmica/CrochemoreCGJLPR94", } @Article{Crochemore:1994:TDP, author = "Maxime Crochemore and Wojciech Rytter", title = "On two-dimensional pattern matching by optimal parallel algorithms", journal = j-THEOR-COMP-SCI, volume = "132", number = "1--2", pages = "403--414", day = "26", month = sep, year = "1994", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:18:25 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1994&volume=132&issue=1-2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1994&volume=132&issue=1-2&aid=1653", acknowledgement = ack-nhfb, classification = "C1250 (Pattern recognition); C4240P (Parallel programming and algorithm theory)", corpsource = "Inst. Gaspard Monge, Univ. de Marne la Vall{\'e}e, Noisy le Grand, France", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "compressing images; CRCW PRAM; data compression; Kedem-Landau-Palem algorithms; KLP algorithm; parallel algorithms; parallel image identification; parallel reduction; pattern recognition; pattern-matching; suffix-prefix matching subprocedure", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @InProceedings{Das:1994:SAI, author = "R. Das and J. Saltz and R. {von Hanxleden}", title = "Slicing analysis and indirect accesses to distributed arrays", crossref = "Banerjee:1994:LCP", pages = "152--168", month = "", year = "1994", bibdate = "Mon Oct 26 07:05:30 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/fortran3.bib; https://www.math.utah.edu/pub/tex/bib/hpfortran.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Dept. of Comput. Sci., Maryland Univ., College Park, MD, USA", classification = "C6110P (Parallel programming); C6120 (File organisation); C6140D (High level languages); C6150C (Compilers, interpreters and other processors)", keywords = "Aggregated data prefetching; Array accesses; Compiler; Fortran D prototype compiler; High Performance Fortran; Indirection arrays; Irregular access patterns; Multiple levels; Parallel code; Parallel computers; Program slicing; Redundant preprocessing; Slice graph; Sparse data structures; Subscript expressions", thesaurus = "Data structures; FORTRAN; Parallel languages; Parallel programming; Program compilers", } @Article{Du:1994:ADV, author = "M.-W. Du and S. C. Chang", title = "Approach to designing very fast approximate string matching algorithms", journal = j-IEEE-TRANS-KNOWL-DATA-ENG, volume = "6", number = "4", pages = "620--633", month = aug, year = "1994", CODEN = "ITKEEH", DOI = "https://doi.org/10.1109/69.298177", ISSN = "1041-4347 (print), 1558-2191 (electronic)", ISSN-L = "1041-4347", bibdate = "Wed Jan 15 12:19:41 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/spell.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "An approach to designing very fast algorithms for approximate string matching in a dictionary is proposed. Multiple spelling errors corresponding to insert, delete, change, and transpose operations on character strings are considered in the fault model. The design of very fast approximate string matching algorithms through a four-step reduction procedure is described. The final and most effective step uses hashing techniques to avoid comparing the given word with words at large distances. The technique has been applied to a library book catalog textbase. The experiments show that performing approximate string matching for a large dictionary in real-time on an ordinary sequential computer under our multiple fault model is feasible.", acknowledgement = ack-nhfb, affiliation = "GTE Lab Inc", affiliationaddress = "Waltham, MA, USA", classification = "721.1; 722.4; 723.1; 723.2; 903.1; 903.3", fjournal = "IEEE Transactions on Knowledge and Data Engineering", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=69", journalabr = "IEEE Trans Knowl Data Eng", keywords = "Algorithms; Character recognition; Character strings; Computational linguistics; Data reduction; Data structures; Error correction; Errors; Hashing techniques; Information retrieval; Interactive computer systems; Man machine systems; Multiple spelling errors; Nearest neighbor search; Terminology; Textbase; Very fast approximate string matching algorithms", } @Article{Dubiner:1994:FTP, author = "Moshe Dubiner and Zvi Galil and Edith Magen", title = "Faster Tree Pattern Matching", journal = j-J-ACM, volume = "41", number = "2", pages = "205--213", month = mar, year = "1994", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Sat Oct 22 23:12:49 1994", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0004-5411/174653.html", acknowledgement = ack-nhfb, fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", keywords = "algorithms; theory", subject = "{\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Computations on discrete structures. {\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching. {\bf G.2.2}: Mathematics of Computing, DISCRETE MATHEMATICS, Graph Theory, Trees.", } @Article{Durand:1994:BSS, author = "Ir{\'e}ne Durand", title = "Bounded, Strongly Sequential and Forward-Branching Term Rewriting Systems", journal = j-J-SYMBOLIC-COMP, volume = "18", number = "4", pages = "319--352", month = oct, year = "1994", CODEN = "JSYCEH", ISSN = "0747-7171 (print), 1095-855X (electronic)", ISSN-L = "0747-7171", MRclass = "68Q42", MRnumber = "96e:68073", bibdate = "Sat May 10 15:54:09 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/jsymcomp.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classcodes = "C4210L (Formal languages and computational linguistics); C1250 (Pattern recognition)", corpsource = "Lab. Bordelais de Recherche en Inf., Bordeaux I Univ., Talence, France", fjournal = "Journal of Symbolic Computation", journal-URL = "http://www.sciencedirect.com/science/journal/07477171", keywords = "bounded term rewriting; branching term rewriting systems; forward-; forward-branching index tree; pattern matching; rewriting systems; strongly sequential term rewriting systems; systems", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Dyadkin:1994:MP, author = "Lev J. Dyadkin", title = "Multibox parsers", journal = j-SIGSOFT, volume = "19", number = "3", pages = "23--25", month = jul, year = "1994", CODEN = "SFENDP", DOI = "https://doi.org/10.1145/182824.182827", ISSN = "0163-5948 (print), 1943-5843 (electronic)", ISSN-L = "0163-5948", bibdate = "Wed Aug 1 17:12:53 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/fortran3.bib; https://www.math.utah.edu/pub/tex/bib/sigsoft1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Traditional compiler front end generating tools such as Lex/Yacc assume a front end consisting of two boxes: a lexical box and a syntax box. Lex produces a lexical analyzer using regular expressions as a token description. Yacc generates a syntax analyzer from the LALR grammar for the parsed language. This approach has big problems with such lexically and syntactically complex languages as Fortran. The main reason for these problems is that regular expressions, being equivalent to a right linear grammar, do not have the capability to describe the incredibly complex lexical structure of Fortran. As a result, compiler writers abandon Lex and produce handwritten lexers for Fortran, thus defeating the main purpose of the parser generator, automation. This work solves these problems by introducing a multibox parser, where each lower box modifies its input language to produce a more ``straightened'' output language for the higher box. The number of boxes reflects the complexity of the parsed language. For example, Fortran requires more boxes than does C. Each box is represented by an L-attributed translation grammar in simple assignment form with an LL(1) input grammar. LL(1) grammars were chosen for higher speed, smaller size, and because, unlike regular expressions, they can express constructs such as nested parentheses, a capability which is required for parsing Fortran on the lexical level. New operations for the LL(1) machine are added to ensure it is strictly forward moving, without backtracking in the parsed source code. We have extended the LL(1) grammars to ``indexed LL(1) grammars.''This enhancement allows more of the resulting code to be automatically generated, rather than handwritten. New parser generating tools have been developed by us to support this technology. The multibox approach has been implemented in the Lahey Fortran 90 compiler.", acknowledgement = ack-nhfb, fjournal = "ACM SIGSOFT Software Engineering Notes", journal-URL = "https://dl.acm.org/citation.cfm?id=J728", } @Article{Gereb-Graus:1994:TOW, author = "Mih{\'a}ly Ger{\'e}b-Graus and Ming Li", title = "Three one-way heads cannot do string matching", journal = j-J-COMP-SYS-SCI, volume = "48", number = "1", pages = "1--8", month = feb, year = "1994", CODEN = "JCSSBM", DOI = "https://doi.org/10.1016/S0022-0000(05)80020-0", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:26:24 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0022000005800200", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Article{Goldberg:1994:FPS, author = "T. Goldberg and U. Zwick", title = "Faster Parallel String Matching via Larger Deterministic Samples", journal = j-J-ALG, volume = "16", number = "2", pages = "295--308", month = mar, year = "1994", CODEN = "JOALDV", DOI = "https://doi.org/10.1006/jagm.1994.1014", ISSN = "0196-6774 (print), 1090-2678 (electronic)", ISSN-L = "0196-6774", bibdate = "Tue Dec 11 09:15:40 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/jalg.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0196677484710145", acknowledgement = ack-nhfb, fjournal = "Journal of Algorithms", journal-URL = "http://www.sciencedirect.com/science/journal/01966774", } @InProceedings{Grahne:1994:RAS, author = "G{\"o}sta Grahne and Matti Nyk{\"a}nen and Esko Ukkonen", title = "Reasoning about Strings in Databases", crossref = "ACM:1994:PPT", pages = "303--312", year = "1994", bibdate = "Wed Oct 25 12:40:13 MDT 2000", bibsource = "http://www.acm.org/pubs/contents/proceedings/series/sigmod_pods/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/articles/proceedings/pods/182591/p303-grahne/p303-grahne.pdf; http://www.acm.org/pubs/citations/proceedings/pods/182591/p303-grahne/; http://www.acm.org:80/pubs/citations/proceedings/pods/182591/p303-grahne/", abstract = "In order to enable the database programmer to reason about relations over strings of arbitrary length we introduce alignment logic, a modal extension of relational calculus. In addition to relations, a state in the model consists of a two-dimensional array where the strings are aligned on top of each other. The basic modality in the language (a transpose, or ``slide'') allows for a rearrangement of the alignment, and more complex formulas can be formed using a syntax reminiscent of regular expressions, in addition to the usual connectives and quantifiers. It turns out that the computational counterpart of the string-based portion of the logic is the class of multitape two-way finite state automata, which are devices particularly well suited for the implementation of string matching. A computational counterpart of the full logic is obtained from relational algebra by extending the selection operator into filters based on these multitape machines. Safety of formulas in alignment logic implies that new strings generated from old ones have to be of bounded length. While an undecidable property in general, this boundedness is decidable for an important subclass of formulas. As far as expressive power is concerned, alignment logic includes previous proposals for querying string databases, and gives full Turing computability. The language can be restricted to define exactly regular sets and sets in the polynomial hierarchy.", acknowledgement = ack-nhfb, generalterms = "Algorithms; Design; Languages; Theory", keywords = "ACM; algorithms; computability; database systems; design; languages; SIGACT; SIGART; SIGMOD; theory", subject = "{\bf H.2.1} Information Systems, DATABASE MANAGEMENT, Logical Design, Data models. {\bf H.2.3} Information Systems, DATABASE MANAGEMENT, Languages, Query languages. {\bf F.4.1} Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Mathematical Logic. {\bf H.2.4} Information Systems, DATABASE MANAGEMENT, Systems, Query processing.", } @Article{Havas:1994:NPS, author = "G. Havas and Jin Xian Lian", title = "A New Problem in String Searching", journal = j-LECT-NOTES-COMP-SCI, volume = "834", pages = "660--??", year = "1994", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Mon May 13 11:52:14 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs1994.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Huang:1994:CDM, author = "X. Huang", title = "A Context Dependent Method for Comparing Sequences", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "54--63", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @Article{Huang:1994:PRA, author = "X. Huang and P. A. Pevzner and W. Miller", title = "Parametric Recomputing in Alignment Graphs", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "87--101", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @Article{Idury:1994:MMP, author = "R. M. Idury and A. A. Schaeffer", title = "Multiple Matching of Parameterized Patterns", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "226--239", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @Article{Irving:1994:MCS, author = "R. W. Irving and C. B. Fraser", title = "Maximal Common Subsequences and Minimal Common Supersequences", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "173--183", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @Article{Ito:1994:PTA, author = "M. Ito and K. Shimizu and M. Nakanishi and A. Hashimoto", title = "Polynomial-Time Algorithms for Computing Characteristic Strings", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "274--288", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @InProceedings{Jenks:1994:HMA, author = "Richard D. Jenks and Barry M. Trager", title = "How to make {AXIOM} into a {Scratchpad}", crossref = "ACM:1994:IPI", pages = "32--40", year = "1994", MRclass = "68W30 (Symbolic computation and algebraic computation)", bibdate = "Thu Mar 12 08:41:19 MST 1998", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/axiom.bib; https://www.math.utah.edu/pub/tex/bib/issac.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org:80/pubs/citations/proceedings/issac/190347/p32-jenks/", ZMnumber = "0945.68543", abstract = "Scratchpad (Griesmer and Jenks, 1971) was a computer algebra system that had one principal representation for mathematical formulae based on expression trees. Its user interface design was based on a pattern-matching paradigm with infinite rewrite rule semantics, providing what we believe to be the most natural paradigm for interactive symbolic problem solving. Like M and M, however, user programs were interpreted, often resulting in poor performance relative to similar facilities coded in standard programming languages such as FORTRAN and C. Scratchpad development stopped in 1976 giving way to a new system design that evolved into AXIOM. AXIOM has a strongly-typed programming language for building a library of parameterized types and algorithms, and a type-inferencing interpreter that accesses the library and can build any of an infinite number of types for interactive use. We suggest that the addition of an expression tree type to AXIOM can allow users to operate with the same freedom and convenience of untyped systems without giving up the expressive power and run-time efficiency provided by the type system. We also present a design that supports a multiplicity of programming styles, from the Scratchpad pattern-matching paradigm to functional programming to more conventional procedural programming.", acknowledgement = ack-nhfb, affiliation = "IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA", classification = "C6180 (User interfaces); C7310 (Mathematics computing)", keywords = "algorithms; AXIOM; C; Computer algebra system; design; Expression trees; FORTRAN; Functional programming; Infinite rewrite rule semantics; languages; Library; Mathematical formulae; Pattern-matching; performance; Procedural programming; Run-time efficiency; Scratchpad; Strongly-typed programming language; Symbolic problem solving; Type-inferencing interpreter; Untyped systems; User interface design; User programs", language = "English", subject = "{\bf I.1.3} Computing Methodologies, SYMBOLIC AND ALGEBRAIC MANIPULATION, Languages and Systems, Special-purpose algebraic systems. {\bf D.3.3} Software, PROGRAMMING LANGUAGES, Language Constructs and Features, Data types and structures. {\bf F.2.2} Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching. {\bf I.1.1} Computing Methodologies, SYMBOLIC AND ALGEBRAIC MANIPULATION, Expressions and Their Representation, Simplification of expressions.", thesaurus = "Mathematics computing; Pattern matching; Program interpreters; Programming; Symbol manipulation; User interfaces", } @Article{Jiang:1994:ATA, author = "T. Jiang and L. Wang and K. Zhang", title = "Alignment of Trees --- an Alternative to Tree Edit", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "75--86", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @InProceedings{Johnson:1994:SMC, author = "J. H. Johnson", title = "Substring matching for clone detection and change tracking", crossref = "Muller:1994:ICS", pages = "120--126", month = "", year = "1994", bibdate = "Wed Oct 30 05:56:55 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Legacy systems pose problems to maintainers that can be solved partially with effective tools. A prototype tool for determining collections of files sharing a large amount of text has been developed and applied to a 40 megabyte source tree containing two releases of the gcc compiler. Similarities in source code and documentation corresponding to software cloning, movement and inertia between releases, as well as the effects of preprocessing easily stand out in a way that immediately conveys nonobvious structural information to a maintainer taking responsibility for such a system.", acknowledgement = ack-nhfb, affiliation = "Software Eng. Lab., Nat. Res. Council of Canada, Ottawa, Ont., Canada", classification = "C6110B (Software engineering techniques); C6115 (Programming support); C6150C (Compilers, interpreters and other processors); C6150G (Diagnostic, testing, debugging and evaluating systems)", keywords = "Change tracking; Clone detection; Design recovery; Documentation; Gcc compiler; Legacy systems; Program understanding; Prototype tool; Reverse engineering; Software cloning; Source code; Source tree; Structural information", thesaurus = "Configuration management; Program compilers; Program diagnostics; Software maintenance; Software tools", } @InProceedings{Johnson:1994:VTR, author = "J. H. Johnson", title = "Visualizing textual redundancy in legacy source", crossref = "Botsford:1994:PCI", pages = "9--18", month = "", year = "1994", bibdate = "Wed Oct 30 05:42:27 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "As a result of maintenance activity, legacy systems contain repeated text in the form of large and small blocks that appear in more or less the same form in several places. These repetitions define a structure that can contribute information about the development history of the source different from the documented version or the current directory structure. A strategy based on fingerprinting is used to obtain raw matches indicating where repetitions occur. The information inherent in these matches is then reorganized for easier processing, leading to a natural clustering of substrings. Suppression of detail is usually necessary to make further progress and can be done in several different ways. For example, matches of blocks of text identify associations within groups of files. In cases with complex clusters of files involving multiple overlapping subsets of files, Hasse diagrams can support visualization. Techniques useful for understanding such graphs can then be employed to provide significant insights into the structure of the redundancy and hence the source. The paper discusses this approach and shows results obtained from an example of reasonable size (40 MBytes of source based on two releases of the GNU gcc compiler).", acknowledgement = ack-nhfb, affiliation = "Inst. for Inf. Technol., Nat. Res. Council of Canada, Ottawa, Ont., Canada", classification = "C6110B (Software engineering techniques); C6120 (File organisation); C6130B (Graphics techniques); C6130D (Document processing techniques)", keywords = "40 MByte; Complex file clusters; Detail suppression; Directory structure; Documented version; File groups; Fingerprinting; GNU gcc compiler; Graph understanding; Hasse diagrams; Information reorganization; Legacy systems; Multiple overlapping subsets; Raw matches; Repeated text; Software development history; Software maintenance activity; Substring clustering; Text blocks; Textual redundancy visualization", numericalindex = "Memory size 4.2E+07 Byte", thesaurus = "Data visualisation; File organisation; Redundancy; Software maintenance; String matching; System documentation; Text editing", } @InProceedings{Kakeshita:1994:FCS, author = "T. Kakeshita and M. Oda and Y. Imamura", title = "Fall-in {C}: a software tool for pitfall detection in {C} programs", crossref = "IEEE:1994:FAP", pages = "256--265", month = "", year = "1994", bibdate = "Wed Oct 30 05:47:28 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Programming language C has a flexible structure, and its compiler generates compact and efficient object codes. However slight bugs (pitfall) which cannot be detected by the compiler may cause a serious error in C programs. We are developing a software tool Fall-in C to detect such pitfalls. The paper demonstrates the basic features of Fall-in C. In order to enable a programmer to correct the detected pitfalls immediately, Fall-in C is executed within GNU Emacs editor. Pitfalls in C programs are mainly ad hoc. Thus we prepare three pitfall detection methods for the extensibility of Fall-in C: regular expression searching, structural pattern matching and message analysis of external programs. The patterns for the first two methods can be easily added to Fall-in C. Furthermore the message analysis method can be used to integrate several C program checkers such as lint, check and cchk into Fall-in C.", acknowledgement = ack-nhfb, affiliation = "Dept. of Inf. Sci., Saga Univ., Japan", classification = "C6110B (Software engineering techniques); C6115 (Programming support); C6140D (High level languages); C6150G (Diagnostic, testing, debugging and evaluating systems)", keywords = "C program checkers; C programs; Compiler; Detection methods; Efficient object codes; Extensibility; External programs; Fall-in C; GNU Emacs editor; Message analysis; Pitfall detection; Programming language C; Regular expression searching; Software tool; Structural pattern matching", thesaurus = "C language; Program testing; Software fault tolerance; Software tools", } @Article{Karpinski:1994:AIO, author = "M. Karpinski and W. Rytter", title = "An Alphabet-Independent Optimal Parallel Search for Three Dimensional Pattern", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "125--135", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @Article{Kececioglu:1994:EBO, author = "J. Kececioglu and D. Sankoff", title = "Efficient Bounds for Oriented Chromosome Inversion Distance", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "307--325", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @Article{Kilpelainen:1994:QPT, author = "P. Kilpelainen and H. Mannila", title = "Query Primitives for Tree-Structured Data", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "213--225", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @Article{Kim:1994:FSM, author = "Jong Yong Kim and John Shawe-Taylor", title = "Fast String Matching using an $n$-gram Algorithm", journal = j-SPE, volume = "24", number = "1", pages = "79--88", month = jan, year = "1994", CODEN = "SPEXBL", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", keywords = "Boyer--Moore algorithm; DNA sequence matching; pattern matching; string searching", } @InProceedings{Kitani:1994:MID, author = "T. Kitani", title = "Merging information by discourse processing for information extraction", crossref = "IEEE:1994:PTC", pages = "412--418", month = "", year = "1994", bibdate = "Wed Oct 30 05:56:55 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "In information extraction tasks, a finite-state pattern matcher is widely used to identify individual pieces of information in a sentence. Merging related pieces of information scattered throughout a text is usually difficult, however, since semantic relations across sentences cannot be captured by the sentence level processing. The purpose of the discourse processing described in this paper is to link individual pieces of information identified by the sentence level processing. In the Tipster information extraction domains, correct identification of company names is the key to achieving a high level of system performance. Therefore, the discourse processor in the Textract information extraction system keeps track of missing, abbreviated, and referenced company names in order to correlate individual pieces of information throughout the text. Furthermore, the discourse is segmented, so that data can be extracted from relevant portions of the text containing information of interest related to a particular tie-up relationship.", acknowledgement = ack-nhfb, affiliation = "Center for Machine Translation, Carnegie Mellon Univ., Pittsburgh, PA, USA", classification = "C6130 (Data handling techniques); C6180N (Natural language processing); C7100 (Business and administration); C7240 (Information analysis and indexing); C7250 (Information storage and retrieval)", keywords = "Abbreviated names; Company name identification; Discourse processing; Finance; Finite-state pattern matcher; Information correlation; Information extraction; Information merging; Japanese GNU AWK; Japanese morphological analyzer; Majesty; Missing names; Natural language processing; Newspaper articles; Referenced names; Segmented discourse; Semantic relations; Sentence level processing; System performance; Textract; Tie-up relationship; Tipster", thesaurus = "Commerce; Information analysis; Information retrieval; Merging; Natural languages", } @InProceedings{Knuth:1994:FPM, author = "Donald E. Knuth and James H. {Morris, Jr.} and Vaughan R. Pratt", title = "Fast pattern matching in strings", crossref = "Aoe:1994:CAS", pages = "8--35", year = "1994", MRclass = "68T10", MRnumber = "1 281 392", bibdate = "Fri Mar 22 18:03:29 MST 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", acknowledgement = ack-nhfb, } @InProceedings{Kosaraju:1994:RTP, author = "S. Rao Kosaraju", title = "Real-time pattern matching and quasi-real-time construction of suffix trees (preliminary version)", crossref = "ACM:1994:PTS", pages = "310--316", year = "1994", bibdate = "Wed Feb 20 18:34:01 MST 2002", bibsource = "http://portal.acm.org/; http://www.acm.org/pubs/contents/proceedings/series/stoc/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/articles/proceedings/stoc/195058/p310-kosaraju/p310-kosaraju.pdf; http://www.acm.org/pubs/citations/proceedings/stoc/195058/p310-kosaraju/", acknowledgement = ack-nhfb, } @Article{Landau:1994:PMD, author = "Gad M. Landau and Uzi Vishkin", title = "Pattern Matching in a Digitized Image", journal = j-ALGORITHMICA, volume = "12", number = "4--5", pages = "375--408", year = "1994", CODEN = "ALGOEJ", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", MRclass = "68T10 (68U10)", MRnumber = "MR1289488 (95e:68189)", bibdate = "Mon Jan 22 05:31:17 MST 2001", bibsource = "dblp-journals-algorithmica.bib; http://dblp.uni-trier.de/db/journals/algorithmica/algorithmica12.html#LandauV94; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/index-table-a.html#algorithmica; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", fjournal = "Algorithmica. An International Journal in Computer Science", journal-URL = "http://link.springer.com/journal/453", oldlabel = "LandauV94", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/algorithmica/LandauV94", } @Article{Lestree:1994:URU, author = "L. Lestree", title = "Unit Route Upper Bound for String-Matching on Hypercube", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "136--145", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @Article{Lopez-Ortiz:1994:LPM, author = "Alejandro L{\'o}pez-Ortiz", title = "Linear pattern matching of repeated substrings", journal = j-SIGACT, volume = "25", number = "3", pages = "114--121", month = sep, year = "1994", CODEN = "SIGNDM", DOI = "https://doi.org/10.1145/193820.193842", ISSN = "0163-5700 (print), 1943-5827 (electronic)", ISSN-L = "0163-5700", bibdate = "Wed Mar 21 09:45:53 MDT 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigact.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGACT News", journal-URL = "http://dl.acm.org/citation.cfm?id=J697", } @Article{Luczak:1994:LDC, author = "T. Luczak and W. Szpankowski", title = "A Lossy Data Compression Based on String Matching: Preliminary Analysis and Suboptimal Algorithms", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "102--112", year = "1994", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @Article{Lustman:1994:STB, author = "F. Lustman", title = "Specifying transaction-based information systems with regular expressions", journal = j-IEEE-TRANS-SOFTW-ENG, volume = "20", number = "3", pages = "207--217", month = mar, year = "1994", CODEN = "IESEDJ", DOI = "https://doi.org/10.1109/32.268922", ISSN = "0098-5589 (print), 1939-3520 (electronic)", ISSN-L = "0098-5589", bibdate = "Thu Feb 1 11:00:42 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=268922", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Software Engineering", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32", } @Article{Maeder:1994:MPL, author = "Roman E. Maeder", title = "The {Mathematica} Programmer: Logic Programming {I}: The Interpreter", journal = j-MATHEMATICA-J, volume = "4", number = "1", pages = "53--63", month = "Winter", year = "1994", CODEN = "????", ISSN = "1047-5974 (print), 1097-1610 (electronic)", ISSN-L = "1047-5974", bibdate = "Sat Nov 6 13:33:52 MDT 2010", bibsource = "http://www.mathematica-journal.com/issue/v4i1/; https://www.math.utah.edu/pub/tex/bib/mathematica.bib; https://www.math.utah.edu/pub/tex/bib/mathematicaj.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.mathematica-journal.com/issue/v4i1/columns/maeder/53-63_Roman41.mj.pdf; http://www.mathematica-journal.com/issue/v4i1/columns/maeder/index.html", abstract = "This is the first of two columns on logic programming. It gives an introduction to the subject and develops a query evaluator in Mathematica. This query evaluator is an interpreter for a subset of the programming language Prolog. A prerequisite for it is unification, which is a generalization of the pattern matching that underlies Mathematica's own evaluator.", acknowledgement = ack-ble # " and " # ack-nhfb, fjournal = "Mathematica Journal", journal-URL = "http://www.mathematica-journal.com/", } @Article{Manber:1994:AAM, author = "Udi Manber and Sun Wu", title = "An Algorithm for approximate membership checking with application to password security", journal = j-INFO-PROC-LETT, volume = "50", number = "4", pages = "191--197", day = "25", month = may, year = "1994", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/; https://www.math.utah.edu/pub/tex/bib/cryptography1990.bib; https://www.math.utah.edu/pub/tex/bib/infoproc.bib; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/spell.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Given a large set of words W, we want to be able to determine quickly whether a query word q is close to any word in the set. A new data structure is presented that allows such queries to be answered very quickly even for huge sets if the words are not too long and the query is quite close. The major application is in limiting password guessing by verifying, before a password is approved, that the password is not too close to a dictionary word. Other applications include spelling correction of bibliographic files and approximate matching.", acknowledgement = ack-nhfb, affiliation = "Univ of Arizona", affiliationaddress = "Tucson, AZ, USA", classification = "723.2; 723.3; C6120 (File organisation); C6130S (Data security)", corpsource = "Dept. of Comput. Sci., Arizona Univ., Tucson, AZ, USA", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Algorithms; approximate matching; approximate membership checking; Approximate string matching; bibliographic files; Bibliographic files; bibliographic files; Bibliographic files; Bloom filters; Codes (symbols); Cryptography; data structure; Data structures; data structures; Data structures; data structures; Data structures; password guessing; Password security; password security; Password security; Query languages; query word; Security of data; security of data; Security of data; security of data; Security of data; Spell checking; spelling correction", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Manber:1994:TCS, author = "U. Manber", title = "A Text Compression Scheme that Allows Fast Searching Directly in the Compressed File", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "113--124", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @Article{Matos:1994:PSI, author = "Armando B. Matos", title = "Periodic sets of integers", journal = j-THEOR-COMP-SCI, volume = "127", number = "2", pages = "287--312", day = "23", month = may, year = "1994", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:18:08 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1994&volume=127&issue=2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", note = "See remark \cite{Petersen:1995:RPB}.", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1994&volume=127&issue=2&aid=1479", acknowledgement = ack-nhfb, classification = "C1160 (Combinatorial mathematics); C4210 (Formal logic); C4220 (Automata theory)", corpsource = "Centro de Inf., Porto Univ., Portugal", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "concatenation; context-free language; context-free languages; directed graph; directed graphs; finite automata; Kleene closure; periodic sets of integers; regular expressions", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Mohri:1994:MST, author = "M. Mohri", title = "Minimization of Sequential Transducers", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "151--163", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @Article{Munoz:1994:MTW, author = "J. Munoz", title = "Manual {TIG} welding and control chart advisor. {A} prototype program in {Common Lisp} using pattern matching techniques", journal = "Quality Engineering", volume = "7", number = "2", pages = "277--??", year = "1994\slash 1995", CODEN = "QUENE7", ISSN = "0898-2112", bibdate = "Tue Sep 28 07:51:05 MDT 1999", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/common-lisp.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, journalabr = "Qual Eng", keywords = "Common Lisp", } @Article{Oda:1994:PDC, author = "M. Oda and T. Kakeshita", title = "Pitfall detection of {C} programs using pattern matching", journal = j-TRANS-INFO-PROCESSING-SOC-JAPAN, volume = "35", number = "11", pages = "2427--2436", month = nov, year = "1994", CODEN = "JSGRD5", ISSN = "0387-5806", ISSN-L = "0387-5806", bibdate = "Wed Oct 30 05:47:28 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The programming language C has a flexible structure and its compiler generates compact and efficient object codes. However the compiler cannot detect some types of bugs hidden in the program. We are developing a software tool Fall-in C to detect such types of bugs, or pitfalls, in C programs. In contrast with lint, Fall-in C is executed within GNU Emacs editor in order to enable a programmer to correct the detected pitfalls immediately. Furthermore Fall-in C uses pattern matching for pitfall detection so that programmers can augment the detectable pitfall types by adding the corresponding patterns. Fall-in C uses both regular expression searching and structural pattern matching in order to detect pitfalls in C programs. A regular expression can efficiently detect lexical pitfalls while it detects erroneous pitfalls during syntactic pitfall detection. Although structural pattern matching requires syntactic analysis and thus cannot detect certain types of lexical pitfalls, it can properly detect syntactic pitfalls. We evaluated the tool using 180 C source files (2.9 MB total) and demonstrated that Fall-in C correctly detects 16 types of pitfalls.", acknowledgement = ack-nhfb, affiliation = "Dept. of Inf. Sci. and Electron. Eng., Kurume Inst. of Technol., Japan", classification = "C1250 (Pattern recognition); C4210L (Formal languages and computational linguistics); C6115 (Programming support); C6140D (High level languages); C6150G (Diagnostic, testing, debugging and evaluating systems)", fjournal = "Transactions of the Information Processing Society of Japan", keywords = "C programming language; C programs; Compiler; Fall-in C; GNU Emacs editor; Lexical pitfalls; Object codes; Pitfall detection; Pitfall types; Regular expression searching; Software tool; Structural pattern matching; Syntactic pitfall detection; Syntactic pitfalls", language = "Japanese", pubcountry = "Japan", thesaurus = "C language; Computational linguistics; Pattern matching; Program debugging; Software tools", } @InProceedings{Ohtani:1994:EITa, author = "T. Ohtani and H. Sawamura and T. Minami", title = "{EUODHILOS-II} on top of {GNU Epoch}", crossref = "Bundy:1994:ADC", volume = "814", pages = "816--820", year = "1994", bibdate = "Wed Oct 30 10:18:39 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "EUODHILOS-II is implemented on the GNU Epoch editor in the Emacs Lisp language. GNU Emacs produced by the GNU project is familiar to many users as a text editor, which exceeds in the ease to extend. Moreover it has the various functions for such text processing as syntactic analysis and searching with regular expressions. Epoch is an extension of GNU Emacs for the X Window System, which can manipulate multiple windows. Operations are keyboard-oriented and the usual editing commands are available in the comment, syntax definition and side condition editors. Users can customize EUODHILOS-II as they wish. The size of the source code of EUODHILOS-II is about 300K bytes.", acknowledgement = ack-nhfb, affiliation = "Inst. for Social Inf. Sci., Fujitsu Labs. Ltd., Shizuoka, Japan", classification = "C4210L (Formal languages and computational linguistics); C6110L (Logic programming); C6170K (Knowledge engineering techniques)", keywords = "Emacs Lisp language; EUODHILOS-II; GNU Epoch editor; Side condition editors; Syntactic analysis; Syntax definition; Text editor; Text processing; X Window System", thesaurus = "Context-free grammars; Inference mechanisms; Logic programming; Theorem proving", } @InProceedings{Ohtani:1994:EITb, author = "T. Ohtani and H. Sawamura and T. Minami", title = "{EUODHILOS-II} on top of {GNU Epoch}", crossref = "Bundy:1994:ADC", pages = "816--820", month = "", year = "1994", bibdate = "Wed Oct 30 05:47:28 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "EUODHILOS-II is implemented on the GNU Epoch editor in the Emacs Lisp language. GNU Emacs produced by the GNU project is familiar to many users as a text editor, which exceeds in the ease to extend. Moreover it has the various functions for such text processing as syntactic analysis and searching with regular expressions. Epoch is an extension of GNU Emacs for the X Window System, which can manipulate multiple windows. Operations are keyboard-oriented and the usual editing commands are available in the comment, syntax definition and side condition editors. Users can customize EUODHILOS-II as they wish. The size of the source code of EUODHILOS-II is about 300K bytes.", acknowledgement = ack-nhfb, affiliation = "Inst. for Social Inf. Sci., Fujitsu Labs. Ltd., Shizuoka, Japan", classification = "C4210L (Formal languages and computational linguistics); C6110L (Logic programming); C6170K (Knowledge engineering techniques)", keywords = "Emacs Lisp language; EUODHILOS-II; GNU Epoch editor; Side condition editors; Syntactic analysis; Syntax definition; Text editor; Text processing; X Window System", thesaurus = "Context-free grammars; Inference mechanisms; Logic programming; Theorem proving", } @InProceedings{Ohtani:1994:ETG, author = "T. Ohtani and H. Sawamura and T. Minami", title = "{EUODHILOS-II} on top of {GNU Epoch}", crossref = "Bundy:1994:ADC", pages = "816--820", month = "", year = "1994", bibdate = "Wed Oct 30 05:47:28 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "EUODHILOS-II is implemented on the GNU Epoch editor in the Emacs Lisp language. GNU Emacs produced by the GNU project is familiar to many users as a text editor, which exceeds in the ease to extend. Moreover it has the various functions for such text processing as syntactic analysis and searching with regular expressions. Epoch is an extension of GNU Emacs for the X Window System, which can manipulate multiple windows. Operations are keyboard-oriented and the usual editing commands are available in the comment, syntax definition and side condition editors. Users can customize EUODHILOS-II as they wish. The size of the source code of EUODHILOS-II is about 300K bytes.", acknowledgement = ack-nhfb, affiliation = "Inst. for Social Inf. Sci., Fujitsu Labs. Ltd., Shizuoka, Japan", classification = "C4210L (Formal languages and computational linguistics); C6110L (Logic programming); C6170K (Knowledge engineering techniques)", keywords = "Emacs Lisp language; EUODHILOS-II; GNU Epoch editor; Side condition editors; Syntactic analysis; Syntax definition; Text editor; Text processing; X Window System", thesaurus = "Context-free grammars; Inference mechanisms; Logic programming; Theorem proving", } @Article{Otto:1994:TFP, author = "Erick Otto", title = "Two Fast Pattern-Matching Algorithms", journal = j-CUJ, volume = "12", number = "2", pages = "39--??", month = feb, year = "1994", ISSN = "0898-9788", bibdate = "Fri Aug 30 16:52:23 MDT 1996", bibsource = "http://www.cuj.com/cbklist.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "C Users Journal", } @Article{Percus:1994:SMN, author = "Ora E. Percus and Jerome K. Percus", title = "String matching for the novice", journal = j-AMER-MATH-MONTHLY, volume = "101", number = "10", pages = "944--947", month = dec, year = "1994", CODEN = "AMMYAE", ISSN = "0002-9890 (print), 1930-0972 (electronic)", ISSN-L = "0002-9890", MRclass = "60C05", MRnumber = "1 304 317", bibdate = "Wed Dec 3 17:17:33 MST 1997", bibsource = "http://www.jstor.org/journals/00029890.htm; https://www.math.utah.edu/pub/tex/bib/amermathmonthly1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "American Mathematical Monthly", journal-URL = "https://www.jstor.org/journals/00029890.htm", } @Article{Perleberg:1994:SCS, author = "Chris H. Perleberg", title = "Single character searching methods and the shift-or pattern-matching algorithm", journal = j-INFO-PROC-LETT, volume = "50", number = "5", pages = "269--275", day = "10", month = jun, year = "1994", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Univ de Chile", affiliationaddress = "Santiago, Chile", classification = "721; 723; 921; C1250 (Pattern recognition); C4240 (Programming and algorithm theory)", conferenceyear = "1994", corpsource = "Dept. de Ciencias de la Comput., Chile Univ., Santiago, Chile", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "algorithm theory; Algorithms; approximate pattern matching; C (programming language); Data processing; longest substring searching; Parallel processing systems; Pattern matching; Pattern recognition; pattern recognition; shift-or pattern-matching algorithm; Single character searching (SCS); single character searching methods; String searching; tuned Boyer--Moore implementation", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Petersen:1994:RSM, author = "H. Petersen", title = "Refined simulation of multihead automata", journal = j-INFO-PROC-LETT, volume = "52", number = "5", pages = "229--233", day = "9", month = dec, year = "1994", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68Q68", MRnumber = "95j:68114", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Universitaet Hamburg", affiliationaddress = "Hamburg, Ger", classification = "721.1; 722.1; 723.5; C4220 (Automata theory); C4240C (Computational complexity)", corpsource = "Fachbereich Inf., Hamburg Univ., Germany", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "algorithms; Automata theory; automata theory; complexity theory; Computational complexity; computational complexity; computer science; Computer simulation; Data storage equipment; Finite automata; Formal languages; formal languages; input tape; Magnetic tape; Multihead automata; multihead automata; one-way models; refined simulation; String matching; string-matching", treatment = "T Theoretical or Mathematical", } @Article{Phillips:1994:ASM, author = "Thomas Phillips", title = "Approximate String Matching", journal = j-CUJ, volume = "12", number = "4", pages = "77--??", month = apr, year = "1994", ISSN = "0898-9788", bibdate = "Fri Aug 30 16:52:23 MDT 1996", bibsource = "http://www.cuj.com/cbklist.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "C Users Journal", } @Article{Prasad:1994:EEP, author = "Sushil K. Prasad and Sajal K. Das and Calvin C.-Y. Chen", title = "Efficient {EREW PRAM} algorithms for parentheses-matching", journal = j-IEEE-TRANS-PAR-DIST-SYS, volume = "5", number = "9", pages = "995--1008", month = sep, year = "1994", CODEN = "ITDSEO", ISSN = "1045-9219 (print), 1558-2183 (electronic)", ISSN-L = "1045-9219", bibdate = "Fri Apr 11 15:20:39 MDT 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/ieeetranspardistsys.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Georgia State Univ", affiliationaddress = "Atlanta, GA, USA", classification = "722.1; 723.1; 723.2; 921.2; 921.5; C4240P (Parallel programming and algorithm theory); C5440 (Multiprocessor systems and techniques); C6120 (File organisation); C6130 (Data handling techniques)", corpsource = "Dept. of Math. and Comput. Sci., Georgia State Univ., Atlanta, GA, USA", fjournal = "IEEE Transactions on Parallel and Distributed Systems", journal-URL = "http://www.computer.org/tpds/archives.htm", journalabr = "IEEE Trans Parallel Distrib Syst", keywords = "access storage; algorithms; Algorithms; algorithms; arrays; Computational complexity; computational complexity; Data handling; Data structures; data structures; EREW PRAM algorithms; exclusive-read and exclusive-write; input string; Integral equations; Optimal algorithms; Optimization; parallel; parallel algorithms; parallel machines; Parallel processing systems; parallel random-access machine; Parentheses matching problem; parentheses-matching; Parsing; pattern recognition; polylog-time; PRAM model; Random access storage; random-; Sequential algorithms; space complexity; Subroutines; time complexity; time-optimal; working space", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Ramesh:1994:RMR, author = "R. Ramesh", title = "{R}${}^2$-{M}: a reconfigurable rewrite machine", journal = j-PARALLEL-PROCESS-LETT, volume = "4", number = "1-2", pages = "171--180", month = jun, year = "1994", CODEN = "PPLTEE", ISSN = "0129-6264", bibdate = "Mon Apr 14 10:50:40 MDT 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/parallelprocesslett.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Univ of Texas at Dallas", affiliationaddress = "Richardson, TX, USA", classification = "721.1; 722.1; 722.4; 723.1; 723.2; 921.4; 921.6; C4210 (Formal logic); C4240 (Programming and algorithm theory); C5220P (Parallel architecture); C7310 (Mathematics)", corpsource = "Dept. of Comput. Sci., Texas Univ., Dallas, TX, USA", countrypub = "Singapore", fjournal = "Parallel Processing Letters", journal-URL = "http://www.worldscientific.com/loi/ppl", journalabr = "Parallel Process Lett", keywords = "architecture; Boolean algebra; Cellular arrays; Computation theory; Computational complexity; Computational methods; Computer architecture; Data handling; Data processing; Data storage equipment; fixed capacity auxiliary memory units; formula manipulation; Function evaluation; nonprocedural programming languages; Normalization; parallel; parallel architectures; Parallel architectures; parallel pattern matching; Parallel processing systems; Pattern matching; proving; R$^2$M; reconfigurable architectures; reconfigurable rewrite machine; Reconfigurable rewrite machine; rewriting systems; symbol manipulation; symbolic computations; term rewriting; Term rewriting; theorem; theorem proving; Theorem proving; Trees (mathematics)", treatment = "P Practical", } @Article{RaoKosaraju:1994:CSS, author = "S. {Rao Kosaraju}", title = "Computation of Squares in a String", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "146--150", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @Article{Sahinalp:1994:PAM, author = "S. C. Sahinalp and U. Vishkin", title = "On a Parallel-Algorithms Method for String Matching Problems", journal = j-LECT-NOTES-COMP-SCI, volume = "778", pages = "22--??", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:52:14 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Sakakibara:1994:RMR, author = "Y. Sakakibara and M. Brown and R. Hughey and I. S. Mian", title = "Recent Methods for {RNA} Modeling Using Stochastic Context-Free Grammars", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "289--306", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @Article{Sanchez-Couso:1994:ACA, author = "J. R. Sanchez-Couso and M. I. Fernandez-Camacho", title = "Average-case Analysis of Pattern-Matching in Trees under the {BST} Probability Model", journal = j-LECT-NOTES-COMP-SCI, volume = "820", pages = "178--??", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:52:14 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Senoussi:1994:QAT, author = "H. Senoussi and A. Saoudi", title = "A quadtree algorithm for template matching on a pyramid computer", journal = j-THEOR-COMP-SCI, volume = "136", number = "2", pages = "387--417", day = "29", month = dec, year = "1994", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:18:42 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1994&volume=136&issue=2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1990.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1994&volume=136&issue=2&aid=1661", acknowledgement = ack-nhfb, classification = "C1160 (Combinatorial mathematics); C1250 (Pattern recognition); C4240C (Computational complexity)", corpsource = "LIPN, Univ. de Paris-Nord, Villetaneuse, France", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "computational complexity; pattern matching; pyramid computer; quadtree algorithm; quadtrees; template matching; time complexity", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Sheng:1994:PMB, author = "Ke-Ning Sheng and Joseph I. Naus", title = "Pattern matching between two non-aligned random sequences", journal = j-BULL-MATH-BIOL, volume = "56", number = "6", pages = "1143--1162", month = nov, year = "1994", CODEN = "BMTBAP", DOI = "https://doi.org/10.1007/BF02460290", ISSN = "0092-8240 (print), 1522-9602 (electronic)", ISSN-L = "0092-8240", bibdate = "Wed Jun 28 16:16:34 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/bullmathbiol.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/BF02460290", acknowledgement = ack-nhfb, fjournal = "Bulletin of Mathematical Biology", journal-URL = "http://link.springer.com/journal/11538", } @Article{Simon:1994:SMA, author = "I. Simon", title = "String Matching Algorithms and Automata", journal = j-LECT-NOTES-COMP-SCI, volume = "812", pages = "386--395", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "important results; TCS; theoretical computer science", } @Article{Siromoney:1994:ILW, author = "Rani Siromoney and Lisa Mathew and V. R. Dare and K. G. Subramanian", title = "Infinite {Lyndon} words", journal = j-INFO-PROC-LETT, volume = "50", number = "2", pages = "101--104", day = "22", month = apr, year = "1994", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68Q45 (68R15)", MRnumber = "95f:68129", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Madras Christian Coll", affiliationaddress = "Madras, India", classification = "721.1; 723.1; 921.4; 922.1; C4210 (Formal logic); C4220 (Automata theory)", conferenceyear = "1994", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Algorithms; Automata theory; automata theory; Cantor space; Factorization; Formal languages; formal languages; Homeomorphism; homeomorphism; infinite Lyndon word; Infinite words; Lyndon words; Pattern matching; Pattern recognition; prefix preserving Lyndon words; Queue automata; queue automaton; Queueing theory; Set theory; topological properties; Topology", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Smith:1994:TBM, author = "P. D. Smith", title = "On Tuning the {Boyer--Moore--Horspool} String Searching Algorithm", journal = j-SPE, volume = "24", number = "4", pages = "435--436", month = apr, year = "1994", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.4380240408", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.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", keywords = "algorithm design; Boyer--Moore string searching", onlinedate = "30 Oct 2006", } @Book{Stephen:1994:SSA, author = "Graham A. Stephen", title = "String Searching Algorithms", volume = "3", publisher = pub-WORLD-SCI, address = pub-WORLD-SCI:adr, pages = "xii + 243", year = "1994", ISBN = "981-02-1829-X (hardcover)", ISBN-13 = "978-981-02-1829-4 (hardcover)", LCCN = "QA76.9.A43 S73 1994", bibdate = "Sat Jul 14 17:06:23 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = "Lecture notes series on computing", abstract = "String searching is a subject of both theoretical and practical interest in computer science. This book presents a bibliographic overview of the field and an anthology of detailed descriptions of the principal algorithms available. The aim is twofold: on the one hand, to provide an easy-to-read comparison of the available techniques in each area, and on the other, to furnish the reader with a reference to in-depth descriptions of the major algorithms. Topics covered include methods for finding exact and approximate o string matches, calculating `edit' distances between strings, finding common \ldots{}", acknowledgement = ack-nhfb, libnote = "Not yet in my library.", tableofcontents = "1: Introduction \\ 2: String Matching \\ 3: String Distance and Common Sequences \\ 4: Suffix Trees \\ 5: Approximate String Matching \\ 6: Repeated Substrings \\ A: Asymptotic Notation \\ B: String Symbology", } @Article{Takaoka:1994:APM, author = "T. Takaoka", title = "Approximate Pattern Matching with Samples", journal = j-LECT-NOTES-COMP-SCI, volume = "834", pages = "234--??", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 13 11:52:14 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Tang:1994:MMN, author = "S. Tang and K. Zhang and X. Wu", title = "Matching with Matrix Norm Minimization", journal = j-LECT-NOTES-COMP-SCI, volume = "807", pages = "250--258", year = "1994", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "combinatorial pattern matching; CPM", } @Article{Wagman:1994:UIM, author = "D. Wagman and M. Schneider and E. Shnaider", title = "On the use of interval mathematics in fuzzy expert systems", journal = j-INT-J-INTELL-SYSTEMS, volume = "9", number = "2", pages = "241--259", month = feb, year = "1994", CODEN = "IJISED", ISSN = "0884-8173 (print), 1098-111x (electronic)", ISSN-L = "0884-8173", bibdate = "Thu Dec 14 17:23:52 MST 1995", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Fuzzy expert systems attempt to model the cognitive processes of human experts. They accomplish this by capturing knowledge in the form of linguistic propositions. Real-world problems dictate the need to include mathematical knowledge as well. Pattern matching is a critical part of the inference procedure in expert systems. Matches are made between data clauses, premise clauses, and conclusion clauses, forming an inference chain. Preprocessing the clauses may generate intervals of real numbers which are compared in the fuzzy matching algorithm. These same intervals may be used in arithmetic expressions. The purpose of this article is to devise a method for incorporating arithmetic expressions into inference process of fuzzy expert systems. Interval arithmetic is used to evaluate these expressions. Logical relations between intervals are analyzed using probability theory.", acknowledgement = ack-nhfb, affiliation = "Harris Gov. Aerosp. Syst. Div., Melbourne, FL, USA", classification = "C1140 (Probability and statistics); C1230 (Artificial intelligence); C4210 (Formal logic); C6170 (Expert systems)", fjournal = "International Journal of Intelligent Systems", keywords = "Cognitive process; Conclusion clauses; Data clauses; Fuzzy expert systems; Fuzzy matching algorithm; Human experts; Inference procedure; Interval arithmetic; Interval mathematics; Knowledge capture; Linguistic proposition; Logical relations; Mathematical knowledge; Pattern matching; Premise clauses; Probability theory", pubcountry = "USA", thesaurus = "Expert systems; Fuzzy logic; Inference mechanisms; Knowledge acquisition; Probability; Uncertainty handling", } @InProceedings{Wang:1994:CPDa, author = "Jason Tsong-Li Wang and Gung-Wei Chirn and Thomas G. Marr and Bruce Shapiro and Dennis Shasha and Kaizhong Zhang", title = "Combinatorial pattern discovery for scientific data: some preliminary results", crossref = "Snodgrass:1994:PAS", pages = "115--125", year = "1994", bibdate = "Wed Oct 25 12:40:13 MDT 2000", bibsource = "http://www.acm.org/pubs/contents/proceedings/series/sigmod_pods/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/articles/proceedings/mod/191839/p115-wang/p115-wang.pdf; http://www.acm.org/pubs/citations/proceedings/mod/191839/p115-wang/", abstract = "Suppose you are given a set of natural entities (e.g., proteins, organisms, weather patterns, etc.) that possess some important common externally observable properties. You also have a structural description of the entities (e.g., sequence, topological, or geometrical data) and a distance metric. Combinatorial pattern discovery is the activity of finding patterns in the structural data that might explain these common properties based on the metric. \par This paper presents an example of combinatorial pattern discovery: the discovery of patterns in protein databases. The structural representation we consider are strings and the distance metric is string edit distance permitting variable length don't cares. Our techniques incorporate string matching algorithms and novel heuristics for discovery and optimization, most of which generalize to other combinatorial structures. Experimental results of applying the techniques to both generated data and functionally related protein families obtained from the Cold Spring Harbor Laboratory show the effectiveness of the proposed techniques. When we apply the discovered patterns to perform protein classification, they give information that is complementary to the best protein classifier available today.", acknowledgement = ack-nhfb, generalterms = "Algorithms; Experimentation; Measurement; Performance", subject = "Information Systems --- Database Management --- Systems (H.2.4): {\bf Query processing}; Theory of Computation --- Analysis of Algorithms and Problem Complexity --- Nonnumerical Algorithms and Problems (F.2.2): {\bf Pattern matching}; Computer Applications --- Life and Medical Sciences (J.3): {\bf Biology and genetics}; Data --- Data Structures (E.1): {\bf Trees}; Mathematics of Computing --- Discrete Mathematics --- Combinatorics (G.2.1)", } @Article{Wang:1994:CPDb, author = "Jason Tsong-Li Wang and Gung-Wei Chirn and Thomas G. Marr and Bruce Shapiro and Dennis Shasha and Kaizhong Zhang", title = "Combinatorial Pattern Discovery for Scientific Data: Some Preliminary Results", journal = j-SIGMOD, volume = "23", number = "2", pages = "115--125", month = jun, year = "1994", CODEN = "SRECD8", ISSN = "0163-5808 (print), 1943-5835 (electronic)", ISSN-L = "0163-5808", bibdate = "Mon Jan 12 08:45:48 MST 2004", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigmod.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Dept. of Comput. and Inf. Sci., New Jersey Inst. of Technol., Newark, NJ, USA", classification = "C1160 (Combinatorial mathematics); C1180 (Optimisation techniques); C1250 (Pattern recognition); C7330 (Biology and medicine)", fjournal = "SIGMOD Record (ACM Special Interest Group on Management of Data)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J689", keywords = "Combinatorial pattern discovery; Common externally observable properties; Data mining; Discovery heuristics; Distance metric; Natural entities; Optimization heuristics; Protein classification; Protein databases; Scientific data; String edit distance; String matching algorithms; Structural description; Variable-length don't cares", thesaurus = "Biology computing; Combinatorial mathematics; Natural sciences computing; Optimisation; Pattern recognition; Proteins", xxcrossref = "Anonymous:1994:ASI", } @MastersThesis{Weatherford:1994:HLP, author = "Stephen Andrew Weatherford", title = "High-level pattern-matching extensions to {C++} for {Fortran} Program Manipulation in {Polaris}", type = "Thesis (M.S)", school = "University of Illinois at Urbana-Champaign", address = "Urbana, IL, USA", pages = "viii + 104", year = "1994", bibdate = "Sat Jan 27 13:40:57 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/fortran3.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Weber:1994:APP, author = "G. Weber and L. Knipping and H. Alt", title = "An Application of Point Pattern Matching in Astronautics", journal = j-J-SYMBOLIC-COMP, volume = "17", number = "4", pages = "321--340", month = apr, year = "1994", CODEN = "JSYCEH", ISSN = "0747-7171 (print), 1095-855X (electronic)", ISSN-L = "0747-7171", bibdate = "Wed Mar 19 13:51:24 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/jsymcomp.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classcodes = "C7350 (Astronomy and astrophysics); C1250 (Pattern recognition); C4260 (Computational geometry)", corpsource = "Inst. fur Inf., Freie Univ., Berlin, Germany", fjournal = "Journal of Symbolic Computation", journal-URL = "http://www.sciencedirect.com/science/journal/07477171", keywords = "astronautics; astronomy computing; computational geometry; constellations; incremental Delaunay triangulation; pattern; point pattern matching; recognition; satellite attitude determination; Special Issue on Algorithms: Implementation, Libraries and Use; star field sensors", treatment = "A Application; P Practical", } @Article{Wright:1994:ASM, author = "Alden H. Wright", title = "Approximate String Matching using Within-word Parallelism", journal = j-SPE, volume = "24", number = "4", pages = "337--362", month = apr, year = "1994", CODEN = "SPEXBL", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", keywords = "approximate string matching; approximate string searching; DNA sequence matching; edit distance; parallel algorithm; parallel computation; pseudo-parallelism", } @Article{Akutsu:1995:ASM, author = "Tatsuya Akutsu", title = "Approximate string matching with don't care characters", journal = j-INFO-PROC-LETT, volume = "55", number = "5", pages = "235--239", day = "15", month = sep, year = "1995", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68Q20", MRnumber = "96d:68079", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C4240 (Programming and algorithm theory); C6130 (Data handling techniques)", corpsource = "Dept. of Comput. Sci., Gunma Univ., Japan", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", keywords = "approximate string matching; don't care characters; k- differences problem; pattern string; string matching; text string", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Antimirov:1995:PDR, author = "V. Antimirov", title = "Partial Derivatives of Regular Expressions and Finite Automata Constructions", journal = j-LECT-NOTES-COMP-SCI, volume = "900", pages = "455--??", year = "1995", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat May 11 13:45:32 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Antimirov:1995:RER, author = "Valentin M. Antimirov and Peter D. Mosses", title = "Rewriting extended regular expressions", journal = j-THEOR-COMP-SCI, volume = "143", number = "1", pages = "51--72", day = "29", month = may, year = "1995", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:19:06 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1995&volume=143&issue=1; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1995&volume=143&issue=1&aid=1726", acknowledgement = ack-nhfb, classification = "C1230 (Artificial intelligence); C4210L (Formal languages and computational linguistics); C6170K (Knowledge engineering techniques)", corpsource = "CRIN, Inst. Nat. de Recherche en Inf. et Autom., Villers-les-Nancy, France", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "complete Horn-equational axiomatization; distributive lattice; extended algebra; extended regular expressions rewriting; Horn clauses; inference mechanisms; intersection; logical inferences; monotonic operations; regular events; rewriting systems; term-rewriting techniques; valid equations", pubcountry = "Netherlands", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Boyer:1995:BMT, author = "R. S. Boyer and M. Kaufmann and J. S. Moore", title = "The {Boyer--Moore} theorem prover and its interactive enhancement", journal = j-COMPUT-MATH-APPL, volume = "29", number = "2", pages = "27--62", month = jan, year = "1995", CODEN = "CMAPDK", ISSN = "0898-1221 (print), 1873-7668 (electronic)", ISSN-L = "0898-1221", bibdate = "Wed Mar 1 19:11:26 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/computmathappl1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/0898122194002157", acknowledgement = ack-nhfb, fjournal = "Computers and Mathematics with Applications", journal-URL = "http://www.sciencedirect.com/science/journal/08981221", } @Article{Brazma:1995:LRE, author = "A. Brazma", title = "Learning of regular expressions by pattern matching", journal = j-LECT-NOTES-COMP-SCI, volume = "904", pages = "392--??", year = "1995", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat May 11 13:45:32 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Breslauer:1995:ESM, author = "D. Breslauer and L. Gasieniec", title = "Efficient String Matching on Coded Texts", journal = j-LECT-NOTES-COMP-SCI, volume = "937", pages = "27--??", year = "1995", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat May 11 13:45:32 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Breslauer:1995:FPS, author = "Dany Breslauer", title = "Fast parallel string prefix-matching", journal = j-THEOR-COMP-SCI, volume = "137", number = "2", pages = "269--278", day = "23", month = jan, year = "1995", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:18:46 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1995&volume=137&issue=2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1995&volume=137&issue=2&aid=1811", acknowledgement = ack-nhfb, classification = "C4240P (Parallel programming and algorithm theory); C6130 (Data handling techniques)", corpsource = "Dept. of Comput. Sci., Aarhus Univ., Denmark", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "CRCW-PRAM algorithm; KMP failure function; parallel algorithms; parallel string prefix-matching; string matching", pubcountry = "Netherlands", treatment = "P Practical", } @Article{Bunke:1995:FAM, author = "H. Bunke", title = "Fast Approximate Matching of Words Against a Dictionary", journal = j-COMPUTING, volume = "55", number = "1", pages = "75--89", month = mar, year = "1995", CODEN = "CMPTA2", ISSN = "0010-485X (print), 1436-5057 (electronic)", ISSN-L = "0010-485X", MRclass = "68Q20 (90C39)", MRnumber = "96f:68050", bibdate = "Fri Oct 15 15:40:49 MDT 1999", bibsource = "Compendex database; http://springerlink.metapress.com/openurl.asp?genre=journal&issn=0010-485X; http://www.springer.at/springer.py?Page=40&Key=362&cat=3&id_journal=8; https://www.math.utah.edu/pub/tex/bib/computing.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database; OCLC Contents1st database", URL = "http://www.springer.at/springer.py?Page=10&Key=362&cat=300607/tocs/springer.py?Page=47&Key=340&cat=3&id_abstract=265&id_volume=21&id_journal=8", acknowledgement = ack-nhfb, classification = "721.1; 723.1; 723.2; 903.2; 903.3", fjournal = "Computing", journal-URL = "http://link.springer.com/journal/607", journalabr = "Comput Vienna New York", keywords = "Algorithms; Character sets; Computational methods; Data processing; Dictionary lookup; Finite automata; Finite state automaton; Information retrieval; Natural language processing systems; Nearest neighbor search; String edit distance; String matching; Terminology", } @Article{Bunke:1995:IAC, author = "H. Bunke and J. Csirik", title = "An improved algorithm for computing the edit distance of run-length coded strings", journal = j-INFO-PROC-LETT, volume = "54", number = "2", pages = "93--96", day = "28", month = apr, year = "1995", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C4240C (Computational complexity); C6130 (Data handling techniques)", corpsource = "Inst. f{\"u}r Informatik and Angewandte Math., Bern, Switzerland", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", keywords = "computational complexity; cost function; edit distance computing; encoding; run-length coded strings; set-set longest common subsequence problem; string matching", treatment = "P Practical; T Theoretical or Mathematical", } @InProceedings{Chen:1995:FPM, author = "Shenfeng Chen and J. H. Reif", title = "Fast pattern matching for entropy bounded text", crossref = "Storer:1995:DDC", pages = "282--291", year = "1995", DOI = "https://doi.org/10.1109/DCC.1995.515518", bibdate = "Tue Feb 5 07:37:21 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=515518", acknowledgement = ack-nhfb, } @InProceedings{Chen:1995:STP, author = "Tzer-Shyong Chen and Feipei Lai and Rung-Ji Shang", title = "A simple tree pattern matching algorithm for code generator", crossref = "IEEE:1995:PNA", pages = "162--167", month = "", year = "1995", LCCN = "????", bibdate = "Wed Oct 30 05:42:27 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "This paper describes a simple tree pattern matching algorithm for the code generator of compilers. The intermediate code (Register Transfer Language) is matched with the tree-rewriting rules of the instruction description which describes the target architecture to generate the assembly code. The hashing function is used in our system to transform a tree pattern matching problem into a simple number comparison. Compared with GNU C compiler (gcc), the tree pattern matching time can be reduced by 69\% and the compiler time by 6\%, and the space of the instruction descriptions can be reduced by 4.10 times on DLX and 2.14 on SPARC. The size of table, which is necessary for the code generator, is quite small in our method.", acknowledgement = ack-nhfb, affiliation = "Dept. of Electr. Eng., Nat. Taiwan Univ., Taipei, Taiwan", classification = "C4240 (Programming and algorithm theory); C6120 (File organisation); C6150C (Compilers, interpreters and other processors)", keywords = "Assembly code; Code generator; Compiler generator; Compiler time; DLX; GNU C compiler; Hashing function; Instruction description; Register Transfer Language; SPARC; Tree pattern matching algorithm; Tree pattern matching time; Tree-rewriting rules", thesaurus = "Assembly language; Compiler generators; File organisation; Pattern matching; Tree searching", } @Article{Chew:1995:GPM, author = "L. P. Chew and D. Dor and A. Efrat and K. Kedem", title = "Geometric Pattern Matching in $d$-Dimensional Space", journal = j-LECT-NOTES-COMP-SCI, volume = "979", pages = "264--??", year = "1995", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat May 11 13:45:32 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Cho:1995:LHC, author = "J.-W. Cho and S.-Y. Lee and C. H. Park", title = "On-line Handwritten Character Recognition by a Hybrid Method based on Neural Networks and Pattern Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "930", pages = "926--??", year = "1995", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat May 11 13:45:32 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Choi:1995:TDP, author = "Y. Choi and T. W. Lam", title = "Two-Dimensional Pattern Matching on a Dynamic Library of Texts", journal = j-LECT-NOTES-COMP-SCI, volume = "959", pages = "530--??", year = "1995", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat May 11 13:45:32 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Chung:1995:FSM, author = "K.-L. Chung", title = "Fast String Matching Algorithms for Run-Length Coded Strings", journal = j-COMPUTING, volume = "54", number = "2", pages = "119--125", month = jun, year = "1995", CODEN = "CMPTA2", ISSN = "0010-485X (print), 1436-5057 (electronic)", ISSN-L = "0010-485X", MRclass = "68Q20 (68Q22 90C39)", MRnumber = "95m:68069", bibdate = "Fri Oct 15 15:40:43 MDT 1999", bibsource = "Compendex database; http://springerlink.metapress.com/openurl.asp?genre=journal&issn=0010-485X; http://www.springer.at/springer.py?Page=40&Key=362&cat=3&id_journal=8; https://www.math.utah.edu/pub/tex/bib/computing.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database; OCLC Contents1st database", URL = "http://www.springer.at/springer.py?Page=10&Key=362&cat=300607/tocs/springer.py?Page=47&Key=340&cat=3&id_abstract=244&id_volume=18&id_journal=8", acknowledgement = ack-nhfb, classification = "723.1; 723.2; 723.5", fjournal = "Computing", journal-URL = "http://link.springer.com/journal/607", journalabr = "Comput Vienna New York", keywords = "Algorithms; Data processing; Encoding (symbols); Knuth--Morris--Pratt algorithm; Parallel algorithms; Pattern recognition; Reconfigurable bus system; Run length coded strings; Sequential algorithm; String matching; Two dimensional mesh", } @Article{Cole:1995:TLB, author = "Richard Cole and Ramesh Hariharan and Mike Paterson and Uri Zwick", title = "Tighter Lower Bounds on the Exact Complexity of String Matching", journal = j-SIAM-J-COMPUT, volume = "24", number = "1", pages = "30--45", month = feb, year = "1995", CODEN = "SMJCAT", DOI = "https://doi.org/10.1137/S0097539793245829", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68Q25 (68R15 68U15)", MRnumber = "96c:68084", MRreviewer = "Helmut Alt", bibdate = "Mon Nov 29 11:02:36 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/24/1; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://epubs.siam.org/sam-bin/dbq/article/24582", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @InProceedings{Consens:1995:AQT, author = "Mariano P. Consens and Tova Milo", title = "Algebras for querying text regions (extended abstract)", crossref = "ACM:1995:PPF", pages = "11--22", year = "1995", bibdate = "Wed Oct 25 08:47:41 MDT 2000", bibsource = "http://www.acm.org/pubs/contents/proceedings/series/sigmod_pods/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/articles/proceedings/pods/212433/p11-consens/p11-consens.pdf; http://www.acm.org/pubs/citations/proceedings/pods/212433/p11-consens/; http://www.acm.org:80/pubs/citations/proceedings/pods/212433/p11-consens/", acknowledgement = ack-nhfb, annote = "Held in conjunction with the 1995 ACM SIGMOD international conference on management of data; Also known as PODS 1995", keywords = "ACM; database systems; documentation; languages; performance; SIGACT; theory", subject = "{\bf I.5.4} Computing Methodologies, PATTERN RECOGNITION, Applications, Text processing. {\bf H.2.3} Information Systems, DATABASE MANAGEMENT, Languages, Query languages. {\bf F.2.2} Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching. {\bf H.3.1} Information Systems, INFORMATION STORAGE AND RETRIEVAL, Content Analysis and Indexing, Indexing methods. {\bf I.1.0} Computing Methodologies, SYMBOLIC AND ALGEBRAIC MANIPULATION, General.", } @Article{Corradini:1995:FAM, author = "F. Corradini and R. {De Nicola} and A. Labella", title = "Fully Abstract Models for Nondeterministic Regular Expressions", journal = j-LECT-NOTES-COMP-SCI, volume = "962", pages = "130--??", year = "1995", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat May 11 13:45:32 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Crochemore:1995:LTA, author = "M. Crochemore and W. Rytter", title = "On Linear-Time Alphabet-Independent $2$-Dimensional Pattern Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "911", pages = "220--??", year = "1995", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat May 11 13:45:32 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Crochemore:1995:SCT, author = "Maxime Crochemore and Wojciech Rytter", title = "Squares, Cubes, and Time-Space Efficient String Searching", journal = j-ALGORITHMICA, volume = "13", number = "5", pages = "405--425", year = "1995", CODEN = "ALGOEJ", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", MRclass = "68Q20 (68Q25 68R15)", MRnumber = "MR1323898 (96d:68080)", bibdate = "Mon Jan 22 05:26:15 MST 2001", bibsource = "dblp-journals-algorithmica.bib; http://dblp.uni-trier.de/db/journals/algorithmica/algorithmica13.html#CrochemoreR95; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", fjournal = "Algorithmica. An International Journal in Computer Science", journal-URL = "http://link.springer.com/journal/453", oldlabel = "CrochemoreR95", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/algorithmica/CrochemoreR95", } @Article{Crochemore:1995:TDP, author = "M. Crochemore and L. Gasieniec and W. Plandowski and W. Rytter", title = "Two-Dimensional Pattern Matching in Linear Time and Small Space", journal = j-LECT-NOTES-COMP-SCI, volume = "900", pages = "181--??", year = "1995", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat May 11 13:45:32 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{deRezende:1995:PSP, author = "P. J. de Rezende and D. T. Lee", title = "Point set pattern matching in {$d$}-dimensions", journal = j-ALGORITHMICA, volume = "13", number = "4", pages = "387--404", year = "1995", CODEN = "ALGOEJ", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", MRclass = "68T10 (52B55 68U05)", MRnumber = "MR1318312 (96c:68173)", MRreviewer = "Hans-Dietrich Hecker", bibdate = "Mon Jan 22 05:34:09 MST 2001", bibsource = "dblp-journals-algorithmica.bib; http://dblp.uni-trier.de/db/journals/algorithmica/algorithmica13.html#RezendeL95; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/index-table-a.html#algorithmica; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", fjournal = "Algorithmica. An International Journal in Computer Science", journal-URL = "http://link.springer.com/journal/453", oldlabel = "RezendeL95", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/algorithmica/RezendeL95", } @Article{Dermouche:1995:FAS, author = "A. Dermouche", title = "A fast algorithm for string matching with mismatches", journal = j-INFO-PROC-LETT, volume = "55", number = "2", pages = "105--110", day = "21", month = jul, year = "1995", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68R15 (68Q20 68U15)", MRnumber = "1 344 788", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C4240 (Programming and algorithm theory); C6130 (Data handling techniques)", corpsource = "Dept. of Comput. Sci., Glasgow Univ., UK", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", keywords = "algorithm theory; alignments; errors; fast algorithm; information retrieval; mismatches; numerical approach; pattern matching; string matching; text searching; wild cards", treatment = "T Theoretical or Mathematical", } @InProceedings{Dubois:1995:EP, author = "Catherine Dubois and Fran{\c{c}}ois Rouaix and Pierre Weis", title = "Extensional polymorphism", crossref = "ACM:1995:CRP", pages = "118--129", year = "1995", bibdate = "Mon May 3 12:52:30 MDT 1999", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org:80/pubs/citations/proceedings/plan/199448/p118-dubois/", abstract = "We present the extensional polymorphism, a framework to type check ad hoc polymorphic functions. This formalism is compatible with parametric polymorphism, and supports a large class of functions defined by structural pattern matching on types.", acknowledgement = ack-nhfb, keywords = "algorithms; languages; verification", subject = "{\bf D.3.3} Software, PROGRAMMING LANGUAGES, Language Constructs and Features, Procedures, functions, and subroutines. {\bf F.3.3} Theory of Computation, LOGICS AND MEANINGS OF PROGRAMS, Studies of Program Constructs, Functional constructs. {\bf F.3.3} Theory of Computation, LOGICS AND MEANINGS OF PROGRAMS, Studies of Program Constructs, Type structure. {\bf D.2.5} Software, SOFTWARE ENGINEERING, Testing and Debugging. {\bf D.3.2} Software, PROGRAMMING LANGUAGES, Language Classifications, ML.", } @InProceedings{Einwohner:1995:STI, author = "T. H. Einwohner and Richard J. Fateman", title = "Searching techniques for integral tables", crossref = "Levelt:1995:IPI", pages = "133--139", year = "1995", bibdate = "Thu Mar 12 08:42:30 MST 1998", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/issac.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org:80/pubs/citations/proceedings/issac/220346/p133-einwohner/", abstract = "We describe the design of data structures and a computer program for storing a table of symbolic indefinite or definite integrals and retrieving user-requested integrals on demand. Typical times are so short that a preliminary look-up attempt prior to any algorithmic integration approach seems justified. In one such test for a table with around 700 entries, matches were found requiring an average of 2.8 milliseconds per request, on a Hewlett Packard 9000/712 workstation.", acknowledgement = ack-nhfb, affiliation = "Dept. of Electr. Eng. and Comput. Sci., California Univ., Berkeley, CA, USA", classification = "C4160 (Numerical integration and differentiation); C6130 (Data handling techniques); C7310 (Mathematics computing)", keywords = "algebraic computation; Algorithmic integration, ISSAC; algorithms; Data structures; design; Integral tables; performance; symbolic computation; Symbolic indefinite integrals", subject = "{\bf I.1.2} Computing Methodologies, SYMBOLIC AND ALGEBRAIC MANIPULATION, Algorithms, Algebraic algorithms. {\bf I.1.3} Computing Methodologies, SYMBOLIC AND ALGEBRAIC MANIPULATION, Languages and Systems. {\bf F.2.2} Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching. {\bf F.2.2} Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Sorting and searching.", thesaurus = "Data structures; Integration; Symbol manipulation; Table lookup", } @Article{Eker:1995:ACM, author = "S. M. Eker", title = "Associative-Commutative Matching Via Bipartite Graph Matching", journal = j-COMP-J, volume = "38", number = "5", pages = "381--399", month = "????", year = "1995", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/38.5.381", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Tue Dec 4 14:48:45 MST 2012", bibsource = "http://comjnl.oxfordjournals.org/content/38/5.toc; http://www3.oup.co.uk/computer_journal/Volume_38/Issue_05/Vol38_05.index.html; https://www.math.utah.edu/pub/tex/bib/compj.bib; https://www.math.utah.edu/pub/tex/bib/compj1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://comjnl.oxfordjournals.org/content/38/5/381.full.pdf+html; http://www3.oup.co.uk/computer_journal/Volume_38/Issue_05/Vol38_05.body.html#AbstractEker", acknowledgement = ack-nhfb, affiliation = "INRIA Lorraine, Villers-les-Nancy, France", classcodes = "C4210L (Formal languages and computational linguistics); C1160 (Combinatorial mathematics); C1180 (Optimisation techniques); C4240 (Programming and algorithm theory); C1250 (Pattern recognition)", classification = "C1160 (Combinatorial mathematics); C1180 (Optimisation techniques); C1250 (Pattern recognition); C4210L (Formal languages and computational linguistics); C4240 (Programming and algorithm theory)", corpsource = "INRIA Lorraine, Villers-les-Nancy, France", email-1 = "eker@CSI.Sri.com", fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", keywords = "associative commutative; Associative commutative; associative-commutative matching; Associative-commutative matching; bipartite graph matching; Bipartite graph matching; complete; Complete matching substitutions; exhaustive search; Exhaustive search; free function symbol; Free function symbol; function symbols; Function symbols; graph matching problems; Graph matching problems; graph theory; matching substitutions; non pathological; Non pathological problem instances; pattern matching; problem instances; problems; rewriting systems; search; search space; Search space; semi pure AC; Semi pure AC systems; systems; term matching; Term matching; variable assignments; Variable assignments", thesaurus = "Graph theory; Pattern matching; Rewriting systems; Search problems", treatment = "T Theoretical or Mathematical", } @InProceedings{Farach:1995:SML, author = "Martin Farach and Mikkel Thorup", title = "String matching in {Lempel--Ziv} compressed strings", crossref = "ACM:1995:PTS", pages = "703--712", year = "1995", bibdate = "Wed Feb 20 18:34:02 MST 2002", bibsource = "http://portal.acm.org/; http://www.acm.org/pubs/contents/proceedings/series/stoc/; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/articles/proceedings/stoc/225058/p703-farach/p703-farach.pdf; http://www.acm.org/pubs/citations/proceedings/stoc/225058/p703-farach/", acknowledgement = ack-nhfb, } @InProceedings{Ferragina:1995:FDD, author = "Paolo Ferragina and Roberto Grossi", title = "A fully-dynamic data structure for external substring search", crossref = "ACM:1995:PTS", pages = "693--702", year = "1995", bibdate = "Wed Feb 20 18:34:02 MST 2002", bibsource = "http://portal.acm.org/; http://www.acm.org/pubs/contents/proceedings/series/stoc/; https://www.math.utah.edu/pub/tex/bib/stoc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/articles/proceedings/stoc/225058/p693-ferragina/p693-ferragina.pdf; http://www.acm.org/pubs/citations/proceedings/stoc/225058/p693-ferragina/", acknowledgement = ack-nhfb, } @InProceedings{Ferragina:1995:OLS, author = "P. Ferragina and R. Grossi", title = "Optimal on-line search and sublinear time update in string matching", crossref = "IEEE:1995:ASF", pages = "604--612", year = "1995", bibdate = "Thu Apr 5 06:13:51 MDT 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Fricker:1995:ICI, author = "Christine Fricker and Olivier Temam and William Jalby", title = "Influence of Cross-Interferences on Blocked Loops: a Case Study with Matrix-Vector Multiply", journal = j-TOPLAS, volume = "17", number = "4", pages = "561--575", month = jul, year = "1995", CODEN = "ATPSDT", ISSN = "0164-0925 (print), 1558-4593 (electronic)", ISSN-L = "0164-0925", bibdate = "Fri Jan 5 07:58:42 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/toplas.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/210185.html", abstract = "State-of-the art data locality optimizing algorithms are targeted for local memories rather than for cache memories. Recent work on cache interferences seems to indicate that these phenomena can severely affect blocked algorithms cache performance. Because of cache conflicts, it is not possible to know the precise gain brought by blocking. It is even difficult to determine for which problem sizes blocking is useful. Computing the actual optimal block size is difficult because cache conflicts are highly irregular. In this article, we illustrate the issue of precisely evaluating cross-interferences in blocked loops with blocked matrix-vector multiply. Most significant interference phenomena are captured because unusual parameters such as array base addresses are being considered. The techniques used allow us to compute the precise improvement due to blocking and the threshold value of problem parameters for which the blocked loop should be preferred. It is also possible to derive an expression of the optimal block size as a function of problem parameters. Finally, it is shown that a precise rather than an approximate evaluation of cache conflicts is sometimes necessary to obtain near-optimal performance.", acknowledgement = ack-nhfb, fjournal = "ACM Transactions on Programming Languages and Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783", keywords = "measurement; performance", subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES, Processors, Optimization. {\bf C.4}: Computer Systems Organization, PERFORMANCE OF SYSTEMS, Modeling techniques. {\bf B.3.2}: Hardware, MEMORY STRUCTURES, Design Styles, Cache memories.", } @Article{Fu:1995:PMD, author = "J. Fu", title = "Pattern Matching in Directed Graphs", journal = j-LECT-NOTES-COMP-SCI, volume = "937", pages = "64--??", year = "1995", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat May 11 13:45:32 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Galil:1995:CTO, author = "Zvi Galil", title = "A Constant-Time Optimal Parallel String-Matching Algorithm", journal = j-J-ACM, volume = "42", number = "4", pages = "908--918", month = jul, year = "1995", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Tue Nov 28 07:53:44 1995", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0004-5411/210341.html", abstract = "Given a pattern string, we describe a way to preprocess it. We design a CRCW-PRAM constant time optimal parallel algorithm for finding all occurrences of the (preprocessed) pattern in any given text.", acknowledgement = ack-nhfb, fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", keywords = "algorithms; theory", subject = "{\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Computations on discrete structures. {\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching. {\bf F.1.2}: Theory of Computation, COMPUTATION BY ABSTRACT DEVICES, Modes of Computation, Parallelism and concurrency. {\bf F.1.1}: Theory of Computation, COMPUTATION BY ABSTRACT DEVICES, Models of Computation, Unbounded-action devices.", } @Article{Gasieniec:1995:CSS, author = "L. Gasieniec and W. Plandowski and W. Rytter", title = "Constant-Space String Matching with Smaller Number of Comparisons: Sequential Sampling", journal = j-LECT-NOTES-COMP-SCI, volume = "937", pages = "78--??", year = "1995", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat May 11 13:45:32 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Gasieniec:1995:ZMR, author = "Leszek G{\k{a}}sieniec and Wojciech Plandowski and Wojciech Rytter", title = "The zooming method: a recursive approach to time-space efficient string-matching", journal = j-THEOR-COMP-SCI, volume = "147", number = "1--2", pages = "19--30", day = "07", month = aug, year = "1995", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:19:16 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1995&volume=147&issue=1-2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1995&volume=147&issue=1-2&aid=1883", acknowledgement = ack-nhfb, classification = "C4210L (Formal languages and computational linguistics); C4240C (Computational complexity); C6130 (Data handling techniques)", corpsource = "Inst. of Inf., Warsaw Univ., Poland", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "computational complexity; formal languages; Galil-Seiferas algorithm; linear-time constant-space algorithm; maximal suffix; nonordered alphabets; ordered alphabets; preprocessing phase; recursive approach; recursive functions; search problems; searching phase; string matching; time-space efficient string-matching; two-dimensional patterns; zooming method", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", xxauthor = "L. Gasiemec and W. Plandowski and W. Rytter", } @Article{Giancarlo:1995:MDP, author = "R. Giancarlo and R. Grossi", title = "Multi-Dimensional Pattern Matching with Dimensional Wildcards", journal = j-LECT-NOTES-COMP-SCI, volume = "937", pages = "90--??", year = "1995", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat May 11 13:45:32 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Goedelbecker:1995:UG, author = "Eric Goedelbecker", title = "Using grep", journal = j-LINUX-J, volume = "18", pages = "??--??", month = oct, year = "1995", CODEN = "LIJOFX", ISSN = "1075-3583 (print), 1938-3827 (electronic)", ISSN-L = "1075-3583", bibdate = "Fri Oct 9 08:35:26 MDT 1998", bibsource = "http://noframes.linuxjournal.com/lj-issues/issue18/index.html; https://www.math.utah.edu/pub/tex/bib/linux-journal.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Moving from DOS? Discover the power of this Linux utility.", acknowledgement = ack-nhfb, fjournal = "Linux Journal", journal-URL = "http://portal.acm.org/citation.cfm?id=J508", } @Article{Highland:1995:BRP, author = "Harold Joseph Highland", title = "Book Review: {{\booktitle{A Pattern Matching Model for Misuse Intrusion Detection}}: Sandeep Kumar and Eugene Spafford, Purdue University, West Lafayette, IN}", journal = j-COMPUT-SECUR, volume = "14", number = "1", pages = "28--28", month = "????", year = "1995", CODEN = "CPSEDU", ISSN = "0167-4048 (print), 1872-6208 (electronic)", ISSN-L = "0167-4048", bibdate = "Mon Sep 23 09:45:03 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/computsecur1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.sciencedirect.com/science/article/pii/016740489596997H", acknowledgement = ack-nhfb, fjournal = "Computers \& Security", journal-URL = "http://www.sciencedirect.com/science/journal/01674048", } @Article{Johansen:1995:LSM, author = "Peter Johansen", title = "On-line string matching with feedback", journal = j-THEOR-COMP-SCI, volume = "141", number = "1--2", pages = "53--67", day = "17", month = apr, year = "1995", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:18:59 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1995&volume=141&issue=1-2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1995&volume=141&issue=1-2&aid=1852", acknowledgement = ack-nhfb, classification = "C4240 (Programming and algorithm theory); C6130 (Data handling techniques)", corpsource = "Dept. of Comput. Sci., Copenhagen Univ., Denmark", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "feedback; one-character buffer; online operation; online string matching; pattern matching; stable behaviour; string matching; string pattern matcher; unstable behaviour", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Karpinski:1995:PMS, author = "M. Karpinski and W. Rytter and A. Shinohara", title = "Pattern-Matching for Strings with Short Descriptions", journal = j-LECT-NOTES-COMP-SCI, volume = "937", pages = "205--??", year = "1995", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat May 11 13:45:32 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Knight:1995:ARE, author = "James R. Knight and Eugene W. Myers", title = "Approximate Regular Expression Pattern Matching with Concave Gap Penalties", journal = j-ALGORITHMICA, volume = "14", number = "1", pages = "85--121", year = "1995", CODEN = "ALGOEJ", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", MRclass = "68Q20 (68Q25)", MRnumber = "MR1329817 (96d:68083)", bibdate = "Mon Jan 22 05:30:54 MST 2001", bibsource = "dblp-journals-algorithmica.bib; http://dblp.uni-trier.de/db/journals/algorithmica/algorithmica14.html#KnightM95a; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/index-table-a.html#algorithmica; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", fjournal = "Algorithmica. An International Journal in Computer Science", journal-URL = "http://link.springer.com/journal/453", oldlabel = "KnightM95a", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/algorithmica/KnightM95a", } @Article{Knight:1995:SPM, author = "James R. Knight and Eugene W. Myers", title = "Super-Pattern Matching", journal = j-ALGORITHMICA, volume = "13", number = "1--2", pages = "211--243", year = "1995", CODEN = "ALGOEJ", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", MRclass = "92D20 (68T10 92C40)", MRnumber = "MR1304315 (95i:92003)", bibdate = "Mon Jan 22 05:30:53 MST 2001", bibsource = "dblp-journals-algorithmica.bib; http://dblp.uni-trier.de/db/journals/algorithmica/algorithmica13.html#KnightM95; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/index-table-a.html#algorithmica; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", fjournal = "Algorithmica. An International Journal in Computer Science", journal-URL = "http://link.springer.com/journal/453", oldlabel = "KnightM95", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/algorithmica/KnightM95", } @Article{Konda:1995:SFD, author = "Venkat Konda and Anup Kumar", title = "A Systematic Framework for the Dependence Cycle Removal in Practical Loops", journal = j-J-PAR-DIST-COMP, volume = "27", number = "2", pages = "157--171", month = jun, year = "1995", CODEN = "JPDCER", DOI = "https://doi.org/10.1006/jpdc.1995.1079", ISSN = "0743-7315 (print), 1096-0848 (electronic)", ISSN-L = "0743-7315", bibdate = "Thu Mar 9 09:18:57 MST 2000", bibsource = "http://www.idealibrary.com/servlet/useragent?func=showAllIssues&curIssueID=jpdc; https://www.math.utah.edu/pub/tex/bib/fortran3.bib; https://www.math.utah.edu/pub/tex/bib/jpardistcomp.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.idealibrary.com/links/doi/10.1006/jpdc.1995.1079/production; http://www.idealibrary.com/links/doi/10.1006/jpdc.1995.1079/production/pdf", acknowledgement = ack-nhfb, classification = "C1250 (Pattern recognition); C6110P (Parallel programming); C6140D (High level languages)", corpsource = "Misubishi Electr. Res. Lab. Inc., Sunnyvale, CA, USA", fjournal = "Journal of Parallel and Distributed Computing", journal-URL = "http://www.sciencedirect.com/science/journal/07437315", keywords = "cycle breaking transformations; dependence; dependence cycle removal; dependence cycles; dependence testing; DO loop model; formal theory; FORTRAN; loops; node; output; parallel programming; pattern matching; practical; replication; serial programs; standard Fortran; systematic framework", treatment = "P Practical", } @Article{Kucherov:1995:UGR, author = "Gregory Kucherov and Micha{\"e}l Rusinowitch", title = "Undecidability of ground reducibility for word rewriting systems with variables", journal = j-INFO-PROC-LETT, volume = "53", number = "4", pages = "209--215", day = "24", month = feb, year = "1995", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68Q42", MRnumber = "1 327 587", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "Compendex database; http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "CRIN and INRIA-Lorraine", affiliationaddress = "Vandoeuvre-les-Nancy, Fr", classification = "721.1; 723.1.1; 723.2; 921.4; C1250 (Pattern recognition); C4210L (Formal languages and computational linguistics)", corpsource = "CRIN-INRIA Lorraine, Vandoeuvre-les-Nancy, France", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", journalabr = "Inf Process Lett", keywords = "Associative processing; Binary associative function; binary associative function; Codes (symbols); Computability and decidability; Computation theory; Concatenation; concatenation; finitely many constant symbols; Formal languages; formal languages; Ground reducibility; ground reducibility; Pattern matching; pattern matching; Pattern recognition; Reductive power; Rewrite rules; rewriting systems; Set theory; signature; Term rewriting systems; Undecidability; variables; Word rewriting system with variables (WRSV); word rewriting systems", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Kunen:1995:RTB, author = "Kenneth Kunen", title = "A {Ramsey} theorem in {Boyer--Moore} logic", journal = j-J-AUTOM-REASON, volume = "15", number = "2", pages = "217--235", month = jun, year = "1995", CODEN = "JAREEW", DOI = "https://doi.org/10.1007/BF00881917", ISSN = "0168-7433 (print), 1573-0670 (electronic)", ISSN-L = "0168-7433", bibdate = "Sat Apr 2 10:49:47 MDT 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/jautomreason.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/BF00881917", acknowledgement = ack-nhfb, ajournal = "J. Autom. Reason.", fjournal = "Journal of Automated Reasoning", journal-URL = "http://link.springer.com/journal/10817", } @Article{Lecroq:1995:ERS, author = "Thierry Lecroq", title = "Experimental Results on String Matching Algorithms", journal = j-SPE, volume = "25", number = "7", pages = "727--765", month = jul, year = "1995", CODEN = "SPEXBL", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", } @Article{Lesk:1995:TDP, author = "A. M. Lesk", title = "Three-Dimensional Pattern Matching in Protein Structure Analysis", journal = j-LECT-NOTES-COMP-SCI, volume = "937", pages = "248--??", year = "1995", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat May 11 13:45:32 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Melichar:1995:ASM, author = "B. Melichar", title = "Approximate String Matching by Finite Automata", journal = j-LECT-NOTES-COMP-SCI, volume = "970", pages = "342--349", year = "1995", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Sep 15 10:01:31 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "CAIP; computer analysis; IAPR; images; patterns", } @Article{Moore:1995:COA, author = "Dennis Moore and W. F. Smyth", title = "A correction to {``An optimal algorithm to compute all the covers of a string''}", journal = j-INFO-PROC-LETT, volume = "54", number = "2", pages = "101--103", day = "28", month = apr, year = "1995", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C1160 (Combinatorial mathematics); C1250 (Pattern recognition)", corpsource = "Sch. of Comput., Curtin Univ. of Technol., Bentley, WA, Australia", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", keywords = "combinatorial mathematics; COMPUTECOVERS; optimal algorithm; pattern matching; subalgorithm", treatment = "P Practical; T Theoretical or Mathematical", } @Article{MuQqoz:1995:MTW, author = "J. {Mu Qq oz}", title = "Manual {TIG} Welding and Control Chart Advisor: a Prototype Program in {Common Lisp} Using Pattern Matching Techniques", journal = "Quality Engineering", volume = "7", number = "2", pages = "277--??", year = "1995", CODEN = "QUENE7", ISSN = "0898-2112", bibdate = "Tue Sep 28 07:51:05 MDT 1999", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/common-lisp.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, journalabr = "Qual Eng", keywords = "Common Lisp", } @Article{MuThoz:1995:MTW, author = "J. MuThoz", title = "Manual {TIG} Welding and Control Chart Advisor: a Prototype Program in {Common Lisp} Using Pattern Matching Techniques", journal = "Quality engineering", volume = "7", number = "2", pages = "277--??", month = "????", year = "1995", ISSN = "0898-2112", bibdate = "Wed Aug 6 18:51:34 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/common-lisp.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Myers:1995:AMC, author = "Gene Myers", title = "Approximately matching context-free languages", journal = j-INFO-PROC-LETT, volume = "54", number = "2", pages = "85--92", day = "28", month = apr, year = "1995", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68Q20 (68Q45)", MRnumber = "96d:68084", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C1250 (Pattern recognition); C4210L (Formal languages and computational linguistics)", corpsource = "Dept. of Comput. Sci., Arizona Univ., Tucson, AZ, USA", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", keywords = "approximate pattern matching; Cocke-Younger-Kasami algorithm; context-free languages; general comparison cost models; pattern matching; sequence comparison", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Park:1995:SMH, author = "K. Park and Dong Kyue Kim", title = "String Matching in Hypertext", journal = j-LECT-NOTES-COMP-SCI, volume = "937", pages = "318--??", year = "1995", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat May 11 13:45:32 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Petersen:1995:RPB, author = "H. Petersen", title = "A remark on a paper by {A. B. Matos}", journal = j-THEOR-COMP-SCI, volume = "141", number = "1--2", pages = "329--330", day = "17", month = apr, year = "1995", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:18:59 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1995&volume=141&issue=1-2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", note = "See \cite{Matos:1994:PSI}.", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1995&volume=141&issue=1-2&aid=1851", acknowledgement = ack-nhfb, classification = "C4210L (Formal languages and computational linguistics)", corpsource = "Fachbereich Inf., Hamburg Univ., Germany", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "context sensitive languages; context-sensitive languages; word-lengths", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Pevzner:1995:MFA, author = "Pavel A. Pevzner and M. S. Waterman", title = "Multiple Filtration and Approximate Pattern Matching", journal = j-ALGORITHMICA, volume = "13", number = "1--2", pages = "135--154", year = "1995", CODEN = "ALGOEJ", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", MRclass = "92D20 (68Q20)", MRnumber = "MR1304312 (95g:92012)", bibdate = "Mon Jan 22 05:33:34 MST 2001", bibsource = "dblp-journals-algorithmica.bib; http://dblp.uni-trier.de/db/journals/algorithmica/algorithmica13.html#PevznerW95; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/index-table-a.html#algorithmica; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", fjournal = "Algorithmica. An International Journal in Computer Science", journal-URL = "http://link.springer.com/journal/453", oldlabel = "PevznerW95", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/algorithmica/PevznerW95", } @Article{Pierre:1995:DVS, author = "L. Pierre", title = "Describing and verifying synchronous circuits with the {Boyer--Moore} theorem prover", journal = j-LECT-NOTES-COMP-SCI, volume = "987", pages = "35--??", year = "1995", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat May 11 13:45:32 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs1995b.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{RaoKosaraju:1995:PMC, author = "S. {Rao Kosaraju}", title = "Pattern Matching in Compressed Texts", journal = j-LECT-NOTES-COMP-SCI, volume = "1026", pages = "349--??", year = "1995", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat May 11 13:45:32 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Rauchwerger:1995:LTS, author = "Lawrence Rauchwerger and David Padua", title = "The {LRPD} test: speculative run-time parallelization of loops with privatization and reduction parallelization", journal = j-SIGPLAN, volume = "30", number = "6", pages = "218--232", month = jun, year = "1995", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:17:06 MST 2003", bibsource = "http://portal.acm.org/; http://www.acm.org/pubs/contents/proceedings/pldi/207110/index.html; https://www.math.utah.edu/pub/tex/bib/fortran3.bib; https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org:80/pubs/citations/proceedings/pldi/207110/p218-rauchwerger/", abstract = "Current parallelizing compilers cannot identify a significant fraction of parallelizable loops because they have complex or statically insufficiently defined access patterns. As parallelizable loops arise frequently in practice, we advocate a novel framework for their identification: speculatively execute the loop as a doall, and apply a fully parallel data dependence test to determine if it had any cross-iteration dependences; if the test fails, then the loop is re-executed serially. Since, from our experience, a significant amount of the available parallelism in Fortran programs can be exploited by loops transformed through {\em privatization\/} and {\em reduction parallelization\/}, our methods can speculatively apply these transformations and then check their validity at run-time. Another important contribution of this paper is a novel method for {\em reduction recognition\/} which goes beyond syntactic pattern matching; it detects at run-time if the values stored in an array participate in a reduction operation, even if they are transferred through private variables and/or are affected by statically unpredictable control flow. We present experimental results on loops from the PERFECT Benchmarks which substantiate our claim that these techniques can yield significant speedups which are often superior to those obtainable by inspector/executor methods.", acknowledgement = ack-nhfb, affiliation = "Illinois Univ., Urbana, IL, USA", annote = "Published as part of the Proceedings of PLDI'95.", classification = "C6110P (Parallel programming); C6150C (Compilers, interpreters and other processors); C6150G (Diagnostic, testing, debugging and evaluating systems)", fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "Access patterns; algorithms; Cross iteration dependences; experimentation; Fortran programs; Fully parallel data dependence test; languages; LRPD test; Parallelizable loops; Parallelizing compilers; PERFECT Benchmarks; performance; Private variables; Privatization; Reduction parallelization; Reduction recognition; Speculative run time parallelization; Speculative run-time parallelization; Statically unpredictable control flow; Syntactic pattern matching", subject = "{\bf D.1.3} Software, PROGRAMMING TECHNIQUES, Concurrent Programming, Parallel programming. {\bf D.3.4} Software, PROGRAMMING LANGUAGES, Processors, Compilers. {\bf D.3.4} Software, PROGRAMMING LANGUAGES, Processors, Optimization. {\bf F.3.3} Theory of Computation, LOGICS AND MEANINGS OF PROGRAMS, Studies of Program Constructs. {\bf D.3.4} Software, PROGRAMMING LANGUAGES, Processors, Code generation.", thesaurus = "Parallel programming; Parallelising compilers; Program testing", } @Article{Ross:1995:FSS, author = "John W. Ross", title = "Fast String Searching", journal = j-CCCUJ, volume = "13", number = "7", pages = "63--??", month = jul, year = "1995", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Fri Aug 30 16:52:23 MDT 1996", bibsource = "http://www.cuj.com/cbklist.htm; https://www.math.utah.edu/pub/tex/bib/cccuj.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Sandberg:1995:COE, author = "Jonathan S. Sandberg", title = "Counting {OCR} errors in typeset text", journal = "Proceedings of SPIE --- The International Society for Optical Engineering", volume = "2422", pages = "184--195", year = "1995", CODEN = "PSISDG", ISBN = "0-8194-1769-6", ISBN-13 = "978-0-8194-1769-5", ISSN = "0277-786X (print), 1996-756X (electronic)", LCCN = "TS510.S63 v.2422", bibdate = "Mon May 11 18:35:26 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/typeset.bib", abstract = "Frequently object recognition accuracy is a key component in the performance analysis of pattern matching systems. In the past three years, the results of numerous excellent and rigorous studies of OCR system typeset-character accuracy (henceforth OCR accuracy) have been published, encouraging performance comparisons between a variety of OCR products and technologies. These published figures are important; OCR vendor advertisements in the popular trade magazines lead readers to believe that published OCR accuracy figures effect market share in the lucrative OCR market. Curiously, a detailed review of many of these OCR error occurrence counting results reveals that they are not reproducible as published and they are not strictly comparable due to larger variances in the counts than would be expected by the sampling variance. Naturally, since OCR accuracy is based on a ratio of the number of OCR errors over the size of the text searched for errors, imprecise OCR error accounting leads to similar imprecision in OCR accuracy. Some published papers use informal, non-automatic, or intuitively correct OCR error accounting. Still other published results present OCR error accounting methods based on string matching algorithms such as dynamic programming using Levenshtein (edit) distance but omit critical implementation details (such as the existence of suspect markers in the OCR generated output or the weights used in the dynamic programming minimization procedure). The problem with not specifically revealing the accounting method is that the number of errors found by different methods are significantly different. This paper identifies the basic accounting methods used to measure OCR errors in typeset text and offers an evaluation and comparison of the various accounting methods.", acknowledgement = ack-nhfb, affiliation = "Panasonic Technologies Inc., Princeton, NJ, USA", classification = "723.1; 723.4; 741.1; 921.6; 922.2", conference = "Document Recognition II", journalabr = "Proc SPIE Int Soc Opt Eng", keywords = "Algorithms; Document recognition; Dynamic programming; Error analysis; Image processing; Levenshtein distance; Object recognition; Optical character recognition; Pattern recognition; Sampling; Typeset text", meetingaddress = "San Jose, CA, USA", meetingdate2 = "Feb 6--7 1995", sponsor = "SPIE --- Int Soc for Opt Engineering, Bellingham, WA USA", } @Article{Schulzrinne:1995:DCC, author = "H. Schulzrinne", title = "Dynamic Configuration of Conferencing Applications Using Pattern-Matching Multicast", journal = j-LECT-NOTES-COMP-SCI, volume = "1018", pages = "216--??", year = "1995", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat May 11 13:45:32 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Sekar:1995:APM, author = "R. C. Sekar and R. Ramesh and I. V. Ramakrishnan", title = "Adaptive Pattern Matching", journal = j-SIAM-J-COMPUT, volume = "24", number = "6", pages = "1207--1234", month = dec, year = "1995", CODEN = "SMJCAT", DOI = "https://doi.org/10.1137/S0097539793246252", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68Q20 (68N15 68Q25 68Q42)", MRnumber = "96k:68083", bibdate = "Mon Nov 29 11:02:48 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/24/6; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://epubs.siam.org/sam-bin/dbq/article/24625", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @Article{Sewell:1995:MCP, author = "Roger F. Sewell and Richard Durbin", title = "Method for Calculation of Probability of Matching a Bounded Regular Expression in a Random Data String", journal = j-J-COMPUT-BIOL, volume = "2", number = "1", pages = "25--31", month = jan, year = "1995", CODEN = "JCOBEM", DOI = "https://doi.org/10.1089/cmb.1995.2.25", ISSN = "1066-5277 (print), 1557-8666 (electronic)", ISSN-L = "1066-5277", bibdate = "Sat Jun 1 09:46:06 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputbiol.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.liebertpub.com/doi/abs/10.1089/cmb.1995.2.25; https://www.liebertpub.com/doi/pdf/10.1089/cmb.1995.2.25", acknowledgement = ack-nhfb, fjournal = "Journal of Computational Biology", journal-URL = "https://www.liebertpub.com/loi/cmb/", onlinedate = "1 April 2009", } @Article{Sidi:1995:CAG, author = "Avram Sidi", title = "Convergence analysis for a generalized {Richardson} extrapolation process with an application to the $ d^{(1)}$-transformation on convergent and divergent logarithmic sequences", journal = j-MATH-COMPUT, volume = "64", number = "212", pages = "1627--1657", month = oct, year = "1995", CODEN = "MCMPAF", ISSN = "0025-5718 (print), 1088-6842 (electronic)", ISSN-L = "0025-5718", MRclass = "65B05", MRnumber = "96a:65009", MRreviewer = "De Hui Chen", bibdate = "Tue Mar 25 15:38:13 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/mathcomp1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Dept. of Comput. Sci., Technion-Israel Inst. of Technol., Haifa, Israel", classcodes = "C4130 (Interpolation and function approximation)", corpsource = "Dept. of Comput. Sci., Technion-Israel Inst. of Technol., Haifa, Israel", fjournal = "Mathematics of Computation", journal-URL = "http://www.ams.org/mcom/", keywords = "(mathematics); convergence analysis; d/sup (1)/ transformation; divergent; divergent logarithmic; extensions; extrapolation; extrapolation table; generalized Richardson extrapolation; GREP/sup (1)/; infinite series; Levin-; logarithmic sequences; numerical stability; oscillatory; process; sequences; series; Sidi d/sup (1)/ transformation; stability properties", treatment = "T Theoretical or Mathematical", } @Article{Sutinen:1995:UGL, author = "E. Sutinen and J. Tarhio", title = "On Using $q$-Gram Locations in Approximate String Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "979", pages = "327--??", year = "1995", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat May 11 13:45:32 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Wang:1995:PMP, author = "Jason T. L. Wang and Kaizhong Zhang and Dennis Shasha", title = "Pattern matching and pattern discovery in scientific, program, and document databases", journal = j-SIGMOD, volume = "24", number = "2", pages = "487--487", month = may, year = "1995", CODEN = "SRECD8", ISSN = "0163-5808 (print), 1943-5835 (electronic)", ISSN-L = "0163-5808", bibdate = "Mon Jan 12 08:45:52 MST 2004", bibsource = "http://portal.acm.org/; http://www.acm.org/pubs/contents/proceedings/series/sigmod_pods/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/sigmod.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/articles/proceedings/mod/223784/p487-wang/p487-wang.pdf; http://www.acm.org/pubs/citations/proceedings/mod/223784/p487-wang/", acknowledgement = ack-nhfb, fjournal = "SIGMOD Record (ACM Special Interest Group on Management of Data)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J689", } @Article{Webber:1995:OFP, author = "Adam Webber", title = "Optimization of Functional Programs by Grammar Thinning", journal = j-TOPLAS, volume = "17", number = "2", pages = "293--330", month = mar, year = "1995", CODEN = "ATPSDT", ISSN = "0164-0925 (print), 1558-4593 (electronic)", ISSN-L = "0164-0925", bibdate = "Fri Jan 5 07:58:42 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/fibquart.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/toplas.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/201067.html; https://www.math.utah.edu/pub/tex/bib/fibquart.bib", abstract = "We describe a new technique for optimizing first-order functional programs. Programs are represented as graph grammars, and optimization proceeds by counterexample: when a graph generated by the grammar is found to contain an unnecessary computation, the optimizer attempts to reformulates the grammar so that it never again generates any graph that contains that counterexample. This kind of program reformulation corresponds to an interesting problem on context-free grammars. Our reformulation technique is derived from an (approximate) solution to this CFG problem. An optimizer called Thinner is the proof of concept for this technique. Thinner is a fully automatic, source-to-source optimizer for a Lisp-like language of purely functional, first-order programs. Thinner rediscovers a wide variety of common compiler optimizations. It also finds other more exotic transformations, including the well-known Fibonacci reformulation and the Knuth--Morris--Pratt optimization.", acknowledgement = ack-nhfb, ajournal = "ACM Trans. Program. Lang. Syst.", fjournal = "ACM Transactions on Programming Languages and Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783", keywords = "languages; theory", subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES, Processors, Optimization. {\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language Classifications, Applicative languages. {\bf F.4.2}: Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Grammars and Other Rewriting Systems, Grammar types.", } @Article{Wu:1995:SAA, author = "S. Wu and U. Manber and E. Myers", title = "A Subquadratic Algorithm for Approximate Regular Expression Matching", journal = j-J-ALG, volume = "19", number = "3", pages = "346--360", month = nov, year = "1995", CODEN = "JOALDV", DOI = "https://doi.org/10.1006/jagm.1995.1041", ISSN = "0196-6774 (print), 1090-2678 (electronic)", ISSN-L = "0196-6774", bibdate = "Tue Dec 11 09:16:06 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/jalg.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0196677485710413", acknowledgement = ack-nhfb, fjournal = "Journal of Algorithms", journal-URL = "http://www.sciencedirect.com/science/journal/01966774", } @Article{Yang:1995:LAP, author = "Wuu Yang", title = "On the Look-Ahead Problem in Lexical Analysis", journal = j-ACTA-INFO, volume = "32", number = "5", pages = "459--476", month = "????", year = "1995", CODEN = "AINFA2", ISSN = "0001-5903 (print), 1432-0525 (electronic)", ISSN-L = "0001-5903", MRclass = "68Q52 (68N20 68Q68)", MRnumber = "96e:68083", bibdate = "Sat Oct 9 17:51:40 MDT 1999", bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/HBP/ACTAI.bib; ftp://ftp.ira.uka.de/pub/bibliography/Misc/SEL-HPC.bib; http://link.springer-ny.com/link/service/journals/00236/tocs/t5032005.htm; https://www.math.utah.edu/pub/tex/bib/actainfo.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", URL = "http://cissun51.cis.nctu.edu.tw/~wuuyang/lookahead.ps.Z; http://link.springer-ny.com/link/service/journals/00236/bibs/5032005/50320459.htm", abstract-URL = "http://cissun51.cis.nctu.edu.tw/~wuuyang/lookahead.abstract", acknowledgement = ack-nhfb, fjournal = "Acta Informatica", journal-URL = "http://www.springerlink.com/content/0001-5903", keywords = "automata; regular expressions; suffix automata", scope = "lex", } @Article{Yu:1995:DTA, author = "Chansu Yu and Chita R. Das", title = "Disjoint Task Allocation Algorithms for {MIN} Machines with Minimal Conflicts", journal = j-IEEE-TRANS-PAR-DIST-SYS, volume = "6", number = "4", pages = "373--387", month = apr, year = "1995", CODEN = "ITDSEO", ISSN = "1045-9219 (print), 1558-2183 (electronic)", ISSN-L = "1045-9219", bibdate = "Fri Nov 6 12:31:15 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/ieeetranspardistsys.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.computer.org/tpds/td1995/l0373abs.htm", acknowledgement = ack-nhfb, affiliation = "Goldstar Co", affiliationaddress = "Seoul, S Korea", classification = "703.1; 721.3; 722.4; 723.1; 921.6; C4230M (Multiprocessor interconnection); C5220P (Parallel architecture); C5440 (Multiprocessing systems); C6150J (Operating systems)", corpsource = "Inf. Technol. R and D Lab., GoldStar Co., Seoul, South Korea", fjournal = "IEEE Transactions on Parallel and Distributed Systems", journal-URL = "http://www.computer.org/tpds/archives.htm", journalabr = "IEEE Trans Parallel Distrib Syst", keywords = "Algorithms; bit; Bit reversal matching patterns; conflicts; delay; disjoint task allocation algorithms; Disjoint task allocation algorithms; Dynamic partitioning scheme; Electric network topology; hypercube networks; hypercubes; Interconnection networks; matching pattern; Microprocessor chips; MIN machines; MIN-based multiprocessors; minimal; Minimal conflicts; Multistage interconnection network; multistage interconnection networks; Program processors; renaming scheme; Resource allocation; resource allocation; reversal matching pattern; scheduling; system efficiency; Task allocation; task miss ratio", treatment = "A Application; P Practical", } @Article{Zobel:1995:FAM, author = "J. Zobel and P. Dart", title = "Finding approximate matches in large lexicons", journal = j-SPE, volume = "25", number = "3", pages = "331--345", month = mar, year = "1995", CODEN = "SPEXBL", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Wed Sep 11 06:28:25 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/spell.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Dept. of Comput. Sci., R. Melbourne Inst. of Technol., Vic., Australia", classification = "C1250 (Pattern recognition); C6130D (Document processing techniques); C7250R (Information retrieval techniques)", fjournal = "Software---Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", keywords = "Approximate matches; Approximate string matching; Compressed inverted files; Index size; Large lexicons; Lexicon indexes; Lexicon indexing techniques; N-grams; Pattern matching; Permuted lexicons; Personal name matching; Phonetic coding; Phonetic codings; Retrieval effectiveness; Retrieval time; Soundex; Spelling correction; String distance measures; String similarity measures", language = "English", pubcountry = "UK", thesaurus = "Indexing; Information retrieval; Pattern matching; String matching; Word processing", } @Article{Abbott:1996:X, author = "Paul Abbott", title = "{{\tt In[]}} and {{\tt Out[]}}", journal = j-MATHEMATICA-J, volume = "6", number = "3", pages = "14--21", month = "Summer", year = "1996", CODEN = "????", ISSN = "1047-5974 (print), 1097-1610 (electronic)", ISSN-L = "1047-5974", bibdate = "Sat Nov 6 13:34:12 MDT 2010", bibsource = "http://www.mathematica-journal.com/issue/v6i3/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.mathematica-journal.com/issue/v6i3/tutorials/inout/contents/63inandout.nb; http://www.mathematica-journal.com/issue/v6i3/tutorials/inout/contents/63inout.pdf; http://www.mathematica-journal.com/issue/v6i3/tutorials/inout/index.html", acknowledgement = ack-nhfb, fjournal = "Mathematica Journal", journal-URL = "http://www.mathematica-journal.com/", keywords = "AppleScript; Best Solution to an Overdetermined System; D versus Derivative; Divergent NDSolve; DSolveConstants; Grayscale Graphics Files; Inverse Power Series; Matrix Differential Equation; Outer of List; Pattern Matching; PiScale; Points on a Hypersphere; Random and \$MachinePrecision; Random and the Poisson Distribution", } @Article{Amir:1996:LSF, author = "Amihood Amir and Gary Benson and Martin Farach", title = "Let Sleeping Files Lie: Pattern Matching in {Z}-Compressed Files", journal = j-J-COMP-SYS-SCI, volume = "52", number = "2", pages = "299--307", month = apr, year = "1996", CODEN = "JCSSBM", DOI = "https://doi.org/10.1006/jcss.1996.0023", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:26:30 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0022000096900239", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Article{Anonymous:1996:JBP, author = "Anonymous", title = "{Java}-based Pattern Matching", journal = j-SUNEXPERT, volume = "7", number = "8", pages = "74--74", month = aug, year = "1996", ISSN = "1053-9239", bibdate = "Sat Aug 17 09:35:58 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/java.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Describes {VanillaSearch}, a search class for {Java} developers from {Thought, Inc.}.", acknowledgement = ack-nhfb, fjournal = "SunExpert Magazine", } @Article{Anonymous:1996:JPM, author = "Anonymous", title = "{Java-based} Pattern Matching", journal = j-SUNEXPERT, volume = "7", number = "8", pages = "74--74", month = aug, year = "1996", ISSN = "1053-9239", bibdate = "Sat Aug 17 09:35:58 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/java.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Describes {VanillaSearch}, a search class for {Java} developers from {Thought, Inc.}.", acknowledgement = ack-nhfb, fjournal = "SunExpert Magazine", } @Article{Antimirov:1996:PDR, author = "Valentin Antimirov", title = "Partial derivatives of regular expressions and finite automaton constructions", journal = j-THEOR-COMP-SCI, volume = "155", number = "2", pages = "291--319", day = "11", month = mar, year = "1996", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:19:46 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1996&volume=155&issue=2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1996&volume=155&issue=2&aid=2123", acknowledgement = ack-nhfb, classification = "C4210L (Formal languages and computational linguistics); C4220 (Automata theory); C4240 (Programming and algorithm theory)", corpsource = "CRIN, Vandoeuvre-les-Nancy, France", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "algorithm; finite automata; finite automaton constructions; finite partial derivative set; formal languages; letters; nondeterministic finite automata; partial derivatives; regular expressions; regular unit; subterm; subterm concatenation; theorem proving; word derivatives", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Arikati:1996:AAM, author = "S. R. Arikati and A. Dessmark and A. Lingas and M. Marathe", title = "Approximation Algorithms for Maximum Two-Dimensional Pattern Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "1075", pages = "348--??", year = "1996", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Aug 14 09:38:08 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @InProceedings{Atallah:1996:PMI, author = "M. Atallah and Y. Genin and W. Szpankowski", title = "Pattern matching image compression", crossref = "Storer:1996:DDC", pages = "??--??", year = "1996", DOI = "https://doi.org/10.1109/DCC.1996.488349", bibdate = "Tue Feb 5 08:26:50 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=488349", acknowledgement = ack-nhfb, } @Article{Baeza-Yates:1996:FAA, author = "R. Baeza-Yates and G. Navarro", title = "A Faster Algorithm for Approximate String Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "1075", pages = "1--??", year = "1996", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Aug 14 09:38:08 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Baeza-Yates:1996:FAS, author = "Ricardo A. Baeza-Yates and Luis O. Fuentes", title = "A framework to animate string algorithms", journal = j-INFO-PROC-LETT, volume = "59", number = "5", pages = "241--244", day = "9", month = sep, year = "1996", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C4240 (Programming and algorithm theory); C6110V (Visual programming)", corpsource = "Dept. de Ciencias de la Comput., Chile Univ., Santiago, Chile", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", keywords = "algorithm animation system; algorithm theory; computer animation; data generation tools; sequences of symbols; string algorithms; string matching; string searching; visual programming; visualization; Xaa", treatment = "T Theoretical or Mathematical", } @Article{Baeza-Yates:1996:FPA, author = "Ricardo A. Baeza-Yates and Chris H. Perleberg", title = "Fast and practical approximate string matching", journal = j-INFO-PROC-LETT, volume = "59", number = "1", pages = "21--27", day = "8", month = jul, year = "1996", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68Q25 (68Q20)", MRnumber = "98b:68069", MRreviewer = "Maxime Crochemore", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C1250 (Pattern recognition); C4240 (Programming and algorithm theory); C6130 (Data handling techniques)", corpsource = "Dept. de Ciencias de la Comput., Chile Univ., Santiago, Chile", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", keywords = "approximate string matching; arithmetical operations; linear worst case time; mismatches; partitioning; pattern matching; string matching; string searching", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Baeza-Yates:1996:FTS, author = "Richardo A. Baeza-Yates and Gaston H. Gonnet", title = "Fast text searching for regular expressions or automaton searching on tries", journal = j-J-ACM, volume = "43", number = "6", pages = "915--936", month = nov, year = "1996", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Fri Dec 27 15:34:59 MST 1996", bibsource = "http://www.acm.org/pubs/contents/journals/jacm/; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/jacm/235810.html", abstract = "We present algorithms for efficient searching of regular expressions on preprocessed text, using a Patricia tree as a logical model for the index. We obtain searching algorithms that run in logarithmic expected time in the size of the text for a wide subclass of regular expressions, and in sublinear expected time for any regular expression. This is the first such algorithm to be found with this complexity.", acknowledgement = ack-nhfb, fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", } @Article{Baeza-Yates:1996:UVS, author = "R. Baeza-Yates", title = "A Unified View to String Matching Algorithms", journal = j-LECT-NOTES-COMP-SCI, volume = "1175", pages = "1--??", year = "1996", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Fri Aug 22 11:59:49 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Baker:1996:PPM, author = "Brenda S. Baker", title = "Parameterized Pattern Matching: Algorithms and Applications", journal = j-J-COMP-SYS-SCI, volume = "52", number = "1", pages = "28--42", month = feb, year = "1996", CODEN = "JCSSBM", DOI = "https://doi.org/10.1006/jcss.1996.0003", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:26:29 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0022000096900033", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Article{Boyer:1996:APO, author = "Robert S. Boyer and Yuan Yu", title = "Automated proofs of object code for a widely used microprocessor", journal = j-J-ACM, volume = "43", number = "1", pages = "166--192", month = jan, year = "1996", CODEN = "JACOAH", DOI = "https://doi.org/10.1145/227595.227603", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Tue Sep 28 07:51:05 MDT 1999", bibsource = "Compendex database; https://www.math.utah.edu/pub/bibnet/authors/h/hoare-c-a-r.bib; https://www.math.utah.edu/pub/tex/bib/common-lisp.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", acknowledgement = ack-nhfb, affiliation = "Univ of Texas at Austin", affiliationaddress = "Austin, USA", classification = "721.1; 722.4; 723.1; 723.1.1; 921; 921.5", fjournal = "Journal of the ACM", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", journalabr = "J Assoc Comput Mach", keywords = "Ada (programming language); Algorithms; Artificial intelligence; Automated proofs; Binary codes; Binary search; Boyer--Moore Theorem prover; C (programming language); Common Lisp; Formal languages; Functions; Hoare's Quick sort; Lisp (programming language); Mathematical programming; Microprocessor chips; Object code; Program compilers; Theorem proving; UNIX", } @Article{Breslauer:1996:OPC, author = "Dany Breslauer and Ramesh Hariharan", title = "Optimal parallel construction of minimal suffix and factor automata", journal = j-PARALLEL-PROCESS-LETT, volume = "6", number = "1", pages = "35--44", month = mar, year = "1996", CODEN = "PPLTEE", ISSN = "0129-6264", bibdate = "Mon Apr 14 10:50:40 MDT 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/parallelprocesslett.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Univ of Aarhus", classification = "721.1; 722.1; 722.4; 723.2; 921.5; C1160 (Combinatorial mathematics); C1180 (Optimisation techniques); C4220 (Automata theory); C4240P (Parallel programming and algorithm theory)", corpsource = "Basic Res. in Comput. Sci., Aarhus Univ., Denmark", countrypub = "Singapore", fjournal = "Parallel Processing Letters", journal-URL = "http://www.worldscientific.com/loi/ppl", journalabr = "Parallel Process Lett", keywords = "algorithms; data structure; Data structures; Factor automata; factor automata; Finite automata; finite automata; minimal suffix; minimisation; Online systems; optimal; optimal parallel algorithm; optimal parallel construction; optimisation; Optimization; parallel; parallel algorithm theory; Parallel algorithms; parallel suffix tree construction algorithm; Random access storage; smallest deterministic finite automata; string; string matching; Suffix tree; suffix tree; trees (mathematics)", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Breslauer:1996:SCC, author = "Dany Breslauer", title = "Saving comparisons in the {Crochemore-Perrin} string matching algorithm", journal = j-THEOR-COMP-SCI, volume = "158", number = "1--2", pages = "177--192", day = "20", month = may, year = "1996", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:19:55 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1996&volume=158&issue=1-2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1996&volume=158&issue=1-2&aid=2006", acknowledgement = ack-nhfb, classification = "C4240 (Programming and algorithm theory); C4240C (Computational complexity)", corpsource = "Dept. of Comput. Sci., Aarhus Univ., Denmark", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "computational complexity; linear-time constant-space; pattern preprocessing step; string matching; string-matching algorithm", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Chen:1996:PCM, author = "Zhi-Zhong Chen", title = "Parallel constructions of maximal path sets and applications to short superstrings", journal = j-THEOR-COMP-SCI, volume = "161", number = "1--2", pages = "1--21", day = "15", month = jul, year = "1996", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:20:03 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1996&volume=161&issue=1-2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1996&volume=161&issue=1-2&aid=2051", acknowledgement = ack-nhfb, classification = "C1160 (Combinatorial mathematics); C4240P (Parallel programming and algorithm theory)", corpsource = "Dept. of Math. Sci., Tokyo Denki Univ., Saitama, Japan", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "complexity; compression ratio; maximal path sets; parallel algorithms; parallel approximation algorithms; RNC algorithm; set theory; short superstrings; string matching", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Cheng:1996:FHR, author = "J.-M. Cheng and L. M. Duyanovich and D. J. Craft", title = "A fast, highly reliable data compression chip and algorithm for storage systems", journal = j-IBM-JRD, volume = "40", number = "6", pages = "603--613", month = nov, year = "1996", CODEN = "IBMJAE", ISSN = "0018-8646 (print), 2151-8556 (electronic)", ISSN-L = "0018-8646", bibdate = "Tue Mar 25 14:26:59 MST 1997", bibsource = "http://www.research.ibm.com/journal/; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/ibmjrd.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.almaden.ibm.com/journal/rd40-6.html#two", acknowledgement = ack-nhfb, classcodes = "C5320C (Storage on moving magnetic media); C5320G (Semiconductor storage)", corpsource = "IBM Storage Syst. Div., San Jose, CA, USA", fjournal = "IBM Journal of Research and Development", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5288520", keywords = "algorithm; data compression; data compression chip; data flow analysis; data flows; graph; hardware execution; IBM; IBM computers; IBMLZ1 compression; magnetic disc storage; match-length distribution; overhead; pattern matching; storage management chips; storage systems; system-integration; vertex coloring", treatment = "P Practical", xxlibnote = "Issue missing from UofUtah Marriott Library", } @Article{Christie:1996:SPB, author = "David A. Christie", title = "Sorting permutations by block-interchanges", journal = j-INFO-PROC-LETT, volume = "60", number = "4", pages = "165--169", day = "25", month = nov, year = "1996", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68Q20 (68R05 92D20)", MRnumber = "97i:68082", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C1160 (Combinatorial mathematics); C4240 (Programming and algorithm theory); C4240C (Computational complexity)", corpsource = "Dept. of Comput. Sci., Glasgow Univ., UK", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", keywords = "block-interchange diameter; block-interchanges; computational complexity; global rearrangements; permutations; polynomial-time algorithm; sorting; string comparison; string matching; symmetric group", treatment = "T Theoretical or Mathematical", } @Article{Colussi:1996:HCC, author = "Livio Colussi and Laura Toniolo", title = "How the character comparison order shapes the shift function of on-line pattern matching algorithms", journal = j-THEOR-COMP-SCI, volume = "163", number = "1--2", pages = "117--144", day = "30", month = aug, year = "1996", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:20:10 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1996&volume=163&issue=1-2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1996&volume=163&issue=1-2&aid=2078", acknowledgement = ack-nhfb, classification = "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition)", corpsource = "Dipartimento di Matematica Pura e Applicata, Padova Univ., Italy", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "character comparison order; on-line pattern matching algorithms; pattern matching; pattern preprocessing; shift function; string matching; text search step; uniform definition", pubcountry = "Netherlands", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Colussi:1996:TSE, author = "Livio Colussi and Alessia {De Col}", title = "A time and space efficient data structure for string searching on large texts", journal = j-INFO-PROC-LETT, volume = "58", number = "5", pages = "217--222", day = "10", month = jun, year = "1996", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68P05", MRnumber = "97d:68035", bibdate = "Wed Nov 11 12:16:26 MST 1998", bibsource = "http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classification = "C4240C (Computational complexity); C6120 (File organisation)", corpsource = "Dipartimento di Matematica Pura e Applicata, Padova Univ., Italy", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", keywords = "computational complexity; data structure; large texts; search operation; string matching; string searching; suffix array; suffix tree; tree data structure; tree data structures", treatment = "T Theoretical or Mathematical", } @Article{Crochemore:1996:PMT, author = "Maxime Crochemore and Thierry Lecroq", title = "Pattern-matching and text-compression algorithms", journal = j-COMP-SURV, volume = "28", number = "1", pages = "39--41", month = mar, year = "1996", CODEN = "CMSVAN", DOI = "https://doi.org/10.1145/234313.234331", ISSN = "0360-0300 (print), 1557-7341 (electronic)", ISSN-L = "0360-0300", bibdate = "Thu Jun 19 09:50:59 MDT 2008", bibsource = "http://www.acm.org/pubs/contents/journals/surveys/; https://www.math.utah.edu/pub/tex/bib/compsurv.bib; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/citations/journals/surveys/1996-28-1/p39-crochemore/; http://www.acm.org/pubs/toc/Abstracts/surveys/234331.html", acknowledgement = ack-nhfb, fjournal = "ACM Computing Surveys", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J204", keywords = "algorithms; analysis of algorithms and problem complexity; nonnumerical algorithms and problems; pattern matching.; theory; {\bf f.2.2}: theory of computation", subject = "{\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching.", } @Article{Dawson:1996:PPU, author = "Steven Dawson and C. R. Ramakrishnan and Steven Skiena and Terrance Swift", title = "Principles and practice of unification factoring", journal = j-TOPLAS, volume = "18", number = "5", pages = "528--563", month = sep, year = "1996", CODEN = "ATPSDT", ISSN = "0164-0925 (print), 1558-4593 (electronic)", ISSN-L = "0164-0925", bibdate = "Thu Jan 9 11:33:28 MST 1997", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/toplas.bib", URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/232722.html; http://www.acm.org/pubs/toc/Abstracts/toplas/232722.html; http://www.acm.org/pubs/toc/Abstracts/toplas/235455.html", abstract = "The efficiency of resolution-based logic programming languages, such as Prolog, depends critically on selecting and executing sets of applicable clause heads to resolve against subgoals. Traditional approaches to this problem have focused on using indexing to determine the smallest possible applicable set. Despite their usefulness, these approaches ignore the nondeterminism inherent in many programming languages to the extent that they do not attempt to optimize execution {\em after\/} the applicable set has been determined. Unification factoring seeks to rectify this omission by regarding the indexing and unification phases of clause resolution as a single process. This article formalizes that process through the construction of {\em factoring automata}. A polynomial-time algorithm is given for constructing optimal factoring automata that preserve the clause selection strategy of Prolog. More generally, when the clause selection strategy is not fixed, constructing such an optimal automaton is shown to be NP-complete, solving an open trie minimization problem. Unification factoring is implemented through a source code transformation that preserves the full semantics of Prolog. This transformation is specified in the article, and using it, several well-known programs show significant performance improvements across several different systems. A prototype of unification factoring is available by anonymous ftp.", acknowledgement = ack-nhfb, fjournal = "ACM Transactions on Programming Languages and Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783", keywords = "algorithms; languages; measurement; theory; verification", subject = "{\bf F.1.1}: Theory of Computation, COMPUTATION BY ABSTRACT DEVICES, Models of Computation, Automata. {\bf D.1.6}: Software, PROGRAMMING TECHNIQUES, Logic Programming. {\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems. {\bf F.1.3}: Theory of Computation, COMPUTATION BY ABSTRACT DEVICES, Complexity Classes. {\bf I.2.2}: Computing Methodologies, ARTIFICIAL INTELLIGENCE, Automatic Programming, Program transformation. {\bf D.3.4}: Software, PROGRAMMING LANGUAGES, Processors, Optimization. {\bf D.3.4}: Software, PROGRAMMING LANGUAGES, Processors, Compilers. {\bf F.1.1}: Theory of Computation, COMPUTATION BY ABSTRACT DEVICES, Models of Computation, Automata. {\bf F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching.", } @Article{DeBosschere:1996:EFL, author = "Koen {De Bosschere} and Jean-Marie Jacquet", title = "Extending the $ \mu ${Log} Framework with Local and Conditional Blackboard Operations", journal = j-J-SYMBOLIC-COMP, volume = "21", number = "4/5/6", pages = "669--698 (or 669--697??)", month = apr # ", " # may # " \& " # jun, year = "1996", CODEN = "JSYCEH", ISSN = "0747-7171 (print), 1095-855X (electronic)", ISSN-L = "0747-7171", MRclass = "68N17 (68Q10 68Q55 68T20)", MRnumber = "1 420 916", bibdate = "Sat May 10 15:54:09 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/jsymcomp.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Parallel symbolic computation.", acknowledgement = ack-nhfb, classcodes = "C6170K (Knowledge engineering techniques); C6110L (Logic programming); C1250 (Pattern recognition); C1230 (Artificial intelligence)", corpsource = "ELIS, Ghent Univ., Belgium", fjournal = "Journal of Symbolic Computation", journal-URL = "http://www.sciencedirect.com/science/journal/07477171", keywords = "blackboard architecture; blackboard communication; blackboard operations; bottleneck; conditional access primitives; local blackboards; logic programming; matching; message naming conflicts; mu log framework; pattern; pattern matching; PROLOG; Prolog; unification", treatment = "P Practical", } @Article{El-Mabrouk:1996:BMS, author = "N. El-Mabrouk and M. Crochemore", title = "{Boyer--Moore} Strategy to Efficient Approximate String Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "1075", pages = "24--??", year = "1996", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Aug 14 09:38:08 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Fortnow:1996:RBI, author = "Lance Fortnow and Martin Kummer", title = "On resource-bounded instance complexity", journal = j-THEOR-COMP-SCI, volume = "161", number = "1--2", pages = "123--140", day = "15", month = jul, year = "1996", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:20:03 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1996&volume=161&issue=1-2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1996&volume=161&issue=1-2&aid=2038", acknowledgement = ack-nhfb, classification = "C4240C (Computational complexity)", corpsource = "Dept. of Comput. Sci., Chicago Univ., IL, USA", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "C-complexity; CD-complexity; computational complexity; instance complexity; NP-hard; recursive set; resource-bounded; shortest program; string; string matching", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Fu:1996:APM, author = "J. J. Fu", title = "Approximate Pattern Matching in Directed Graphs", journal = j-LECT-NOTES-COMP-SCI, volume = "1075", pages = "373--??", year = "1996", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Aug 14 09:38:08 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Gittleman:1996:PSS, author = "Arthur Gittleman", title = "Predicting string search speed", journal = j-ACM-J-EXP-ALGORITHMICS, volume = "1", pages = "2:1--2:??", month = "????", year = "1996", CODEN = "????", DOI = "https://doi.org/10.1145/235141.235147", ISSN = "1084-6654", ISSN-L = "1084-6654", bibdate = "Mon Oct 6 16:01:58 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/jea.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "String search is fundamental in many text processing applications. Sunday recently gave several algorithms to find the first occurrence of a pattern string as a substring of a text, providing experimental data from searches in a text of about 200K characters to support his claim that his algorithms are faster than the standard Boyer--Moore algorithm. We present a methodology for the average-case analysis of the performance of string search algorithms---for such algorithms, a worst-case analysis does not yield much useful information, since the performance of the algorithm is directly affected by such characteristics as the size of the character set, the character frequencies, and the structure of the text. Knuth described a finite automaton which can be used to save information about character comparisons. Baeza-Yates, Gonnet, and Regnier gave a probabilistic analysis of the worst- and average-case behavior of a string search algorithm based upon such an automaton. We construct Knuth automata to model Sunday's algorithms and use the methods of Baeza-Yates et al. to obtain an average-case analysis which confirms Sunday's experimental data.", acknowledgement = ack-nhfb, articleno = "2", fjournal = "Journal of Experimental Algorithmics (JEA)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J430", } @Article{Gostanza:1996:NLP, author = "Pedro Palao Gostanza and Ricardo Pe{\~n}a and Manuel N{\'u}{\~n}ez", title = "A new look at pattern matching in abstract data types", journal = j-SIGPLAN, volume = "31", number = "6", pages = "110--121", month = jun, year = "1996", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:17:20 MST 2003", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, affiliation = "Dept. de Inf. y Autom., Complutense Univ., Madrid, Spain", fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", } @Article{Guglielmo:1996:NLR, author = "Eugene J. Guglielmo and Neil C. Rowe", title = "Natural-Language Retrieval of Images Based on Descriptive Captions", journal = j-TOIS, volume = "14", number = "3", pages = "237--267", month = jul, year = "1996", CODEN = "ATISET", ISSN = "1046-8188", ISSN-L = "0734-2047", bibdate = "Sat Jan 16 19:04:41 MST 1999", bibsource = "Compendex database; http://www.acm.org/pubs/tois/toc.html; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tois.bib", URL = "http://www.acm.org:80/tois/abstracts/guglielmo.html", abstract = "We describe a prototype intelligent information retrieval system that uses natural-language understanding to efficiently locate captioned data. Multimedia data generally require captions to explain their features and significance. Such descriptive captions often rely on long nominal compounds (strings of consecutive nouns) which create problems of disambiguating word sense. In our system, captions and user queries are parsed and interpreted to produce a logical form, using a detailed theory of the meaning of nominal compounds. A fine-grain match can then compare the logical form of the query to the logical forms for each caption. To improve system efficiency, we first perform a coarse-grain match with index files, using nouns and verbs extracted from the query. Our experiments with randomly selected queries and captions from an existing image library show an increase of 30\% in precision and 50\% in recall over the keyphrase approach currently used. Our processing times have a media of seven seconds as compared to eight minutes for the existing system, and our system is much easier to use.", acknowledgement = ack-nhfb, affiliation = "Monterey Bay Aquarium Research Inst (MBARI)", affiliationaddress = "Moss Landing, CA, USA", classification = "723.1.1; 723.2; 723.3; 723.4.1; 741; 903.3", fjournal = "ACM Transactions on Information Systems (TOIS)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J779", journalabr = "ACM Trans Inf Syst", keywords = "Algorithms; Coarse grain match; Computational linguistics; Database systems; Descriptive captions; Fine grain match; Formal logic; Image processing; Information retrieval systems; Intelligent information retrieval system; Knowledge based systems; Knowledge representation; Multimedia; Natural language processing systems; Query languages", } @Article{Hirshfeld:1996:ULE, author = "Yoram Hirshfeld", title = "Undecidability of Language Equivalence for Generalized Regular Expressions", journal = j-FUND-INFO, volume = "26", number = "1", pages = "95--102", month = jan, year = "1996", CODEN = "FUMAAJ", DOI = "https://doi.org/10.3233/FI-1996-2617", ISSN = "0169-2968 (print), 1875-8681 (electronic)", ISSN-L = "0169-2968", bibdate = "Sat Mar 5 16:53:40 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/fundinfo1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Fundamenta Informaticae", journal-URL = "http://content.iospress.com/journals/fundamenta-informaticae", } @InProceedings{Howard:1996:LLC, author = "P. G. Howard", title = "Lossless and lossy compression of text images by soft pattern matching", crossref = "Storer:1996:DDC", pages = "210--219", year = "1996", DOI = "https://doi.org/10.1109/DCC.1996.488326", bibdate = "Tue Feb 5 08:26:50 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=488326", acknowledgement = ack-nhfb, } @Article{Idury:1996:MMP, author = "Ramana M. Idury and Alejandro A. Sch{\"a}ffer", title = "Multiple matching of parameterized patterns", journal = j-THEOR-COMP-SCI, volume = "154", number = "2", pages = "203--224", day = "05", month = feb, year = "1996", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:19:42 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1996&volume=154&issue=2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1996&volume=154&issue=2&aid=1904", acknowledgement = ack-nhfb, classification = "C1160 (Combinatorial mathematics); C1250 (Pattern recognition); C4220 (Automata theory); C4240 (Programming and algorithm theory)", corpsource = "Dept. of Math., Univ. of Southern California, Los Angeles, CA, USA", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "automata theory; changeable pattern set; deletions; fixed patterns; insertions; multiple pattern matching algorithms; parameterized patterns; parameterized string matching; pattern matching; pattern matching automata; pattern preprocessing; string matching; suffix trees; text; trees (mathematics)", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Iliopoulos:1996:WTO, author = "Costas S. Iliopoulos and Kunsoo Park", title = "A work-time optimal algorithm for computing all string covers", journal = j-THEOR-COMP-SCI, volume = "164", number = "1--2", pages = "299--310", day = "10", month = sep, year = "1996", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:20:12 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1996&volume=164&issue=1-2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1996&volume=164&issue=1-2&aid=2255", acknowledgement = ack-nhfb, classification = "C4240C (Computational complexity); C4240P (Parallel programming and algorithm theory)", corpsource = "Dept. of Comput. Sci., King's Coll., London, UK", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "all-covers problem; computational complexity; concatenations; CRCW PRAM algorithm; optimal algorithm; parallel algorithms; regularity; repetitive structures; string covers; string matching; time complexity", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{JaJa:1996:SSC, author = "Joseph F. J{\'a}J{\'a} and Kwan Woo Ryu and Uzi Vishkin", title = "Sorting strings and constructing digital search trees in parallel", journal = j-THEOR-COMP-SCI, volume = "154", number = "2", pages = "225--245", day = "05", month = feb, year = "1996", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:19:42 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1996&volume=154&issue=2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1996&volume=154&issue=2&aid=1897", acknowledgement = ack-nhfb, classification = "C1160 (Combinatorial mathematics); C4240C (Computational complexity); C4240P (Parallel programming and algorithm theory)", corpsource = "Inst. for Adv. Comput. Studies, Maryland Univ., College Park, MD, USA", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "alphabet; Arbitrary CRCW PRAM; circular string; Common CRCW PRAM; computation model; computational complexity; deterministic algorithm; deterministic algorithms; digital search trees; lexicographic ordering; optimal-work parallel algorithms; parallel algorithms; randomised algorithms; randomized algorithm; single processor; sorting; sorting strings; string matching; strings; tree searching", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Jiang:1996:OWH, author = "Tao Jiang and Ming Li", title = "$k$ One-Way Heads Cannot Do String-Matching", journal = j-J-COMP-SYS-SCI, volume = "53", number = "3", pages = "513--524", month = dec, year = "1996", CODEN = "JCSSBM", DOI = "https://doi.org/10.1006/jcss.1996.0084", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:26:32 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0022000096900847", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Article{Jokinen:1996:CAS, author = "Petteri Jokinen and Jorma Tarhio and Esko Ukkonen", title = "A Comparison of Approximate String Matching Algorithms", journal = j-SPE, volume = "26", number = "12", pages = "1439--1458", month = dec, year = "1996", CODEN = "SPEXBL", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Thu Jul 29 15:11:09 MDT 1999", bibsource = "http://www3.interscience.wiley.com/journalfinder.html; https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www3.interscience.wiley.com/cgi-bin/abstract?ID=16782", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", } @InProceedings{Kaufmann:1996:IBMa, author = "Matt Kaufmann and Paolo Pecchiari", title = "Interaction with the {Boyer--Moore} Theorem Prover: a Tutorial Study Using the Arithmetic--Geometric Mean Theorem", crossref = "Zhang:1996:AMI", pages = "181--222", year = "1996", DOI = "https://doi.org/10.1007/978-94-009-1675-3_6", bibdate = "Tue Mar 14 11:58:19 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/agm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/chapter/10.1007/978-94-009-1675-3_6", acknowledgement = ack-nhfb, remark = "This chapter presents a formal proof with the Boyer--Moore Theorem Prover that the arithmetic mean of a sequence of natural numbers is greater than or equal to their geometric mean.", } @Article{Kaufmann:1996:IBMb, author = "Matt Kaufmann and Paolo Pecchiari", title = "Interaction with the {Boyer--Moore} theorem prover: A tutorial study using the arithmetic--geometric mean theorem", journal = j-J-AUTOM-REASON, volume = "16", number = "1--2", pages = "181--222", month = mar, year = "1996", CODEN = "JAREEW", DOI = "https://doi.org/10.1007/BF00244463", ISSN = "0168-7433 (print), 1573-0670 (electronic)", ISSN-L = "0168-7433", MRclass = "68T15 (03B35)", MRnumber = "1390909", bibdate = "Tue Mar 14 07:52:56 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/agm.bib; https://www.math.utah.edu/pub/tex/bib/jautomreason.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/BF00244463", acknowledgement = ack-nhfb, ajournal = "J. Autom. Reason.", fjournal = "Journal of Automated Reasoning", journal-URL = "http://link.springer.com/journal/10817", zzbibdate = "Tue Aug 15 10:35:36 2017", } @InProceedings{Kontoyiannis:1996:SEE, author = "I. Kontoyiannis and Y. M. Suhov", title = "Stationary entrophy estimation via string matching", crossref = "Storer:1996:DDC", pages = "??--??", year = "1996", DOI = "https://doi.org/10.1109/DCC.1996.488376", bibdate = "Tue Feb 5 08:26:50 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=488376", acknowledgement = ack-nhfb, } @Article{Lucarella:1996:VRE, author = "Dario Lucarella and Antonella Zanzi", title = "A Visual Retrieval Environment for Hypermedia Information Systems", journal = j-TOIS, volume = "14", number = "1", pages = "3--29", month = jan, year = "1996", CODEN = "ATISET", ISSN = "1046-8188", ISSN-L = "0734-2047", bibdate = "Sat Jan 16 19:04:41 MST 1999", bibsource = "Compendex database; http://www.acm.org/pubs/tois/toc.html; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tois.bib", URL = "http://www.acm.org:80/tois/abstracts/lucarella.html", abstract = "A graph-based object model that may be used as a uniform framework for direct manipulation of multimedia information is presented. After motivating the need for abstraction and structuring mechanisms in hypermedia systems, the notion of perspective is introduced, which is a form of data abstraction that acts as a user interface to the system, providing control over the visibility of the objects and their properties. Presented is a visual retrieval environment that effectively combines filtering, browsing, and navigation to provide an integrated view of the retrieval problem. Design and implementation issues are outlined for MORF (Multimedia Object Retrieval Environment), a prototype system relying on the proposed model. The focus is on the main user interface functionalities. Actual interaction sessions are presented including schema creation, information loading, and information retrieval.", acknowledgement = ack-nhfb, affiliation = "Centro Ricerca di Automatica", affiliationaddress = "Milano, Italy", classification = "722.2; 723.2; 723.3; 723.5; 903.3; 903.4", fjournal = "ACM Transactions on Information Systems (TOIS)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J779", journalabr = "ACM Trans Inf Syst", keywords = "Abstracting; Browsing; Computer simulation; Data structures; Database systems; Graphical user interfaces; Hypermedia information systems; Hypertext; Information filtering; Information retrieval systems; Information services; Information technology; Interactive computer graphics; Multimedia; Multimedia object retrieval environment; Pattern matching; Schema graph; Subgraph; Systems analysis; Visual retrieval environment; Visualization", } @Article{Marx:1996:PWA, author = "Delia I. S. Marx and Phyllis G. Frankl", title = "The path-wise approach to data flow testing with pointer variables", journal = j-SIGSOFT, volume = "21", number = "3", pages = "135--146", month = may, year = "1996", CODEN = "SFENDP", DOI = "https://doi.org/10.1145/226295.226311", ISSN = "0163-5948 (print), 1943-5843 (electronic)", ISSN-L = "0163-5948", bibdate = "Wed Aug 1 17:13:10 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigsoft1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "This paper describes a new approach to performing data flow testing on programs that use pointer variables and a tool based on this approach. Our technique is based on the observation that, under certain reasonable assumptions, we can determine which dereferenced pointers are aliased whenever control reaches a given program point via a particular path. Furthermore, we can group together paths which behave similarly and represent them by regular expressions. The resulting test requirements demand that the test data execute representatives of particular sets of paths between variable definitions and uses.", acknowledgement = ack-nhfb, fjournal = "ACM SIGSOFT Software Engineering Notes", journal-URL = "https://dl.acm.org/citation.cfm?id=J728", } @Article{Matsushita:1996:FPM, author = "M. Matsushita and M. Umano and I. Hatono and H. Tamura", title = "A Fast Pattern-Matching Algorithm Using Matching Candidates for Production Systems", journal = j-LECT-NOTES-COMP-SCI, volume = "1114", pages = "646--??", year = "1996", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue Oct 29 14:12:39 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Middendorf:1996:TDP, author = "Martin Middendorf", title = "Two-dimensional partitioning problems", journal = j-THEOR-COMP-SCI, volume = "164", number = "1--2", pages = "73--106", day = "10", month = sep, year = "1996", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:20:12 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1996&volume=164&issue=1-2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1996&volume=164&issue=1-2&aid=2126", acknowledgement = ack-nhfb, classification = "C1160 (Combinatorial mathematics); C4240C (Computational complexity); C6120 (File organisation); C6130 (Data handling techniques)", corpsource = "Inst. f{\"u}r Angewandte Inf. und Formale Beschreibungsverfahren, Karlsruhe Univ., Germany", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "2 dimensional consecutive sets problem; complexity; computational complexity; consecutive sets; scheduling; set theory; storage management; storage organization; string; string matching; two dimensional partitioning problems", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Mossouni:1996:CSM, author = "F. Mossouni and C. Lavault", title = "{$N$}-Cube String Matching Algorithm with Long Texts", journal = j-LECT-NOTES-COMP-SCI, volume = "1120", pages = "328--340", year = "1996", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon Aug 25 16:23:54 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Moussouni:1996:DSM, author = "F. Moussouni and C. Lavault", title = "Distributed String Matching Algorithm on the {$N$}-cube", journal = j-LECT-NOTES-COMP-SCI, volume = "1123", pages = "832--??", year = "1996", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue Oct 29 14:12:39 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Muth:1996:AMS, author = "R. Muth and U. Manber", title = "Approximate Multiple String Search", journal = j-LECT-NOTES-COMP-SCI, volume = "1075", pages = "75--??", year = "1996", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Aug 14 09:38:08 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs1996a.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Nelson:1996:AAF, author = "Mark R. Nelson", title = "Algorithm Alley: Fast String Searches With Suffix Trees", journal = j-DDJ, volume = "21", number = "8", pages = "115--??", month = aug, year = "1996", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Mon Sep 2 09:09:39 MDT 1996", bibsource = "http://www.ddj.com/index/author/index.htm; https://www.math.utah.edu/pub/tex/bib/dr-dobbs-1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Park:1996:ATD, author = "K. Park", title = "Analysis of Two-Dimensional Approximate Pattern Matching Algorithms", journal = j-LECT-NOTES-COMP-SCI, volume = "1075", pages = "335--??", year = "1996", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Aug 14 09:38:08 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Raymond:1996:RRE, author = "P. Raymond", title = "Recognizing Regular Expressions by Means of Dataflow Networks", journal = j-LECT-NOTES-COMP-SCI, volume = "1099", pages = "336--??", year = "1996", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Fri Sep 6 19:46:15 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Sadeh:1996:UDC, author = "Ilan Sadeh", title = "Universal Data Compression Algorithm Based on Approximate String Matching", journal = j-PROBAB-ENGRG-INFORM-SCI, volume = "10", number = "4", pages = "465--486", month = oct, year = "1996", CODEN = "????", DOI = "https://doi.org/10.1017/S0269964800004502", ISSN = "0269-9648 (print), 1469-8951 (electronic)", ISSN-L = "0269-9648", bibdate = "Thu Aug 24 08:19:22 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/probab-engrg-inform-sci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.cambridge.org/core/product/F03252060CD00649B02534E0CF74CD68", acknowledgement = ack-nhfb, ajournal = "Probab. Engrg. Inform. Sci.", fjournal = "Probability in the Engineering and Informational Sciences", journal-URL = "http://www.journals.cambridge.org/jid_PES", onlinedate = "01 July 2009", } @Article{Sanfeliu:1996:ERC, author = "A. Sanfeliu and R. Alquezar", title = "Efficient Recognition of a Class of Context-Sensitive Languages Described by Augmented Regular Expressions", journal = j-LECT-NOTES-COMP-SCI, volume = "1121", pages = "1--??", year = "1996", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat Dec 21 09:47:26 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Seni:1996:GED, author = "Giovanni Seni and V. Kripasundar and Rohini K. Srihari", title = "Generalizing edit distance to incorporate domain information: handwritten text recognition as a case study", journal = j-PATTERN-RECOGN, volume = "29", number = "3", pages = "405--414", month = mar, year = "1996", CODEN = "PTNRA8", ISSN = "0031-3203 (print), 1873-5142 (electronic)", ISSN-L = "0031-3203", bibdate = "Wed Jan 15 12:19:41 MST 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/spell.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "In this paper the Damerau-Levenshtein string difference metric is generalized in two ways to more accurately compensate for the types of errors that are present in the script recognition domain. First, the basic dynamic programming method for computing such a measure is extended to allow for merges, splits and two-letter substitutions. Second, edit operations are refined into categories according to the effect they have on the visual `appearance' of words. A set of recognizer-independent constraints is developed to reflect the severity of the information lost due to each operation. These constraints are solved to assign specific costs to the operations. Experimental results on 2335 corrupted strings and a lexicon of 21,299 words show higher correcting rates than with the original form.", acknowledgement = ack-nhfb, affiliation = "CEDAR\slash SUNY at Buffalo", affiliationaddress = "Buffalo, NY, USA", classification = "721.1; 723.2; 723.5; 921.5", fjournal = "Pattern Recognition", journalabr = "Pattern Recognit", keywords = "Calculations; Character recognition; Constraint theory; Damerau-Levenshtein metric; Dynamic programming; Error correction; Image segmentation; Post processing; Script recognition; Spelling error correction; String distance; String matching; Text editing; Word recognition", } @Article{Sestoft:1996:MPM, author = "P. Sestoft", title = "{ML} Pattern Match Compilation and Partial Evaluation", journal = j-LECT-NOTES-COMP-SCI, volume = "1110", pages = "446--??", year = "1996", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue Oct 29 14:12:39 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Shawe-Taylor:1996:FSM, author = "John Shawe-Taylor", title = "Fast string matching in stationary ergodic sources", journal = j-COMBIN-PROBAB-COMPUT, volume = "5", number = "4", pages = "415--427", month = dec, year = "1996", CODEN = "CPCOFG", DOI = "https://doi.org/10.1017/S0963548300002169", ISSN = "0963-5483 (print), 1469-2163 (electronic)", ISSN-L = "0963-5483", MRclass = "68Q25 (68Q20)", MRnumber = "MR1426434 (98c:68098)", MRreviewer = "Colin J. H. McDiarmid", bibdate = "Sat Nov 26 17:00:44 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/combinprobabcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", ajournal = "Combin. Probab. Comput.", fjournal = "Combinatorics, Probability and Computing", journal-URL = "http://journals.cambridge.org/action/displayJournal?jid=CPC", } @Article{Shi:1996:SAM, author = "F. Shi", title = "Suffix Arrays for Multiple Strings: a Method for On-line Multiple String Searches", journal = j-LECT-NOTES-COMP-SCI, volume = "1179", pages = "11--??", year = "1996", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Fri Aug 22 11:59:49 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs1996b.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Stojmenovic:1996:CTB, author = "Ivan Stojmenovic", title = "Constant Time {BSR} Solutions to Parenthesis Matching, Tree Decoding, and Tree Reconstruction From Its Traversals", journal = j-IEEE-TRANS-PAR-DIST-SYS, volume = "7", number = "2", pages = "218--224", month = feb, year = "1996", CODEN = "ITDSEO", ISSN = "1045-9219 (print), 1558-2183 (electronic)", ISSN-L = "1045-9219", bibdate = "Fri Nov 6 12:31:15 MST 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/ieeetranspardistsys.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.computer.org/tpds/td1996/l0218abs.htm", acknowledgement = ack-nhfb, affiliation = "Univ of Ottawa", affiliationaddress = "Ottawa, Ont, Can", classification = "722.1; 722.4; 723.1; 723.2; 921.6; C4240P (Parallel programming and algorithm theory)", corpsource = "Dept. of Comput. Sci., Ottawa Univ., Ont., Canada", fjournal = "IEEE Transactions on Parallel and Distributed Systems", journal-URL = "http://www.computer.org/tpds/archives.htm", journalabr = "IEEE Trans Parallel Distrib Syst", keywords = "Binary tree; binary trees; Bistring representation; bitstring representation; Broadcasting; broadcasting with selective reduction; Broadcasting with selective reduction; BSR solutions; Data storage equipment; Data structures; decoding; Decoding; Integer sorting; next tree shape; Number theory; parallel algorithms; Parallel algorithms; parallel computation; parallel prefix; Parallel prefix; Parallel processing systems; Parallel random access machine; Parenthesis matching; parenthesis matching; reconstruction; Sorting; sorting; Storage allocation (computer); Transversals; tree; tree decoding; Tree decoding; Tree reconstruction", treatment = "T Theoretical or Mathematical", } @Article{Sutinen:1996:FQS, author = "E. Sutinen and J. Tarhio", title = "Filtration with $q$-Samples in Approximate String Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "1075", pages = "50--??", year = "1996", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Aug 14 09:38:08 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs1996a.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Sutinen:1996:FSA, author = "E. Sutinen and J. Tarhio", title = "Filtration with $q$-Samples in Approximate String Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "1075", pages = "50--??", year = "1996", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Aug 14 09:38:08 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Takahashi:1996:UCN, author = "Yoshikane Takahashi", title = "A unified constructive network model for problem-solving", journal = j-THEOR-COMP-SCI, volume = "156", number = "1--2", pages = "217--261", day = "25", month = mar, year = "1996", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:19:48 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1996&volume=156&issue=1-2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1996&volume=156&issue=1-2&aid=2075", acknowledgement = ack-nhfb, classification = "C1160 (Combinatorial mathematics); C1180 (Optimisation techniques); C4240 (Programming and algorithm theory); C5290 (Neural computing techniques)", corpsource = "NTT Commun. Sci. Labs., Yokosuka, Japan", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "algorithm theory; computation theory; constituent functions set; constraint; neural net model; neural nets; neural network model; optimisation; optimization problem; pattern classification; pattern matching; problem solving; programming theory; restrictive conditions; traveling salesman problem; travelling salesman problem; travelling salesman problems; unified constructive network model; unified method", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Takaoka:1996:LRP, author = "Tadao Takaoka", title = "A left-to-right preprocessing computation for the {Boyer--Moore} string matching algorithm", journal = j-COMP-J, volume = "39", number = "5", pages = "413--416", month = "????", year = "1996", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/39.5.413", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Tue Dec 4 14:48:47 MST 2012", bibsource = "http://comjnl.oxfordjournals.org/content/39/5.toc; http://www3.oup.co.uk/computer_journal/Volume_39/Issue_05/Vol39_05.index.html; https://www.math.utah.edu/pub/tex/bib/compj.bib; https://www.math.utah.edu/pub/tex/bib/compj1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://comjnl.oxfordjournals.org/content/39/5/413.full.pdf+html; http://www.oup.co.uk/jnls/list/comjnl/hdb/Volume_39/Issue_05/390413.sgm.abs.html; http://www3.oup.co.uk/computer_journal/Volume_39/Issue_05/Vol39_05.body.html#AbstractTakaoka", acknowledgement = ack-nhfb, classcodes = "C6130 (Data handling techniques); C4240C (Computational complexity)", corpsource = "Dept. of Comput. Sci., Ibaraki Univ., Japan", email-1 = "takaoka@cis.ibaraki.ac.jp", fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", keywords = "BM algorithm; Boyer--Moore string; computational complexity; d-table; dd-table; Horspool table; KMP algorithm; left-to-right preprocessing computation; linear; matching algorithm; offline processing; on the fly; online; pattern matching; processing; random pattern; shift tables; string matching; time", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Tuijn:1996:CCG, author = "Chris Tuijn and Marc Gyssens", title = "{CGOOD}, a categorical graph-oriented object data model", journal = j-THEOR-COMP-SCI, volume = "160", number = "1--2", pages = "217--239", day = "10", month = jun, year = "1996", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:20:01 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1996&volume=160&issue=1-2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1996&volume=160&issue=1-2&aid=2030", acknowledgement = ack-nhfb, classification = "C1160 (Combinatorial mathematics); C1250 (Pattern recognition); C4250 (Database theory); C6120 (File organisation); C6140D (High level languages); C6160J (Object-oriented databases)", corpsource = "Agfa-Gevaert N.V., Mortsel, Belgium", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "categorical approach; categorical constructs; categorical graph oriented object data model; category theory; CGOOD; data structures; functional abstraction; graph category; graph theory; instance level; morphisms; object oriented data model; object-oriented databases; pattern matching; pattern matchings; query language; query languages; relational database operators; transitive closure; typed graphs; update language", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Watson:1996:NRG, author = "B. W. Watson", title = "A New Regular Grammar Pattern Matching Algorithm", journal = j-LECT-NOTES-COMP-SCI, volume = "1136", pages = "364--??", year = "1996", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat Dec 21 09:47:26 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Watson:1996:TSM, author = "B. W. Watson and G. Zwaan", title = "A taxonomy of sublinear multiple keyword pattern matching algorithms", journal = j-SCI-COMPUT-PROGRAM, volume = "27", number = "2", pages = "85--118", month = sep, year = "1996", CODEN = "SCPGD4", ISSN = "0167-6423 (print), 1872-7964 (electronic)", ISSN-L = "0167-6423", MRclass = "68Q20 (68Q25)", MRnumber = "97e:68039", bibdate = "Sun Oct 10 09:12:09 MDT 1999", bibsource = "Compendex database; http://www.sciencedirect.com/science/journal/01676423; https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", acknowledgement = ack-nhfb, affiliation = "Eindhoven Univ of Technology", affiliationaddress = "Neth", classification = "716.1; 723; 903.1; 921.4", fjournal = "Science of Computer Programming", journal-URL = "http://www.sciencedirect.com/science/journal/01676423", journalabr = "Sci Comput Program", keywords = "Algorithms; Classification (of information); Computer aided analysis; Data processing; Graph theory; Information analysis; Taxonomy; Trees (mathematics)", } @Article{Ziadi:1996:REL, author = "Djelloul Ziadi", title = "Regular expression for a language without empty word", journal = j-THEOR-COMP-SCI, volume = "163", number = "1--2", pages = "309--315", day = "30", month = aug, year = "1996", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:20:10 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1996&volume=163&issue=1-2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1996&volume=163&issue=1-2&aid=2231", acknowledgement = ack-nhfb, classification = "C4210L (Formal languages and computational linguistics)", corpsource = "Lab. d'Inf., Rouen Univ., Mont-Saint-Aignan, France", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "formal language; formal languages; linear-time algorithm; recursive definition; recursive functions; regular expression", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Zuendorf:1996:GPM, author = "A. Zuendorf", title = "Graph Pattern Matching in {PROGRES}", journal = j-LECT-NOTES-COMP-SCI, volume = "1073", pages = "454--??", year = "1996", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Aug 14 09:38:08 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Amir:1997:IPM, author = "Amihood Amir and Alberto Apostolico and Moshe Lewenstein", title = "Inverse Pattern Matching", journal = j-J-ALG, volume = "24", number = "2", pages = "325--339", month = aug, year = "1997", CODEN = "JOALDV", DOI = "https://doi.org/10.1006/jagm.1996.0850", ISSN = "0196-6774 (print), 1090-2678 (electronic)", ISSN-L = "0196-6774", bibdate = "Tue Dec 11 09:16:44 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/jalg.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0196677496908500", acknowledgement = ack-nhfb, fjournal = "Journal of Algorithms", journal-URL = "http://www.sciencedirect.com/science/journal/01966774", } @Article{Amir:1997:PMH, author = "A. Amir and M. Lewenstein and N. Lewenstein", title = "Pattern Matching in Hypertext", journal = j-LECT-NOTES-COMP-SCI, volume = "1272", pages = "160--??", year = "1997", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue Apr 28 08:51:33 MDT 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @InProceedings{Amir:1997:PMS, author = "A. Amir and Y. Aumann and G. M. Landau and M. Lewenstein and N. Lewenstein", title = "Pattern matching with swaps", crossref = "IEEE:1997:ASF", pages = "144--153", year = "1997", bibdate = "Thu Apr 5 06:13:52 MDT 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:1997:BRMf, author = "Anonymous", title = "Book Review: {{\booktitle{Mastering regular expressions: Powerful techniques for perl and other tools}}: By Jeffrey E. F. Friedl. O'Reilly, Sebastopol, CA. (1997). 342 pages. \$29.95}", journal = j-COMPUT-MATH-APPL, volume = "33", number = "5", pages = "129--129", month = mar, year = "1997", CODEN = "CMAPDK", ISSN = "0898-1221 (print), 1873-7668 (electronic)", ISSN-L = "0898-1221", bibdate = "Wed Mar 1 21:48:37 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/computmathappl1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0898122197829343", acknowledgement = ack-nhfb, fjournal = "Computers and Mathematics with Applications", journal-URL = "http://www.sciencedirect.com/science/journal/08981221", } @Article{Anonymous:1997:BRPj, author = "Anonymous", title = "Book Review: {{\booktitle{Pattern matching algorithms}}: Edited by Alberto Apostolico and Zvi Galil. Oxford University Press, New York, (1997). 377 pages. \$65.00}", journal = j-COMPUT-MATH-APPL, volume = "34", number = "10", pages = "138--139", month = nov, year = "1997", CODEN = "CMAPDK", ISSN = "0898-1221 (print), 1873-7668 (electronic)", ISSN-L = "0898-1221", bibdate = "Wed Mar 1 21:48:40 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/computmathappl1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0898122197902352", acknowledgement = ack-nhfb, fjournal = "Computers and Mathematics with Applications", journal-URL = "http://www.sciencedirect.com/science/journal/08981221", } @Book{Apostolico:1997:PMA, editor = "Alberto Apostolico and Zvi Galil", title = "Pattern matching algorithms", publisher = pub-OXFORD, address = pub-OXFORD:adr, pages = "377", year = "1997", ISBN = "0-19-511367-5", ISBN-13 = "978-0-19-511367-9", LCCN = "QA76.9.A43 P38 1997", bibdate = "Mon Mar 6 10:15:11 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; z3950.loc.gov:7090/Voyager", URL = "http://www.loc.gov/catdir/enhancements/fy0603/96049602-d.html; http://www.loc.gov/catdir/enhancements/fy0603/96049602-t.html", abstract = "This text provides an overview of the current state of pattern matching as seen by specialists who have devoted years of study to the field. It covers most of the basic principles and presents material from the frontier of research.", acknowledgement = ack-nhfb, subject = "Computer algorithms; Combinatorial analysis; COMPUTERS; Optical Data Processing.; Combinatorial analysis.; Computer algorithms.; Combinat{\'o}ria.; Algorithmus.; Mustererkennung.; Mustervergleich.", tableofcontents = "Off-line serial exact string searching / M. Crochemore \\ Off-line parallel exact string searching / Z. Galil and I. Yudkiewicz \\ On-line string searching / A. Apostolico \\ Serial computations of Levenshtein distances / D. S. Hirschberg \\ Parallel computations of Levenshtein distances / A. Apostolico and M. J. Atallah \\ Approximate string searching / G. M. Landau and U. Vishkin \\ Dynamic programming: special cases / R. Giancarlo \\ Shortest common superstrings / M. Li and T. Jiang \\ Two dimensional matching / A. Amir and M. Farach \\ Suffix tree data structures for matrices / R. Giancarlo and R. Grossi \\ Tree pattern matching / K. Zhang and D. Shasa", } @InProceedings{Atzeni:1997:CP, author = "Paolo Atzeni and Giansalvatore Mecca", title = "Cut and paste", crossref = "ACM:1997:PPS", pages = "144--153", year = "1997", bibdate = "Wed Oct 25 08:47:39 MDT 2000", bibsource = "http://www.acm.org/pubs/contents/proceedings/series/sigmod_pods/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/articles/proceedings/pods/263661/p144-atzeni/p144-atzeni.pdf; http://www.acm.org/pubs/citations/proceedings/pods/263661/p144-atzeni/; http://www.acm.org:80/pubs/citations/proceedings/pods/263661/p144-atzeni/", acknowledgement = ack-nhfb, keywords = "documentation; languages; performance", subject = "{\bf H.2.3} Information Systems, DATABASE MANAGEMENT, Languages. {\bf C.2.1} Computer Systems Organization, COMPUTER-COMMUNICATION NETWORKS, Network Architecture and Design, Internet. {\bf I.7.2} Computing Methodologies, DOCUMENT AND TEXT PROCESSING, Document Preparation. {\bf H.5.2} Information Systems, INFORMATION INTERFACES AND PRESENTATION, User Interfaces. {\bf F.2.2} Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching.", } @Article{Baeza-Yates:1997:MAS, author = "R. Baeza-Yates and G. Navarro", title = "Multiple Approximate String Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "1272", pages = "174--??", year = "1997", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue Apr 28 08:51:33 MDT 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @InProceedings{Bentley:1997:FAS, author = "Jon L. Bentley and Robert Sedgewick", title = "Fast Algorithms for Sorting and Searching Strings", crossref = "ACM:1997:PEA", pages = "360--369", year = "1997", bibdate = "Sat Sep 13 16:06:32 1997", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.cs.princeton.edu/~rs/strings/paper.pdf", abstract = "We present theoretical algorithms for sorting and searching multikey data, and derive from them practical C implementations for applications in which keys are character strings. The sorting algorithm blends Quicksort and radix sort; it is competitive with the best known C sort codes. The searching algorithm blends tries and binary search trees; it is faster than hashing and other commonly used search methods. The basic ideas behind the algorithms date back at least to the 1960s, but their practical utility has been overlooked. We also present extensions to more complex string problems, such as partial-match searching.", acknowledgement = ack-nhfb, affiliation = "Bell Lab", affiliationaddress = "NJ, USA", classification = "723; 723.1; 723.1.1; 903.3; 921.4", conference = "Proceedings of the 1996 8th Annual ACM--SIAM Symposium on Discrete Algorithms", journalabr = "Proc Annu ACM SIAM Symp Discrete Algorithms", keywords = "Algorithms; C (programming language); Information retrieval; Quicksort algorithms; Radix sort algorithms; Searching algorithms; Sorting; Structured programming; Trees (mathematics)", meetingaddress = "New Orleans, LA, USA", meetingdate = "Jan 5--7 1997", meetingdate2 = "01/05--07/97", sponsor = "ACM-SIAM", } @Article{Berman:1997:CPM, author = "P. Berman and M. Karpinski and L. L. Larmore and W. Plandowski", title = "On the Complexity of Pattern Matching for Highly Compressed Two-Dimensional Texts", journal = j-LECT-NOTES-COMP-SCI, volume = "1264", pages = "40--??", year = "1997", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Fri Aug 22 11:59:49 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Bernecky:1997:PBI, author = "Robert Bernecky and Michael Fitzpatrick", title = "Programmer's Bookshelf: Inner Loops and Regular Expressions", journal = j-DDJ, volume = "22", number = "12", pages = "141, 143", month = dec, year = "1997", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Fri Nov 28 17:26:40 MST 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "This month, Robert examines Rick Booth's {\em Inner Loops: A Sourcebook for Fast 32-bit Software Development}, while Michael looks at Jeffrey Friedl's {\em Mastering Regular Expressions}.", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", } @Article{Chang:1997:RED, author = "Chia-Hsiang Chang and Robert Paige", title = "From regular expressions to {DFA}'s using compressed {NFA}'s", journal = j-THEOR-COMP-SCI, volume = "178", number = "1--2", pages = "1--36", day = "30", month = may, year = "1997", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:20:54 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1997&volume=178&issue=1-2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1997&volume=178&issue=1-2&aid=2343", acknowledgement = ack-nhfb, classification = "C4210L (Formal languages and computational linguistics); C4220 (Automata theory); C6110 (Systems analysis and programming)", corpsource = "Inst. of Inf. Sci., Acad. Sinica, Taipei, Taiwan", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "alphabet symbols; compressed NFAs; deterministic automata; deterministic finite automata; DFAs; finite automata; finite differencing; formal languages; functional programming; functional programs; nondeterministic finite automata; program transformations; regular expressions; space representation", pubcountry = "Netherlands", treatment = "P Practical; T Theoretical or Mathematical", } @Misc{Charras:1997:ESM, author = "Christian Charras and Thierry Lecroq", title = "Exact String Matching Algorithms", howpublished = "Web site.", day = "14", month = jan, year = "1997", bibdate = "Thu Nov 14 10:14:24 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www-igm.univ-mlv.fr/~lecroq/string/index.html", acknowledgement = ack-nhfb, remark = "This site compares 36 different algorithms for string matching, and includes implementations in C.", } @Article{Clarke:1997:URE, author = "Charles L. A. Clarke and Gordon V. Cormack", title = "On the use of Regular Expressions for Searching Text", journal = j-TOPLAS, volume = "19", number = "3", pages = "413--426", month = may, year = "1997", CODEN = "ATPSDT", ISSN = "0164-0925 (print), 1558-4593 (electronic)", ISSN-L = "0164-0925", bibdate = "Thu Sep 11 18:32:35 MDT 1997", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/sgml.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/toplas.bib", URL = "http://www.acm.org/pubs/citations/journals/toplas/1997-19-3/p413-clarke/", abstract = "The use of regular expressions for text search is widely known and well understood. It is then surprising that the standard techniques and tools prove to be of limited use for searching structured text formatted with SGML or similar markup languages. Our experience with structured text search has caused us to reexamine the current practice. The generally accepted rule of ``leftmost longest match'' is an unfortunate choice and is at the root of the difficulties. We instead propose a rule which is semantically cleaner. This rule is generally applicable to a variety of text search applications, including source code analysis, and has interesting properties in its own right. We have written a publicly available search tool implementing the theory in the article, which has proved valuable in a variety of circumstances.", acknowledgement = ack-nhfb, fjournal = "ACM Transactions on Programming Languages and Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783", keywords = "algorithms", subject = "{\bf D.3.2} Software, PROGRAMMING LANGUAGES, Language Classifications, Specialized application languages", } @InProceedings{Cole:1997:TPM, author = "Richard Cole and Ramesh Hariharan", title = "Tree pattern matching and subset matching in randomized {$ O(n \log^3 m) $} time", crossref = "ACM:1997:PTN", pages = "66--75", year = "1997", bibdate = "Wed Feb 20 18:34:03 MST 2002", bibsource = "http://portal.acm.org/; http://www.acm.org/pubs/contents/proceedings/series/stoc/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/articles/proceedings/stoc/258533/p66-cole/p66-cole.pdf; http://www.acm.org/pubs/citations/proceedings/stoc/258533/p66-cole/", acknowledgement = ack-nhfb, } @Article{Cole:1997:TUB, author = "Richard Cole and Ramesh Hariharan", title = "Tighter Upper Bounds on the Exact Complexity of String Matching", journal = j-SIAM-J-COMPUT, volume = "26", number = "3", pages = "803--856", month = jun, year = "1997", CODEN = "SMJCAT", DOI = "https://doi.org/10.1137/S009753979324694X", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68R15 (68Q25 68U15)", MRnumber = "1 448 636", bibdate = "Mon Nov 29 11:03:08 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/26/3; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://epubs.siam.org/sam-bin/dbq/article/24694", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @Article{Crochemore:1997:CTR, author = "Maxime Crochemore and Zvi Galil and Leszek {G{\c{a}}sieniec} and Kunsoo Park and Wojciech Rytter", title = "Constant-Time Randomized Parallel String Matching", journal = j-SIAM-J-COMPUT, volume = "26", number = "4", pages = "950--960", month = aug, year = "1997", CODEN = "SMJCAT", DOI = "https://doi.org/10.1137/S009753979528007X", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68Q22 (68Q25 68R15)", MRnumber = "98c:68079", bibdate = "Mon Nov 29 11:03:10 MST 2010", bibsource = "Compendex database; http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/26/4; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://epubs.siam.org/sam-bin/dbq/article/28007", acknowledgement = ack-nhfb, affiliation = "Universit{\'e} de Marne-la-Vall{\'e}e", affiliationaddress = "Noisy le Grand, Fr", classification = "723.2; 921.5; 921.6; 922.1", fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", journalabr = "SIAM J Comput", keywords = "Computational methods; Optimization; Parallel algorithms; Parallel string matching; Probability; Random processes; Randomized algorithm", } @Book{Friedl:1997:MRE, author = "Jeffrey E. F. Friedl", title = "Mastering regular expressions: powerful techniques for {Perl} and other tools", publisher = pub-ORA, address = pub-ORA:adr, pages = "xxiv + 342", year = "1997", ISBN = "1-56592-257-3", ISBN-13 = "978-1-56592-257-0", LCCN = "QA76.73.P22 F75 1997; QA76.9.D3G728 1997", bibdate = "Mon Apr 18 14:53:04 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/ora.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib; z3950.loc.gov:7090/Voyager", price = "US\$29.95", series = "A Nutshell handbook", URL = "http://www.ora.com/catalog/regex/; http://www.oreilly.com/catalog/9781565922570; http://www.oreilly.com/catalog/regex", acknowledgement = ack-nhfb, subject = "Perl (Computer program language)", } @Article{Friesenhahn:1997:EOU, author = "Bob Friesenhahn", title = "{Expect} Offers {Unix} Scripting --- Embeddable language offers pattern-matching capabilities", journal = j-BYTE, volume = "22", number = "4", pages = "63--??", month = apr, year = "1997", CODEN = "BYTEDJ", ISSN = "0360-5280 (print), 1082-7838 (electronic)", ISSN-L = "0360-5280", bibdate = "Sat Apr 19 09:26:25 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "BYTE Magazine", } @Article{Fu:1997:DGP, author = "James Jianghai Fu", title = "Directed Graph Pattern Matching and Topological Embedding", journal = j-J-ALG, volume = "22", number = "2", pages = "372--391", month = feb, year = "1997", CODEN = "JOALDV", DOI = "https://doi.org/10.1006/jagm.1996.0818", ISSN = "0196-6774 (print), 1090-2678 (electronic)", ISSN-L = "0196-6774", bibdate = "Tue Dec 11 09:16:28 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/jalg.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0196677496908184", acknowledgement = ack-nhfb, fjournal = "Journal of Algorithms", journal-URL = "http://www.sciencedirect.com/science/journal/01966774", } @Article{Gasieniec:1997:EIP, author = "L. Gasieniec and P. Indyk and P. Krysta", title = "External Inverse Pattern Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "1264", pages = "90--??", year = "1997", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Fri Aug 22 11:59:49 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Giancarlo:1997:MDP, author = "Raffaele Giancarlo and Roberto Grossi", title = "Multi-Dimensional Pattern Matching with Dimensional Wildcards: Data Structures and Optimal On-Line Search Algorithms", journal = j-J-ALG, volume = "24", number = "2", pages = "223--265", month = aug, year = "1997", CODEN = "JOALDV", DOI = "https://doi.org/10.1006/jagm.1996.0844", ISSN = "0196-6774 (print), 1090-2678 (electronic)", ISSN-L = "0196-6774", bibdate = "Tue Dec 11 09:16:44 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/jalg.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0196677496908445", acknowledgement = ack-nhfb, fjournal = "Journal of Algorithms", journal-URL = "http://www.sciencedirect.com/science/journal/01966774", } @Book{Gusfield:1997:AST, author = "Dan Gusfield", title = "Algorithms on Strings, Trees, and Sequences: Computer Science and Computational Biology", publisher = pub-CAMBRIDGE, address = pub-CAMBRIDGE:adr, pages = "xviii + 534", year = "1997", ISBN = "0-521-58519-8 (hardcover)", ISBN-13 = "978-0-521-58519-4 (hardcover)", LCCN = "QA76.9.A43 G87 1997", bibdate = "Thu Apr 26 13:23:11 MDT 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", price = "US\$64.95", abstract = "String algorithms are a traditional area of study in computer science. In recent years their importance has grown dramatically with the huge increase of electronically stored text and of molecular sequence data (DNA or protein sequences) produced by various genome projects. This book is a general text on computer algorithms for string processing. In addition to pure computer science, the book contains extensive discussions on biological problems that are cast as string problems, and on methods developed to solve them. It emphasises the fundamental ideas and techniques central to today's applications. New approaches to this complex material simplify methods that up to now have been for the specialist alone. With over 400 exercises to reinforce the material and develop additional topics, the book is suitable as a text for graduate or advanced undergraduate students in computer science, computational biology, or bio-informatics. Its discussion of current algorithms and techniques also makes it a reference for professionals.", acknowledgement = ack-nhfb, keywords = "computer algorithms; molecular biology --- data processing", shorttableofcontents = "I: Exact String Matching: The Fundamental String Problem \\ / 1 \\ 1: Exact Matching: Fundamental Preprocessing and First Algorithms / 5 \\ 2: Exact Matching: Classical Comparison-Based Methods / 16 \\ 3: Exact Matching: A Deeper Look at Classical Methods. / 35 \\ 4: Seminumerical String Matching / 70 \\ II: Suffix Trees and Their Uses / 87 \\ 5: Introduction to Suffix Trees / 89 \\ 6: Linear-Time Construction of Suffix Trees / 94 \\ 7: First Applications of Suffix Trees. / 122 \\ 8: Constant-Time Lowest Common Ancestor Retrieval. / 181 \\ 9: More Applications of Suffix Trees. / 196 \\ III: Inexact Matching, Sequence Alignment, Dynamic Programming / 209 \\ 10: Importance of (Sub)sequence Comparison in Molecular Biology / 212 \\ 11: Core String Edits, Alignments, and Dynamic Programming. / 215 \\ 12: Refining Core String Edits and Alignments. / 254 \\ 13: Extending the Core Problems / 312 \\ 14: Multiple String Comparison \\ The Holy Grail / 332 \\ 15: Sequence Databases and Their Uses \\ The Mother Lode / 370IV: Currents, Cousins, and Cameos / 393 \\ 16: Maps, Mapping, Sequencing, and Superstrings / 395 \\ 17: Strings and Evolutionary Trees / 447 \\ 18: Three Short Topics / 480 \\ 19: Models of Genome-Level Mutations / 492 \\ Epilogue \\ Where next? / 501 \\ Glossary / 524 \\ Index / 530", tableofcontents = "Dedication \\ Contents \\ Preface \\ I Exact String Matching: The Fundamental String Problem \\ 1 Exact Matching: Fundamental Preprocessing and First Algorithms \\ 1.1 The naive method \\ 1.1.1. Early ideas for speeding up the naive method \\ 1.2 The preprocessing approach \\ 1.3 Fundamental preprocessing of the pattern \\ 1.4 Fundamental preprocessing in linear time \\ The Z algorithm \\ 1.5 The simplest linear-time exact matching algorithm \\ 1.5.1. Why continue? \\ 1.6 Exercises \\ A digression on circular strings in DNA \\ 2 Exact Matching: Classical Comparison-Based Methods \\ 2.1 Introduction \\ 2.2 The Boyer--Moore Algorithm \\ 2.2.1. Right-to-left scan \\ 2.2.2. Bad character rule \\ 2.2.3. The (strong) good suffix rule \\ 2.2.4. Preprocessing for the good suffix rule \\ 2.2.5. The good suffix rule in the search stage of Boyer--Moore \\ 2.2.6. The complete Boyer--Moore algorithm \\ 2.3 The Knuth--Morris--Pratt algorithm \\ 2.3.1. The Knuth--Morris--Pratt shift idea \\ The Knuth--Morris--Pratt shift rule \\ 2.3.2. Preprocessing for Knuth--Morris--Pratt \\ 2.3.3. A full implementation of Knuth--Morris--Pratt \\ 2.4 Real-time string matching \\ 2.4.1. Converting Knuth--Morris--Pratt to a real-time method \\ 2.4.2. Preprocessing for real-time string matching \\ 2.5 Exercises \\ 3 Exact Matching: A Deeper Look at Classical Methods \\ 3.1 A Boyer--Moore variant with a ``simple'' linear time bound \\ 3.1.1. Key ideas \\ 3.1.2. One phase in detail \\ 3.1.3. Correctness and linear-time analysis \\ 3.2 Cole's linear worst-case bound for Boyer--Moore \\ 3.2.1. Cole's proof when the pattern does not occur in the text \\ 3.2.2. The case when the pattern does occur in the text \\ 3.2.3. Adding in the bad character rule \\ 3.3 The original preprocessing for Knuth--Morris--Pratt \\ 3.3.1. The method does not use fundamental preprocessing \\ 3.3.2. The easy case \\ 3.3.3. The general case \\ 3.3.4. How to compute the optimized shift values \\ 3.4 Exact matching with a set of patterns \\ 3.4.1. Naive use of keyword trees for set matching \\ 3.4.2. The speedup: generalizing Knuth--Morris--Pratt \\ 3.4.3. Failure functions for the keyword tree \\ 3.4.4. The failure links speed up the search \\ 3.4.5. Linear preprocessing for the failure function \\ 3.4.6. The full Aho--Corasick algorithm: relaxing the substring assumption \\ 3.5 Three applications of exact set matching \\ 3.5.1. Matching against a DNA or protein library of known patterns \\ 3.5.2. Exact matching with wild cards \\ 3.5.3. Two-dimensional exact matching \\ 3.6 Regular expression pattern matching \\ 3.6.1. Formal definitions \\ 3.7 Exercises \\ 4 Seminumerical String Matching \\ 4.1 Arithmetic versus comparison-based methods \\ 4.2 The Shift-And method \\ 4.2.1. How to construct array M \\ 4.2.2. Shift-And is effective for small patterns \\ 4.2.3. agrep: The Shift-And method with errors \\ 4.2.4. How to compute Mk \\ [contents lost] \ldots{}", } @Article{Harris:1997:SSP, author = "Jason Harris", title = "{Semantica}: Semantic Pattern Matching in {Mathematica}", journal = j-MATHEMATICA-J, volume = "7", number = "3", pages = "??--??", month = "????", year = "1997", CODEN = "????", ISSN = "1047-5974 (print), 1097-1610 (electronic)", ISSN-L = "1047-5974", bibdate = "Sat Nov 6 13:34:20 MDT 2010", bibsource = "http://www.mathematica-journal.com/issue/v0i0/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Mathematica Journal", journal-URL = "http://www.mathematica-journal.com/", } @Article{Hemer:1997:RVD, author = "D. Hemer and P. A. Lindsay", title = "Reuse of Verified Design Templates Through Extended Pattern Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "1313", pages = "495--??", year = "1997", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue Apr 28 08:51:33 MDT 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Howard:1997:TIC, author = "P. G. Howard", title = "Text Image Compression Using Soft Pattern Matching", journal = j-COMP-J, volume = "40", number = "2--3", pages = "146--156", month = "????", year = "1997", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/40.2_and_3.146", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Tue Dec 4 14:48:49 MST 2012", bibsource = "http://comjnl.oxfordjournals.org/content/40/2--3.toc; http://www3.oup.co.uk/computer_journal/Volume_40/Issue_02/Vol40_02.index.html; https://www.math.utah.edu/pub/tex/bib/compj.bib; https://www.math.utah.edu/pub/tex/bib/compj1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://comjnl.oxfordjournals.org/content/40/2_and_3/146.full.pdf+html; http://www.oup.co.uk/computer_journal/Volume_40/Issue_02/Vol40_02.body.html#AbstractHoward; http://www3.oup.co.uk/computer_journal/Volume_40/Issue_02/Vol40_03.body.html#AbstractHoward", acknowledgement = ack-nhfb, email-1 = "pgh@research.att.com", fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", } @Article{Hromkovic:1997:TRE, author = "J. Hromkovic and S. Seibert and T. Wilke", title = "Translating Regular Expressions into Small curly epsilon-Free Nondeterministic Finite Automata", journal = j-LECT-NOTES-COMP-SCI, volume = "1200", pages = "55--??", year = "1997", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Fri Aug 22 11:59:49 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Hume:1997:BRMa, author = "Andrew Hume", title = "Book Review: {{\booktitle{Mastering Regular Expressions}}}", journal = j-LOGIN, volume = "22", number = "5", pages = "67--??", month = jun, year = "1997", CODEN = "LOGNEM", ISSN = "1044-6397", bibdate = "Wed Aug 13 10:48:45 MDT 1997", bibsource = "http://www.usenix.org/cgi-bin/sortbib.pl?-sA; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = ";login: the USENIX Association newsletter", } @Article{Hume:1997:BRMb, author = "Andrew Hume", title = "Book Review: {{\booktitle{Mastering Regular Expressions}}}", journal = j-LOGIN, volume = "22", number = "5", pages = "67--??", month = jun, year = "1997", CODEN = "LOGNEM", ISSN = "1044-6397", bibdate = "Wed Aug 13 10:48:45 MDT 1997", bibsource = "http://www.usenix.org/cgi-bin/sortbib.pl?-sA; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/usenix1990.bib", acknowledgement = ack-nhfb, } @Article{Ibarra:1997:FPM, author = "Louis Ibarra", title = "Finding pattern matchings for permutations", journal = j-INFO-PROC-LETT, volume = "61", number = "6", pages = "293--295", day = "24", month = apr, year = "1997", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68R05", MRnumber = "97m:68159", bibdate = "Sat Nov 7 17:55:51 MST 1998", bibsource = "http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Iliopoulos:1997:CSF, author = "Costas S. Iliopoulos and Dennis Moore and W. F. Smyth", title = "A characterization of the squares in a {Fibonacci} string", journal = j-THEOR-COMP-SCI, volume = "172", number = "1--2", pages = "281--291", day = "10", month = feb, year = "1997", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:20:35 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1997&volume=172&issue=1-2; https://www.math.utah.edu/pub/tex/bib/fibquart.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1997&volume=172&issue=1-2&aid=2344", acknowledgement = ack-nhfb, classification = "C4240 (Programming and algorithm theory)", corpsource = "Dept. of Comput. Sci., King's Coll., London, UK", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "Abelian squares; algorithm theory; computation time; computational complexity; encoding; Fibonacci string; string matching; string pattern matching; worst-case examples", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @InProceedings{Indyk:1997:DSC, author = "P. Indyk", title = "Deterministic superimposed coding with applications to pattern matching", crossref = "IEEE:1997:ASF", pages = "127--136", year = "1997", bibdate = "Thu Apr 5 06:13:52 MDT 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Jouannaud:1997:ADT, author = "Jean-Pierre Jouannaud and Mitsuhiro Okada", title = "Abstract data type systems", journal = j-THEOR-COMP-SCI, volume = "173", number = "2", pages = "349--391", day = "28", month = feb, year = "1997", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:20:40 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1997&volume=173&issue=2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1997&volume=173&issue=2&aid=2374", acknowledgement = ack-nhfb, classification = "C1250 (Pattern recognition); C4210 (Formal logic); C6120 (File organisation)", corpsource = "LRI, CNRS, Orsay, France", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "abstract data type systems; abstract data types; Barendregt's cube; calculus of constructions; first-order framework; higher-order rules; inductive types; lambda calculus; pattern matching; polymorphic lambda calculus; pure type systems", pubcountry = "Netherlands", treatment = "P Practical", } @Article{Karhumaeki:1997:PMP, author = "J. Karhumaeki and W. Plandowski and W. Rytter", title = "Pattern-Matching Problems for $2$-Dimensional Images Described by Finite Automata", journal = j-LECT-NOTES-COMP-SCI, volume = "1279", pages = "245--??", year = "1997", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue Apr 28 08:51:33 MDT 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Karpinski:1997:EPM, author = "Marek Karpinski and Wojciech Rytter and Ayumi Shinohara", title = "An Efficient Pattern-Matching Algorithm for Strings with Short Descriptions", journal = j-NORDIC-J-COMPUT, volume = "4", number = "2", pages = "172--186", month = "Summer", year = "1997", CODEN = "NJCOFR", ISSN = "1236-6064", MRclass = "68Q20 (68Q25)", MRnumber = "1 460 443", bibdate = "Fri Nov 13 16:14:15 MST 1998", bibsource = "http://www.cs.helsinki.fi/njc/njc4.html; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.cs.helsinki.fi/njc/References/karpinskirs1997:172.html", acknowledgement = ack-nhfb, fjournal = "Nordic Journal of Computing", } @Article{Kucherov:1997:MSS, author = "Gregory Kucherov and Micha{\"e}l Rusinowitch", title = "Matching a set of strings with variable length don't cares", journal = j-THEOR-COMP-SCI, volume = "178", number = "1--2", pages = "129--154", day = "30", month = may, year = "1997", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:20:54 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1997&volume=178&issue=1-2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1997&volume=178&issue=1-2&aid=2297", acknowledgement = ack-nhfb, classification = "B6140C (Optical information, image and video signal processing); C1250 (Pattern recognition); C4240 (Programming and algorithm theory); C6130 (Data handling techniques)", corpsource = "CNRS, INRIA-Lorraine, Villers-les-Nancy, France", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "data structure; directed acyclic word graph; distinguished symbol; pattern matching; string matching; strings matching; variable length don't cares", pubcountry = "Netherlands", treatment = "P Practical; T Theoretical or Mathematical", } @Article{Leung:1997:UUM, author = "Vitus J. Leung", title = "The undecidability of the unrestricted modified edit distance", journal = j-THEOR-COMP-SCI, volume = "180", number = "1--2", pages = "203--215", day = "10", month = jun, year = "1997", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:20:59 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1997&volume=180&issue=1-2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1997&volume=180&issue=1-2&aid=2399", acknowledgement = ack-nhfb, classification = "C4210 (Formal logic); C4240 (Programming and algorithm theory); C6130 (Data handling techniques)", corpsource = "Dept. of Inf. and Comput. Sci., California Univ., Irvine, CA, USA", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "decidability; edit distance; insertions; modified edit distance; sequences; string matching; substring deletions; substring insertions; undecidability; undecidable; unrestricted modified edit distance", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Lopresti:1997:BEM, author = "Daniel Lopresti and Andrew Tomkins", title = "Block edit models for approximate string matching", journal = j-THEOR-COMP-SCI, volume = "181", number = "1", pages = "159--179", day = "15", month = jul, year = "1997", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:21:01 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1997&volume=181&issue=1; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1997&volume=181&issue=1&aid=2470", acknowledgement = ack-nhfb, classification = "C4240 (Programming and algorithm theory); C4240C (Computational complexity); C6130 (Data handling techniques)", conflocation = "Valparaiso, Chile; 3-7 April 1995", conftitle = "Second International Symposium on Latin American Theoretical Informatics", corpsource = "Matsushita Inf. Technol. Lab., Panasonic Technol. Inc., Princeton, NJ, USA", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "block edit distance; block edit models; computational complexity; molecular biology; NP-complete; pen computing; polynomial-time algorithms; string matching", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Manber:1997:TCS, author = "Udi Manber", title = "A Text Compression Scheme That Allows Fast Searching Directly in the Compressed File", journal = j-TOIS, volume = "15", number = "2", pages = "124--136", month = apr, year = "1997", CODEN = "ATISET", ISSN = "1046-8188", ISSN-L = "0734-2047", bibdate = "Sat Jan 16 19:04:41 MST 1999", bibsource = "Compendex database; http://www.acm.org/pubs/tois/toc.html; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tois.bib", URL = "http://www.acm.org:80/tois/abstracts/manber.html", abstract = "A new text compression scheme is presented in this article. The main purpose of this scheme is to speed up string matching by searching the compressed file directly. The scheme requires no modification of the string-matching algorithm, which is used as a black box; any string-matching procedure can be used. Instead, the pattern is modified; only the outcome of the matching of the modified pattern against the compressed file is decompressed. Since the compressed file is smaller than the original file, the search is faster both in terms of I/O time and processing time than a search in the original file. For typical text files, we achieve about 30\% reduction of space and slightly less of search time. A 30\% space saving is not competitive with good text compression schemes, and thus should not be used where space is the predominant concern. The intended applications of this scheme are files that are searched often, such as catalogs, bibliographic files, and address books. Such files are typically not compressed, but with this scheme they can remain compressed indefinitely, saving space while allowing faster search at the same time. A particular application to an information retrieval system that we developed is also discussed.", acknowledgement = ack-nhfb, affiliation = "Univ of Arizona", affiliationaddress = "Tucson, AZ, USA", classification = "723; 723.2; 723.5; 903.3", fjournal = "ACM Transactions on Information Systems (TOIS)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J779", journalabr = "ACM Trans Inf Syst", keywords = "Algorithms; Data compression; Information retrieval systems; Pattern recognition; String matching algorithms", } @Article{Margaritis:1997:VPA, author = "K. G. Margaritis and D. J. Evans", title = "A {VLSI} processor array for flexible string matching", journal = j-PARALLEL-ALGORITHMS-APPL, volume = "11", number = "1--2", pages = "45--60", month = may, year = "1997", CODEN = "PAAPEC", DOI = "https://doi.org/10.1080/10637199708915586", ISSN = "1063-7192", ISSN-L = "1026-7689", MRclass = "68Q35", MRnumber = "MR1462306", bibdate = "Fri Jul 11 06:45:43 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", URL = "http://www.informaworld.com/smpp/content~content=a772742761", acknowledgement = ack-nhfb, fjournal = "Parallel Algorithms and Applications", journal-URL = "http://www.tandfonline.com/loi/gpaa20", } @Article{Matzen:1997:FLM, author = "R. W. Matzen and K. M. George and G. E. Hedrick", title = "A Formal Language Model for Parsing {SGML}", journal = j-J-SYST-SOFTW, volume = "36", number = "2", pages = "147--166", month = feb, year = "1997", CODEN = "JSSODM", ISSN = "0164-1212 (print), 1873-1228 (electronic)", ISSN-L = "0164-1212", bibdate = "Thu Sep 9 05:51:44 MDT 2010", bibsource = "http://www.sciencedirect.com/science/journal/01641212; https://www.math.utah.edu/pub/tex/bib/jsystsoftw.bib; https://www.math.utah.edu/pub/tex/bib/sgml.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, classcodes = "C6130D (Document processing techniques); C6140D (High level languages); C4210L (Formal languages and computational linguistics); C4220 (Automata theory)", corpsource = "Dept. of Comput. Sci., Oklahoma State Univ., Stillwater, OK, USA", fjournal = "The Journal of systems and software", journal-URL = "http://www.sciencedirect.com/science/journal/01641212", keywords = "context-free; context-free grammars; context-free parsing methods; definition; document; document design; document type definition; element declarations; finite automata; formal language model; formal languages; grammars; high-level syntax; international standard; ISO 8879; language model; Markup Language; page description languages; regular expressions; SGML parsing; software standards; Standard Generalized; static", treatment = "T Theoretical or Mathematical", } @Article{Mohri:1997:SMA, author = "Mehryar Mohri", title = "String-Matching with Automata", journal = j-NORDIC-J-COMPUT, volume = "4", number = "2", pages = "217--231", month = "Summer", year = "1997", CODEN = "NJCOFR", ISSN = "1236-6064", MRclass = "68Q20 (68Q68)", MRnumber = "1 460 445", bibdate = "Fri Nov 13 16:14:15 MST 1998", bibsource = "http://www.cs.helsinki.fi/njc/njc4.html; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.cs.helsinki.fi/njc/References/mohri1997:217.html", acknowledgement = ack-nhfb, fjournal = "Nordic Journal of Computing", } @Article{Morris:1997:GRB, author = "Paul H. Morris and Ronald A. Gray and Robert E. Filman", title = "{GOTO} Removal Based on Regular Expressions", journal = j-J-SOFTW-MAINT, volume = "9", number = "1", pages = "47--66", month = jan, year = "1997", CODEN = "JSMPEU", DOI = "https://doi.org/10.1002/(SICI)1096-908X(199701)9:1<47::AID-SMR142>3.0.CO;2-V", ISSN = "1040-550X (print), 1096-908X (electronic)", ISSN-L = "1040-550X", bibdate = "Wed Jan 31 08:40:17 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/jsoftwmaint.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Journal of Software Maintenance: Research and Practice", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)2047-7481", } @Article{Muthukrishnan:1997:DFM, author = "S. Muthukrishnan", title = "Detecting False Matches in String-Matching Algorithms", journal = j-ALGORITHMICA, volume = "18", number = "4", pages = "512--520", month = aug, year = "1997", CODEN = "ALGOEJ", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", MRclass = "68Q22 (68U15)", MRnumber = "MR1453412 (98c:68083)", bibdate = "Fri Jan 6 11:38:08 MST 2006", bibsource = "dblp-journals-algorithmica.bib; http://dblp.uni-trier.de/db/journals/algorithmica/algorithmica18.html#Muthukrishnan97; http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0178-4617&volume=18&issue=4; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/index-table-a.html#algorithmica; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0178-4617&volume=18&issue=4&spage=512", acknowledgement = ack-nhfb, fjournal = "Algorithmica. An International Journal in Computer Science", journal-URL = "http://link.springer.com/journal/453", oldlabel = "Muthukrishnan97", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/algorithmica/Muthukrishnan97", } @Article{Nedjah:1997:OLR, author = "N. Nedjah and C. D. Walter and S. E. Eldridge", title = "Optimal Left-to-Right Pattern-Matching Automata", journal = j-LECT-NOTES-COMP-SCI, volume = "1298", pages = "273--??", year = "1997", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue Apr 28 08:51:33 MDT 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Prather:1997:REP, author = "Ronald E. Prather", title = "Regular expressions for program computations", journal = j-AMER-MATH-MONTHLY, volume = "104", number = "2", pages = "120--130", month = feb, year = "1997", CODEN = "AMMYAE", ISSN = "0002-9890 (print), 1930-0972 (electronic)", ISSN-L = "0002-9890", MRclass = "68N05 (68-03 68Q60)", MRnumber = "1 437 413", bibdate = "Tue Jun 22 10:29:34 MDT 1999", bibsource = "http://www.jstor.org/journals/00029890.htm; https://www.math.utah.edu/pub/tex/bib/amermathmonthly1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.maa.org/pubs/monthly_feb97_toc.html", abstract = "Techniques are borrowed from the theory of regular expressions and from the decomposition theory of program flowgraphs to present a modified version of the B{\"o}hm-Jacopini Theorem: To every program there corresponds an equivalent structured program, i.e., one involving only the repetition, selection, and sequence constructs. A cubic graph model of programs is adopted for this purpose, and examples of the various constructions are provided.", acknowledgement = ack-nhfb, fjournal = "American Mathematical Monthly", journal-URL = "https://www.jstor.org/journals/00029890.htm", } @Article{Puxang:1997:BRB, author = "K. Puxang", title = "Book Review: {{\booktitle{Metamathematics, Machines, and G{\"o}dels Proof}}, by N. Shankar}", journal = j-SIGACT, volume = "28", number = "4", pages = "16--19", month = dec, year = "1997", CODEN = "SIGNDM", DOI = "https://doi.org/10.1145/270563.571466", ISSN = "0163-5700 (print), 1943-5827 (electronic)", ISSN-L = "0163-5700", bibdate = "Wed Mar 21 09:45:56 MDT 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigact.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "See \cite{Shankar:1994:MMG}.", abstract = "This book, first published in 1994, is derived from the author's 1986 Ph.D. dissertation, one of the main goals of which was to gauge the usefulness of automatic theorem proving technology in constructing and verifying proofs. The proofs chosen for this task were G{\"o}del's first incompleteness theorem and the Church--Rosser theorem of the lambda calculus. The theorem prover used was the Boyer--Moore theorem prover which can be obtained by ftp [1]. A manual for the prover has been published as [2]. The author gives a detailed account of the more important steps leading to the mechanized verification of proofs of these theorems. The theorem prover did not discover the proofs but checked definitions and lemmas (about 2000 for the incompleteness theorem and supplied by the author) that lead to the theorems.", acknowledgement = ack-nhfb, fjournal = "ACM SIGACT News", journal-URL = "https://dl.acm.org/loi/sigact", } @Article{Reingold:1997:KMP, author = "Edward M. Reingold and Kenneth J. Urban and David Gries", title = "{K-M-P} string matching revisited", journal = j-INFO-PROC-LETT, volume = "64", number = "5", pages = "217--223", day = "23", month = dec, year = "1997", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", MRclass = "68Q20 (68Q25)", MRnumber = "1 492 846", bibdate = "Sat Nov 7 17:55:56 MST 1998", bibsource = "http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Ropelewski:1997:IGS, author = "Alexander J. Ropelewski and Hugh B. {Nicholas, Jr.} and David W. {Deerfield, II}", title = "Implementation of Genetic Sequence Alignment Programs on Supercomputers", journal = j-J-SUPERCOMPUTING, volume = "11", number = "3", pages = "237--253", month = nov, year = "1997", CODEN = "JOSUED", DOI = "https://doi.org/10.1023/A:1007955824098", ISSN = "0920-8542 (print), 1573-0484 (electronic)", ISSN-L = "0920-8542", bibdate = "Wed Jul 6 12:13:07 MDT 2005", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0920-8542&volume=11&issue=3; http://www.wkap.nl/issuetoc.htm/0920-8542+11+3+1997; https://www.math.utah.edu/pub/tex/bib/jsuper.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0920-8542&volume=11&issue=3&spage=237; http://www.wkap.nl/oasis.htm/144236", acknowledgement = ack-nhfb, classification = "C1180 (Optimisation techniques); C5220P (Parallel architecture); C5440 (Multiprocessing systems); C5470 (Performance evaluation and testing)", corpsource = "Biomed. Supercomput. Initiative, Supercomput. Center, Pittsburgh, PA, USA", fjournal = "The Journal of Supercomputing", journal-URL = "http://link.springer.com/journal/11227", keywords = "computer architecture; context sensitive alignments; dynamic programming; genetic sequence alignment programs; high performance computer architecture; high performance computers; multiple sequence alignments; parallel processing; performance evaluation; string matching; supercomputers", pubcountry = "Netherlands", treatment = "A Application; P Practical", } @Article{Sagot:1997:MSC, author = "Marie-France Sagot and Alain Viari and Henri Soldano", title = "Multiple sequence comparison --- a peptide matching approach", journal = j-THEOR-COMP-SCI, volume = "180", number = "1--2", pages = "115--137", day = "10", month = jun, year = "1997", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:20:59 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1997&volume=180&issue=1-2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_sub/browse/browse.cgi?year=1997&volume=180&issue=1-2&aid=2340", acknowledgement = ack-nhfb, classification = "A4230S (Pattern recognition); A8715 (Molecular biophysics); C1250 (Pattern recognition); C4240 (Programming and algorithm theory); C7330 (Biology and medical computing)", corpsource = "CNRS, Paris, France", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "algorithm theory; amino acids; biocomputing; biology computing; consensus; multiple sequence comparison; nontransitivity; pattern matching; peptide matching; protein sequences; proteins; sequences", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Shields:1997:SMB, author = "Paul C. Shields", title = "String matching bounds via coding", journal = j-ANN-PROBAB, volume = "25", number = "1", pages = "329--336", month = jan, year = "1997", CODEN = "APBYAE", ISSN = "0091-1798 (print), 2168-894X (electronic)", ISSN-L = "0091-1798", bibdate = "Sun Apr 20 10:44:17 MDT 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/annprobab1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://projecteuclid.org/euclid.aop/1024404290", acknowledgement = ack-nhfb, fjournal = "Annals of Probability", journal-URL = "http://projecteuclid.org/all/euclid.aop", } @Article{Tarhio:1997:SMD, author = "Jorma Tarhio and Hannu Peltola", title = "String Matching in the {DNA} Alphabet", journal = j-SPE, volume = "27", number = "7", pages = "851--861", month = jul, year = "1997", CODEN = "SPEXBL", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Thu Jul 29 15:11:24 MDT 1999", bibsource = "http://www3.interscience.wiley.com/journalfinder.html; https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www3.interscience.wiley.com/cgi-bin/abstract?ID=7320; http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=7320&PLACEBO=IE.pdf", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", } @Article{Taylor:1997:WMR, author = "Dave Taylor", title = "The {Web} Master: Roll Your Own Search with grep", journal = j-LOGIN, volume = "22", number = "4", pages = "37--41", month = aug, year = "1997", CODEN = "LOGNEM", ISSN = "1044-6397", bibdate = "Wed Aug 13 10:48:45 MDT 1997", bibsource = "http://www.usenix.org/cgi-bin/sortbib.pl?-sA; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/usenix1990.bib", acknowledgement = ack-nhfb, } @Article{Teng:1997:ASS, author = "Shang-Hua Teng and Frances F. Yao", title = "Approximating Shortest Superstrings", journal = j-SIAM-J-COMPUT, volume = "26", number = "2", pages = "410--417", month = apr, year = "1997", CODEN = "SMJCAT", DOI = "https://doi.org/10.1137/S0097539794286125", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", MRclass = "68Q25 (05C85)", MRnumber = "97k:68084", bibdate = "Mon Nov 29 11:03:06 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toc/SICOMP/26/2; http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/26/2; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://epubs.siam.org/sam-bin/dbq/article/28612", acknowledgement = ack-nhfb, classification = "C1160 (Combinatorial mathematics); C1180 (Optimisation techniques); C4240C (Computational complexity); C6130 (Data handling techniques); C7330 (Biology and medical computing)", corpsource = "Dept. of Math., MIT, Cambridge, MA, USA", fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", keywords = "approximation algorithms; approximation theory; biology computing; combinatorial mathematics; computational complexity; data compression; DNA; DNA sequencing; MAX SNP-hard; NP-hard; optimisation; shortest-superstring problem; string matching; substrings", treatment = "T Theoretical or Mathematical", } @Article{Umali:1997:BRM, author = "Rick Umali", title = "Book Review: Mastering Regular Expressions", journal = j-LOGIN, volume = "22", number = "5", pages = "66--67", month = jun, year = "1997", CODEN = "LOGNEM", ISSN = "1044-6397", bibdate = "Wed Aug 13 10:48:45 MDT 1997", bibsource = "http://www.usenix.org/cgi-bin/sortbib.pl?-sA; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = ";login: the USENIX Association newsletter", } @Article{Westly:1997:TTA, author = "T. J. Westly", title = "{TASH}: {Tcl Ada SHell}, an {Ada\slash Tcl} binding", journal = j-SIGADA-LETTERS, volume = "17", number = "2", pages = "82--91", month = mar # "\slash " # apr, year = "1997", CODEN = "AALEE5", ISSN = "1094-3641 (print), 1557-9476 (electronic)", ISSN-L = "1094-3641", bibdate = "Tue Sep 9 11:00:49 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigada.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "A binding to Tcl (Tool Command Language) from Ada is described. The goal of this binding is to make scripting language features, such as associative arrays, regular expression matching and execution of operating system commands that are available to an Ada programmer and to allow a Tcl programmer to use Ada in place of C where needed. This binding exploits several new features of Ada 95 that make interfacing to C much cleaner and more direct than Ada 83 (0 Refs.)", acknowledgement = ack-nhfb, classification = "C6115 (Programming support); C6140D (High level languages); C6150E (General utility programs); C6150J (Operating systems)", fjournal = "ACM SIGAda Ada Letters", journal-URL = "http://portal.acm.org/citation.cfm?id=J32", keywords = "Ada; Ada 83; Ada 95; Ada/Tcl binding; application program interfaces; associative arrays; authoring languages; C interfacing; job control languages; operating system command execution; regular expression matching; scripting language features; TASH; Tcl Ada Shell; Tool Command Language", treatment = "P Practical", } @Article{Zajac:1997:GBM, author = "R. Zajac and M. Vanni", title = "Glossary-based {MT} engines in a multilingual analyst's workstation architecture", journal = j-MACH-TRANSL, volume = "12", number = "1--2", pages = "131--151", month = "????", year = "1997", CODEN = "MACTEZ", ISSN = "0922-6567 (print), 1573-0573 (electronic)", ISSN-L = "0922-6567", bibdate = "Fri Apr 24 15:18:27 MDT 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unicode.bib", acknowledgement = ack-nhfb, classification = "C5220 (Computer architecture); C6130D (Document processing techniques); C7820 (Humanities computing)", corpsource = "Comput. Res. Lab., New Mexico State Univ., Las Cruces, NM, USA", fjournal = "Machine Translation", keywords = "Arabic; bilingual phrasal dictionary; computer architecture; document browsing; document handling; English gloss; English-speaking analysts; English-speaking Tipster document management toolkit; extensible functionalities; fast information access; foreign document; glossaries; glossary-based machine translation engines; human resources; Japanese; language translation; multilingual analysts; multilingual information processing; natural language processing; natural languages; near-real-time translation; open multilingual architecture; open systems; phrase pattern-matching; phrase-by-phrase translation; Russian; Spanish; Temple project; text editing; Tipster document management toolkit; Unicode-based multilingual editor; user-controlled language resources; workstation architecture; workstations", pubcountry = "Netherlands", treatment = "P Practical", } @Article{Aceto:1998:QSE, author = "Luca Aceto and Wan Fokkink and Anna Ing{\'o}lfsd{\'o}ttir", title = "On a question of {A. Salomaa}: {The} equational theory of regular expressions over a singleton alphabet is not finitely based", journal = j-THEOR-COMP-SCI, volume = "209", number = "1--2", pages = "163--178", day = "06", month = dec, year = "1998", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:22:16 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1998&volume=209&issue=1-2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cas/tree/store/tcs/sub/1998/209/1-2/2640.pdf", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Amir:1998:ESCa, author = "A. Amir and G. M. Landau and M. Lewenstein and N. Lewenstein", title = "Efficient Special Cases of Pattern Matching with Swaps", journal = j-LECT-NOTES-COMP-SCI, volume = "1448", pages = "209--??", year = "1998", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Oct 10 14:40:24 MDT 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Amir:1998:ESCb, author = "Amihood Amir and Gad M. Landau and Moshe Lewenstein and Noa Lewenstein", title = "Efficient special cases of pattern matching with swaps", journal = j-INFO-PROC-LETT, volume = "68", number = "3", pages = "125--132", day = "15", month = nov, year = "1998", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat Nov 7 17:56:02 MST 1998", bibsource = "http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/ipl/cas_sub/browse/browse.cgi?year=1998&volume=68&issue=3&aid=2077", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Baeza-Yates:1998:FTD, author = "Ricardo Baeza-Yates and Gonzalo Navarro", title = "Fast Two-Dimensional Approximate Pattern Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "1380", pages = "341--??", year = "1998", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Tue Feb 5 11:51:48 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t1380.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/1380/13800341.htm; http://link.springer-ny.com/link/service/series/0558/papers/1380/13800341.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @InProceedings{Barcaccia:1998:PMT, author = "P. Barcaccia and A. Cresti and S. {De Agostino}", title = "Pattern matching in text compressed with the {ID} heuristic", crossref = "Storer:1998:PDD", pages = "113--118", year = "1998", DOI = "https://doi.org/10.1109/DCC.1998.672137", bibdate = "Tue Feb 5 08:38:49 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=672137", acknowledgement = ack-nhfb, } @Article{Bidoit:1998:FST, author = "N. Bidoit and S. {De Amo}", title = "A first step towards implementing dynamic algebraic dependences", journal = j-THEOR-COMP-SCI, volume = "190", number = "2", pages = "115--149", day = "20", month = jan, year = "1998", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:21:29 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1998&volume=190&issue=2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cas/tree/store/tcs/sub/1998/190/2/2624.pdf", acknowledgement = ack-nhfb, classification = "C4250 (Database theory); C6110F (Formal methods); C6130 (Data handling techniques)", conflocation = "Prague, Czech Republic; 11-13 Jan. 1995", conftitle = "5th International Conference on Database Theory - ICDT '95", corpsource = "Univ. de Paris-Nord, Villetaneuse, France", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "Abiteboul/Vianu's transaction schemas; data integrity; database theory; dynamic algebraic dependences; dynamic constraints; formal specification; regular expression; transaction-based specifications; transactions", pubcountry = "Netherlands", sponsororg = "Int. Thompson Publishing; IDOMENEUS; COMPULOG NET; et al", treatment = "P Practical", } @Article{Bose:1998:PMP, author = "Prosenjit Bose and Jonathan F. Buss and Anna Lubiw", title = "Pattern matching for permutations", journal = j-INFO-PROC-LETT, volume = "65", number = "5", pages = "277--283", day = "13", month = mar, year = "1998", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat Nov 7 17:55:58 MST 1998", bibsource = "http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Breslauer:1998:CCS, author = "Dany Breslauer and Livio Colussi and Laura Toniolo", title = "On the Comparison Complexity of the String Prefix-Matching Problem", journal = j-J-ALG, volume = "29", number = "1", pages = "18--67", month = oct, year = "1998", CODEN = "JOALDV", DOI = "https://doi.org/10.1006/jagm.1998.0948", ISSN = "0196-6774 (print), 1090-2678 (electronic)", ISSN-L = "0196-6774", bibdate = "Tue Dec 11 09:17:22 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/jalg.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0196677498909488", acknowledgement = ack-nhfb, fjournal = "Journal of Algorithms", journal-URL = "http://www.sciencedirect.com/science/journal/01966774", } @Article{Bunke:1998:ADS, author = "H. Bunke and M. Zumbuhl", title = "Acquisition of {$2$-D} Shape Models from Scenes with Overlapping Objects Using String Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "1451", pages = "200--??", year = "1998", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat Oct 10 14:40:24 MDT 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @InProceedings{Cardoze:1998:PMS, author = "D. E. Cardoze and L. J. Schulman", title = "Pattern matching for spatial point sets", crossref = "IEEE:1998:ASF", pages = "156--165", year = "1998", bibdate = "Thu Apr 5 06:13:53 MDT 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Charras:1998:VFS, author = "C. Charras and T. Lecroq and J. D. Pehoushek", title = "A Very Fast String Matching Algorithm for Small Alphabets and Long Patterns", journal = j-LECT-NOTES-COMP-SCI, volume = "1448", pages = "55--??", year = "1998", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat Oct 10 14:40:24 MDT 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Chen:1998:EAS, author = "S. W. Chen and S. T. Tung and C. Y. Fang and Shen Cherng and Anil K. Jain", title = "Extended Attributed String Matching for Shape Recognition", journal = j-COMP-VIS-IMAGE-UNDERSTANDING, volume = "70", number = "1", pages = "36--50", month = apr, year = "1998", CODEN = "CVIUF4", DOI = "https://doi.org/10.1006/cviu.1998.0599", ISSN = "1077-3142 (print), 1090-235X (electronic)", ISSN-L = "1077-3142", bibdate = "Wed Mar 8 08:53:22 MST 2000", bibsource = "http://www.idealibrary.com/servlet/useragent?func=showAllIssues&curIssueID=cviu; https://www.math.utah.edu/pub/tex/bib/cvgip.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.idealibrary.com/links/artid/cviu.1998.0599/production; http://www.idealibrary.com/links/artid/cviu.1998.0599/production/pdf; http://www.idealibrary.com/links/artid/cviu.1998.0599/production/ref", acknowledgement = ack-nhfb, fjournal = "Computer Vision and Image Understanding", journal-URL = "http://www.sciencedirect.com/science/journal/10773142", } @Article{Crochemore:1998:CTO, author = "Maxime Crochemore and Leszek Gasieniec and Ramesh Hariharan and S. Muthukrishnan and Wojciech Rytter", title = "A Constant Time Optimal Parallel Algorithm for Two-Dimensional Pattern Matching", journal = j-SIAM-J-COMPUT, volume = "27", number = "3", pages = "668--681", month = jun, year = "1998", CODEN = "SMJCAT", DOI = "https://doi.org/10.1137/S0097539795280068", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", bibdate = "Mon Nov 29 11:03:22 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/27/3; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://epubs.siam.org/sam-bin/dbq/article/28006", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @Article{Crochemore:1998:TDP, author = "Maxime Crochemore and Costas S. Iliopoulos and M. Korda", title = "Two-Dimensional Prefix String Matching and Covering on Square Matrices", journal = j-ALGORITHMICA, volume = "20", number = "4", pages = "353--373", month = apr, year = "1998", CODEN = "ALGOEJ", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", MRclass = "68Q20 (68R15)", MRnumber = "MR1600826 (99f:68078)", MRreviewer = "Ding Zhu Du", bibdate = "Fri Jan 6 11:38:09 MST 2006", bibsource = "dblp-journals-algorithmica.bib; http://dblp.uni-trier.de/db/journals/algorithmica/algorithmica20.html#CrochemoreIK98; http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0178-4617&volume=20&issue=4; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/index-table-a.html#algorithmica; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0178-4617&volume=20&issue=4&spage=353", acknowledgement = ack-nhfb, fjournal = "Algorithmica. An International Journal in Computer Science", journal-URL = "http://link.springer.com/journal/453", oldlabel = "CrochemoreIK98", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/algorithmica/CrochemoreIK98", } @Article{DAndrea:1998:DEP, author = "G. D'Andrea", title = "Distance Evaluation in Pattern Matching Based on Frontier Topological Graph", journal = j-LECT-NOTES-COMP-SCI, volume = "1451", pages = "132--??", year = "1998", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Oct 10 14:40:24 MDT 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Ellis:1998:REC, author = "Duncan Ellis and Sameer Udeshi", title = "A Regular Expression Class Library", journal = j-CCCUJ, volume = "16", number = "5", pages = "??--??", month = may, year = "1998", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:15 MDT 2002", bibsource = "http://www.cuj.com/articles/1998/9805/9805toc.htm?topic=articles; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Regular expressions are a great way to describe patterns in text, with lots of applications.", acknowledgement = ack-nhfb, fjournal = "C/C++ Users Journal", } @Article{Farach:1998:SML, author = "Martin Farach and Mikkel Thorup", title = "String Matching in {Lempel--Ziv} Compressed Strings", journal = j-ALGORITHMICA, volume = "20", number = "4", pages = "388--404", month = apr, year = "1998", CODEN = "ALGOEJ", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", MRclass = "68Q25 (68P99)", MRnumber = "MR1600834 (99a:68086)", bibdate = "Fri Jan 6 11:38:09 MST 2006", bibsource = "dblp-journals-algorithmica.bib; http://dblp.uni-trier.de/db/journals/algorithmica/algorithmica20.html#FarachT98; http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0178-4617&volume=20&issue=4; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/index-table-a.html#algorithmica; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0178-4617&volume=20&issue=4&spage=388", acknowledgement = ack-nhfb, fjournal = "Algorithmica. An International Journal in Computer Science", journal-URL = "http://link.springer.com/journal/453", oldlabel = "FarachT98", remark = "STOC'95. Part of this work was done while the first author was visiting the University of Copenhagen; he was supported in part by DIMACS (Center for Discrete Mathematics and Theoretical Computer Science), a National Science Foundation Science andi Technology Center under NSF Contract STC-8809648. This work was done while the second author was visiting DIMACS.", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/algorithmica/FarachT98", } @Article{Ferragina:1998:OLS, author = "Paolo Ferragina and Roberto Grossi", title = "Optimal On-Line Search and Sublinear Time Update in String Matching", journal = j-SIAM-J-COMPUT, volume = "27", number = "3", pages = "713--736", month = jun, year = "1998", CODEN = "SMJCAT", DOI = "https://doi.org/10.1137/S0097539795286119", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", bibdate = "Mon Nov 29 11:03:22 MST 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/27/3; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://epubs.siam.org/sam-bin/dbq/article/28611", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @InProceedings{Florescu:1998:QCC, author = "Daniela Florescu and Alon Levy and Dan Suciu", title = "Query Containment for Conjunctive Queries with Regular Expressions", crossref = "ACM:1998:PPA", pages = "139--148", year = "1998", bibdate = "Wed Oct 25 08:47:40 MDT 2000", bibsource = "http://www.acm.org/pubs/contents/proceedings/series/sigmod_pods/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/articles/proceedings/pods/275487/p139-florescu/p139-florescu.pdf; http://www.acm.org/pubs/citations/proceedings/pods/275487/p139-florescu/", acknowledgement = ack-nhfb, } @Article{Fredriksson:1998:RIF, author = "K. Fredriksson and E. Ukkonen", title = "A Rotation Invariant Filter for Two-Dimensional String Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "1448", pages = "118--??", year = "1998", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat Oct 10 14:40:24 MDT 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Hagenah:1998:CFN, author = "Christian Hagenah and Anca Muscholl", title = "Computing $ \epsilon $-Free {NFA} from Regular Expressions in {$ {O}(n \log^2 (n)) $} Time", journal = j-LECT-NOTES-COMP-SCI, volume = "1450", pages = "277--??", year = "1998", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Tue Feb 5 11:52:35 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t1450.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/1450/14500277.htm; http://link.springer-ny.com/link/service/series/0558/papers/1450/14500277.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Huang:1998:CKM, author = "Andy Huang", title = "Computation of the {Knuth--Morris--Pratt} skip tables", journal = j-SIGACT, volume = "29", number = "3", pages = "59--61", month = sep, year = "1998", CODEN = "SIGNDM", DOI = "https://doi.org/10.1145/300307.300313", ISSN = "0163-5700 (print), 1943-5827 (electronic)", ISSN-L = "0163-5700", bibdate = "Wed Mar 21 09:45:56 MDT 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigact.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGACT News", journal-URL = "https://dl.acm.org/loi/sigact", } @InProceedings{Indyk:1998:FAS, author = "P. Indyk", title = "Faster algorithms for string matching problems: matching the convolution bound", crossref = "IEEE:1998:ASF", pages = "166--173", year = "1998", bibdate = "Thu Apr 5 06:13:53 MDT 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @InProceedings{Kida:1998:MPM, author = "T. Kida and M. Takeda and A. Shinohara and M. Miyazaki and S. Arikawa", title = "Multiple pattern matching in {LZW} compressed text", crossref = "Storer:1998:PDD", pages = "103--112", year = "1998", DOI = "https://doi.org/10.1109/DCC.1998.672136", bibdate = "Tue Feb 5 08:38:49 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=672136", acknowledgement = ack-nhfb, } @Book{Knuth:1998:SS, author = "Donald E. Knuth", title = "Sorting and Searching", volume = "3", publisher = pub-AW, address = pub-AW:adr, edition = "Second", pages = "xiv + 780", year = "1998", ISBN = "0-201-89685-0", ISBN-13 = "978-0-201-89685-5", LCCN = "QA76.6.K64 1997", bibdate = "Sat Feb 27 11:11:53 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/texbook2.bib", price = "US\$49.95", series = "The Art of Computer Programming", acknowledgement = ack-nhfb, tableofcontents = "5: Sorting / 1 \\ *5.1. Combinatorial Properties of Permutations / 11 \\ *5.1.1. Inversions / 11 \\ *5.1.2. Permutations of a Multiset / 22 \\ *5.1.3. Runs / 35 \\ *5.1.4 Tableaux and Involutions / 47 \\ 5.2. Internal sorting / 73 \\ 5.2 l. Sorting by Insertion / 80 \\ 5.2.2. Sorting by Exchanging / 105 \\ 5.2.3. Sorting by Selection / 138 \\ 5.2.4 Sorting by Merging / 158 \\ 5.2 5. Sorting by Distribution / 168 \\ 5.3. Optimum Sorting / 180 \\ 5.3 l. Minimum-Comparison Sorting / 180 \\ *5.3.2. Minimum-Comparison Merging / 197 \\ *5.3.3. Minimum-Comparison Selection / 207 \\ *5.3.4. Networks for Sorting / 219 \\ 5.4. External Sorting / 248 \\ 5.4.1. Multiway Merging and Replacement Selection / 252 \\ *5.4.2. The Polyphase Merge / 267 \\ *5.4.3 The Cascade Merge / 288 \\ *5.4.4. Reading Tape Backwards / 299 \\ *5.4.5. The Oscillating Sort / 311 \\ *5.4.6. Practical Considerations for Tape Merging / 317 \\ *5.4.7. External Radix Sorting / 343 \\ *5.4.8. Two-Tape Sorting / 348 \\ *5.4.9 Disks and Drums / 356 \\ 5.5. Summary, History, and Bibliography / 380 \\ 6: Searching / 392 \\ 6.1. Sequential Searching / 396 \\ 6.2. Searching by Comparison of Keys / 409 \\ 6.2.1. Searching an Ordered Table / 409 \\ 6.2.2 Binary Tree Searching / 426 \\ 6.2.3. Balanced Trees / 458 \\ 6.2.4. Multiway Trees / 481", } @Article{Larsen:1998:REN, author = "Kim S. Larsen", title = "Regular expressions with nested levels of back referencing form a hierarchy", journal = j-INFO-PROC-LETT, volume = "65", number = "4", pages = "169--172", day = "27", month = feb, year = "1998", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat Nov 7 17:55:57 MST 1998", bibsource = "http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Lecroq:1998:ESM, author = "Thierry Lecroq", title = "Experiments on String Matching in Memory Structures", journal = j-SPE, volume = "28", number = "5", pages = "561--568", month = may, year = "1998", CODEN = "SPEXBL", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Thu Jul 29 15:11:46 MDT 1999", bibsource = "http://www3.interscience.wiley.com/journalfinder.html; https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www3.interscience.wiley.com/cgi-bin/abstract?ID=1796; http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=1796&PLACEBO=IE.pdf", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", } @Article{Li:1998:HRE, author = "X. Li and T. Zheng and J. Hou and J. Zhao", title = "Hybrid Regular Expressions", journal = j-LECT-NOTES-COMP-SCI, volume = "1386", pages = "384--??", year = "1998", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Oct 10 14:40:24 MDT 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Liu:1998:IAS, author = "Z. Liu and X. Du and N. Ishii", title = "An Improved Adaptive String Searching Algorithm", journal = j-SPE, volume = "28", number = "2", pages = "191--198", month = feb, year = "1998", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/(SICI)1097-024X(199802)28:2<191::AID-SPE149>3.0.CO;2-2", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Thu Jul 29 15:11:39 MDT 1999", bibsource = "http://www3.interscience.wiley.com/journalfinder.html; https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www3.interscience.wiley.com/cgi-bin/abstract?ID=1775; http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=1775&PLACEBO=IE.pdf", 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 = "8 Jan 1999", } @Article{Madhavan:1998:ORT, author = "M. Madhavan and P. Shankar", title = "Optimal Regular Tree Pattern Matching Using Pushdown Automata", journal = j-LECT-NOTES-COMP-SCI, volume = "1530", pages = "122--??", year = "1998", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Tue Jan 5 08:21:58 MST 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Middendorf:1998:SCS, author = "Martin Middendorf", title = "Shortest common superstrings and scheduling with coordinated starting times", journal = j-THEOR-COMP-SCI, volume = "191", number = "1--2", pages = "205--214", day = "30", month = jan, year = "1998", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:21:31 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1998&volume=191&issue=1-2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cas/tree/store/tcs/sub/1998/191/1-2/2669.pdf", acknowledgement = ack-nhfb, classification = "C1290F (Systems theory applications in industry); C4240 (Programming and algorithm theory); C4240C (Computational complexity)", corpsource = "Inst. fur Angewandte Inf. und Formale Beschreibungsverfahren, Karlsruhe Univ., Germany", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "2-machine flow-shop; complexity; computational complexity; coordinated starting times; NP-complete; open-shop; scheduling; Shortest Common Superstring; string matching; strings", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Mochizuki:1998:SSA, author = "H. Mochizuki and M. Koyama and M. Shishibori and J.-i. Aoe", title = "A substring search algorithm in extendible hashing", journal = j-INFO-SCI, volume = "108", number = "1", publisher = "Elsevier Science", pages = "13--30", month = jul, year = "1998", CODEN = "ISIJBC", ISSN = "0020-0255 (print), 1872-6291 (electronic)", ISSN-L = "0020-0255", bibdate = "Thu Nov 7 20:59:16 MST 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; Ingenta database", acknowledgement = ack-nhfb, fjournal = "Information Sciences", pagecount = "18", } @Article{Myers:1998:FBV, author = "G. Myers", title = "A Fast Bit-Vector Algorithm for Approximate String Matching Based on Dynamic Programming", journal = j-LECT-NOTES-COMP-SCI, volume = "1448", pages = "1--??", year = "1998", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat Oct 10 14:40:24 MDT 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Myers:1998:REA, author = "E. G. Myers and P. Oliva and K. Guimaraes", title = "Reporting Exit and Approximate Regular Expression Matches", journal = j-LECT-NOTES-COMP-SCI, volume = "1448", pages = "91--??", year = "1998", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Oct 10 14:40:24 MDT 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Navarro:1998:BPA, author = "G. Navarro and M. Raffinot", title = "A Bit-Parallel Approach to Suffix Automata: Fast Extended String Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "1448", pages = "14--??", year = "1998", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat Oct 10 14:40:24 MDT 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Navarro:1998:IAP, author = "Gonzalo Navarro", title = "Improved Approximate Pattern Matching on Hypertext", journal = j-LECT-NOTES-COMP-SCI, volume = "1380", pages = "352--??", year = "1998", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Tue Feb 5 11:51:48 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t1380.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/1380/13800352.htm; http://link.springer-ny.com/link/service/series/0558/papers/1380/13800352.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Nedjah:1998:MDL, author = "Nadia Nedjah", title = "Minimal Deterministic Left-to-Right Pattern-Matching Automata", journal = j-SIGPLAN, volume = "33", number = "1", pages = "40--47", month = jan, year = "1998", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:17:43 MST 2003", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", } @InProceedings{Nipkow:1998:VLA, author = "Tobias Nipkow", editor = "Jim Grundy and Malcolm Newey", booktitle = "Theorem Proving in Higher Order Logics: {11th International Conference, TPHOLs'98, Canberra, Australia, September 27--October 1, 1998, Proceedings}", title = "Verified Lexical Analysis", volume = "1479", publisher = pub-SV, address = pub-SV:adr, bookpages = "viii + 496", pages = "1--15", year = "1998", DOI = "https://doi.org/10.1007/BFb0055126", ISBN = "3-540-64987-5 (softcover), 3-540-49801-X (e-book)", ISBN-13 = "978-3-540-64987-8 (softcover), 978-3-540-49801-8 (e-book)", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "QA76.9.A96 T655 1998", bibdate = "Fri Sep 22 14:41:04 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/BFb0055125", } @Article{Ortiz:1998:RES, author = "Alejandro A. R. Trejo Ortiz and Guillermo Fern{\'a}ndez Anaya", title = "Regular expression simplification", journal = j-MATH-COMPUT-SIMUL, volume = "45", number = "1--2", pages = "59--71", day = "31", month = jan, year = "1998", CODEN = "MCSIDR", DOI = "https://doi.org/10.1016/S0378-4754(97)00086-4", ISSN = "0378-4754 (print), 1872-7166 (electronic)", ISSN-L = "0378-4754", bibdate = "Mon Aug 18 12:50:47 MDT 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/mathcomputsimul1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.sciencedirect.com/science/article/pii/S0378475497000864", acknowledgement = ack-nhfb, ajournal = "Math. Comput. Simul.", fjournal = "Mathematics and Computers in Simulation", journal-URL = "https://www.sciencedirect.com/science/journal/03784754", } @Article{Otto:1998:EUW, author = "Friedrich Otto and Paliath Narendran and Daniel J. Dougherty", title = "Equational unification and word unification, and 2nd-order equational unification", journal = j-THEOR-COMP-SCI, volume = "198", number = "1--2", pages = "1--47", day = "30", month = may, year = "1998", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:21:48 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1998&volume=198&issue=1-2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cas/tree/store/tcs/sub/1998/198/1-2/2639.pdf", acknowledgement = ack-nhfb, classification = "C4210L (Formal languages and computational linguistics)", corpsource = "Fachbereich Math./Inf., Kassel Univ., Germany", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "decidability; equational matching; equational unification; rewriting systems; string-rewriting systems; term-rewriting systems; word matching problem", pubcountry = "Netherlands", treatment = "T Theoretical or Mathematical", } @Article{Pajares:1998:PRL, author = "G. Pajares and J. M. {De la Cruz} and J. A. Lopez", title = "Pattern Recognition Learning Applied to Stereovision Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "1451", pages = "997--??", year = "1998", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Oct 10 14:40:24 MDT 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Park:1998:ATD, author = "Kunsoo Park", title = "Analysis of two-dimensional approximate pattern matching algorithms", journal = j-THEOR-COMP-SCI, volume = "201", number = "1--2", pages = "263--273", day = "06", month = jul, year = "1998", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:21:54 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1998&volume=201&issue=1-2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cas/tree/store/tcs/sub/1998/201/1-2/2812.pdf", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Pitt:1998:VPJ, author = "W. David Pitt", title = "The Visitor Pattern and a {Java} Grep Utility", journal = j-DDJ, volume = "23", number = "6", pages = "30, 32, 93", month = jun, year = "1998", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Sat May 30 10:34:02 MDT 1998", bibsource = "http://www.ddj.com/ddj/1998/1998_06/index.htm; http://www.ddj.com/ftp/1998/1998_06/jgrep.txt; http://www.ddj.com/ftp/1998/1998_06/jgrep.zip; https://www.math.utah.edu/pub/tex/bib/dr-dobbs-1990.bib; https://www.math.utah.edu/pub/tex/bib/java.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", } @Article{Regnier:1998:CSP, author = "Mireille R{\'e}gnier and Wojciech Szpankowski", title = "Complexity of Sequential Pattern Matching Algorithms", journal = j-LECT-NOTES-COMP-SCI, volume = "1518", pages = "187--??", year = "1998", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Tue Feb 5 11:53:15 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t1518.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/1518/15180187.htm; http://link.springer-ny.com/link/service/series/0558/papers/1518/15180187.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Reps:1998:MMT, author = "Thomas Reps", title = "``{Maximal}-munch'' tokenization in linear time", journal = j-TOPLAS, volume = "20", number = "2", pages = "259--273", month = mar, year = "1998", CODEN = "ATPSDT", ISSN = "0164-0925 (print), 1558-4593 (electronic)", ISSN-L = "0164-0925", bibdate = "Sat Jan 2 10:46:05 MST 1999", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/toplas.bib", URL = "http://www.acm.org:80/pubs/citations/journals/toplas/1998-20-2/p259-reps/", abstract = "The lexical-analysis (or scanning) phase of a compiler attempts to partition an input string into a sequence of tokens. The convention in most languages is that the input is scanned left to right, and each token identified is a ``maximal munch'' of the remaining input---the {\em longest\/} prefix of the remaining input that is a token of the language. Although most of the standard compiler textbooks present a way to perform maximal-munch tokenization, the algorithm they describe is one that, for certain sets of token definitions, can cause the scanner to exhibit quadratic behavior in the worst case. In the article, we show that maximal-munch tokenization can always be performed in time linear in the size of the input.", acknowledgement = ack-nhfb, fjournal = "ACM Transactions on Programming Languages and Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783", keywords = "algorithms; theory", subject = "{\bf D.3.4} Software, PROGRAMMING LANGUAGES, Processors, Compilers. {\bf F.1.1} Theory of Computation, COMPUTATION BY ABSTRACT DEVICES, Models of Computation, Automata. {\bf F.2.2} Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching. {\bf I.5.4} Computing Methodologies, PATTERN RECOGNITION, Applications, Text processing.", } @Article{Sima:1998:TN, author = "Ji{\v{r}}{\'\i} {\v{S}}{\'\i}ma and Ji{\v{r}}{\'\i} Wiedermann", title = "Theory of neuromata", journal = j-J-ACM, volume = "45", number = "1", pages = "155--178", month = jan, year = "1998", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Fri Apr 10 17:54:32 MDT 1998", bibsource = "http://www.acm.org/pubs/contents/journals/jacm/1998-45/; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org:80/pubs/citations/journals/jacm/1998-45-1/p155-scaronima/", abstract = "A finite automaton-the so-called neuromation, realized by a finite discrete recurrent neural network, working in parallel computation mode, is considered. Both the size of neuromata (i.e., the number of neurons) and their descriptional complexity (i.e., the number of bits in the neuromaton representation) are studied. It is proved that a constraint time delay of the neuromaton output does not play a role within a polynomial descriptional complexity. It is shown that any regular language given by a regular expression of length $n$ is recognized by a neuromaton with ($n$ ) neurons. Further, it is proved that this network size is, in the worst case, optimal. On the other hand, generally there is not an equivalent polynomial length regular expression for a given neuromaton. Then, two specialized constructions of neural acceptors of the optimal descriptional complexity ($n$ ) for a single $n$-bit string recognition are described. They both require {$ O(n^{1 / 2}) $} neurons and either {$ O(n) $} connections with constant weights or {$ O(n^{1 / 2}) $} edges with weights of the {$ O(2) $} size. Furthermore, the concept of Hopfield languages is introduced by means of so-called Hopfield neuromata (i.e., of neural networks with symmetric weights). It is proved that the class of Hopfield languages is strictly contained in the class of regular languages. The necessary and sufficient so-called Hopfield condition stating when a regular language is a Hopfield language, is formulated. A construction of a Hopfield neuromaton is presented for a regular language satisfying the Hopfield condition. The class of Hopfield languages is shown to be closed under union, intersection, concatenation and complement, and it is not closed under iteration. Finally, the problem whether a regular language given by a neuromaton (or by a Hopfield acceptor) is nonempty, is proved to be PSPACE-complete. As a consequence, the same result for a neuromaton equivalence problem is achieved.", acknowledgement = ack-nhfb, fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", keywords = "theory", subject = "{\bf F.1.1} Theory of Computation, COMPUTATION BY ABSTRACT DEVICES, Models of Computation, Automata. {\bf F.1.1} Theory of Computation, COMPUTATION BY ABSTRACT DEVICES, Models of Computation, Relations between models. {\bf F.1.1} Theory of Computation, COMPUTATION BY ABSTRACT DEVICES, Models of Computation, Self-modifying machines. {\bf F.4.3} Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Formal Languages, Classes defined by grammars or automata. {\bf F.4.3} Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Formal Languages, Classes defined by resource-bounded automata. {\bf F.4.3} Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Formal Languages, Decision problems. {\bf F.4.3} Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Formal Languages, Operations on languages.", } @Book{Skiena:1998:ADM, author = "Steven S. Skiena", title = "The Algorithm Design Manual", publisher = pub-SV, address = pub-SV:adr, pages = "xvi + 486", year = "1998", ISBN = "0-387-94860-0", ISBN-13 = "978-0-387-94860-7", LCCN = "QA76.9.A43S55 1997", bibdate = "Tue Feb 10 10:51:27 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", price = "US\$54.95", acknowledgement = ack-nhfb, tableofcontents = "Preface / vii \\ I. Techniques \\ 1 Introduction to Algorithms / 3 \\ 1.1 Correctness and Efficiency / 4 \\ 1.1.1 Correctness / 5 \\ 1.1.2 Efficiency / 9 \\ 1.2 Expressing Algorithms / 9 \\ 1.3 Keeping Score / 10 \\ 1.3.1 The RAM Model of Computation / 10 \\ 1.3.2 Best, Worst, and Average-Case Complexity / 11 \\ 1.4 The Big Oh Notation / 13 \\ 1.5 Growth Rates / 15 \\ 1.6 Logarithms / 16 \\ 1.7 Modeling the Problem / 18 \\ 1.8 About the War Stories / 20 \\ 1.9 War Story: Psychic Modeling / 21 \\ 1.10 Exercises / 25 \\ 2 Data Structures and Sorting / 27 \\ 2.1 Fundamental Data Types / 28 \\ 2.1.1 Containers / 28 \\ 2.1.2 Dictionaries / 29 \\ 2.1.3 Binary Search Trees / 30 \\ 2.1.4 Priority Queues / 31 \\ 2.2 Specialized Data Structures / 33 \\ 2.3 Sorting / 33 \\ 2.4 Applications of Sorting / 34 \\ 2.5 Approaches to Sorting / 36 \\ 2.5.1 Data Structures / 36 \\ 2.5.2 Incremental Insertion / 36 \\ 2.5.3 Divide and Conquer / 37 \\ 2.5.4 Randomization / 37 \\ 2.5.5 Bucketing Techniques / 38 \\ 2.6 War Story: Stripping Triangulations / 39 \\ 2.7 War Story: Mystery of the Pyramids / 43 \\ 2.8 War Story: String `em Up / 46 \\ 2.9 Exercises / 50 \\ 3 Breaking Problems Down / 53 \\ 3.1 Dynamic Programming / 54 \\ 3.1.1 Fibonacci numbers / 54 \\ 3.1.2 The Partition Problem / 56 \\ 3.1.3 Approximate String Matching / 60 \\ 3.1.4 Longest Increasing Sequence / 62 \\ 3.1.5 Minimum Weight Triangulation / 64 \\ 3.2 Limitations of Dynamic Programming / 65 \\ 3.3 War Story: Evolution of the Lobster / 66 \\ 3.4 War Story: What's Past Is Prolog / 69 \\ 3.5 War Story: Text Compression for Bar Codes / 72 \\ 3.6 Divide and Conquer / 75 \\ 3.6.1 Fast Exponentiation / 75 \\ 3.6.2 Binary Search / 76 \\ 3.6.3 Square and Other Roots / 76 \\ 3.7 Exercises / 77 \\ 4 Graph Algorithms / 81 \\ 4.1 The Friendship Graph / 82 \\ 4.2 Data Structures for Graphs / 84 \\ 4.3 War Story: Getting the Graph / 86 \\ 4.4 Traversing a Graph / 88 \\ 4.4.1 Breadth-First Search / 89 \\ 4.4.2 Depth-First Search / 91 \\ 4.5 Applications of Graph Traversal / 92 \\ 4.5.1 Connected Components / 92 \\ 4.5.2 Tree and Cycle Detection / 93 \\ 4.5.3 Two-Coloring Graphs / 93 \\ 4.5.4 Topological Sorting / 94 \\ 4.5.5 Articulation Vertices / 95 \\ 4.6 Modeling graph Problems / 95 \\ 4.7 Minimum Spanning Trees / 97 \\ 4.7.1 Prim's Algorithm / 98 \\ 4.7.2 Kruskal's Algorithm / 99 \\ 4.8 Shortest Paths / 100 \\ 4.8.1 Dijkstra's Algorithm / 100 \\ 4.8.2 All-Pairs Shortest Path / 102 \\ 4.9 War Story: Nothing but Nets / 102 \\ 4.10 War Story: Dialing for Documents / 105 \\ 4.11 Exercises / 110 \\ 5 Combinatorial Search and Heuristic Methods / 115 \\ 5.1 Backtracking / 116 \\ 5.1.1 Constructing All Subsets / 117 \\ 5.1.2 Constructing All Permutations / 118 \\ 5.1.3 Constructing All Paths in a Graph / 118 \\ 5.2 Search Pruning / 119 \\ 5.3 Bandwidth Minimization / 120 \\ 5.4 War Story: Covering Chessboards / 122 \\ 5.5 Heuristic Methods / 125 \\ 5.5.1 Simulated Annealing / 125 \\ 5.5.2 Neural Networks / 129 \\ 5.5.3 Genetic Algorithms / 130 \\ 5.6 War Story: Annealing Arrays / 131 \\ 5.7 Parallel Algorithms / 134 \\ 5.8 War Story: Going Nowhere fast / 135 \\ 5.9 exercises / 136 \\ 6 Intractable Problems anal Approximations / 139 \\ 6.1 Problems and Reductions / 140 \\ 6.2 Simple Reductions / 141 \\ 6.2.1 Hamiltonian Cycle / 142 \\ 6.2.2 Independent Set and Vertex Cover / 142 \\ 6.2.3 Clique and Independent Set / 144 \\ 6.3 Satisfiability / 144 \\ 6.3.1 The Theory of NP-Completeness / 145 \\ 6.3.2 Satisfyability / 146 \\ 6.4 Difficult Reductions / 147 \\ 6.4.1 Integer Programming / 147 \\ 6.4.2 Vortex Cover / 149 \\ 6.5 Other NP-Complete Problems / 151 \\ 6.6 The Art of Proving Hardness / 152 \\ 6.7 War Story: Hard Against the Clock / 154 \\ 6.8 Approximation Algorithms / 156 \\ 6.8.1 Approximating Vertex Cover / 157 \\ 6.8.2 The Euclidean Traveling Salesman / 158 \\ 6.9 Exercises / 160 \\ 7 How to Design Algorithms / 163 \\ II. RESOURCES \\ 8 A Catalog of Algorithmic Problems / 171 \\ 8.1 Data Structures / 174 \\ 8.1.1 Dictionaries / 175 \\ 8.1.2 Priority Queues / 180 \\ 8.1.3 Suffix Trees and Arrays / 183 \\ 8.1.4 Graph Data Structures / 187 \\ 8.1.5 Set Data Structures / 191 \\ 8.1.6 Kd-Trees / 194 \\ 8.2 Numerical Problems / 197 \\ 8.2.1 Solving Linear Equations / 199 \\ 8.2.2 Bandwidth Reduction / 202 \\ 8.2.3 Matrix Multiplication / 204 \\ 8.2.4 Determinants and Permanents / 207 \\ 8.2.5 Constrained and Unconstrained Optimization / 209 \\ 8.2.6 Linear Programming / 213 \\ 8.2.7 Random Number Generation / 217 \\ 8.2.8 Factoring and Primality Testing / 221 \\ 8.2.9 Arbitrary-Precision Arithmetic / 224 \\ 8.2.10 Knapsack Problem / 228 \\ 8.2.11 Discrete Fourier Transform / 232 \\ 8.3 Combinatorial Problems / 235 \\ 8.3.1 Sorting / 236 \\ 8.3.2 Searching / 240 \\ 8.3.3 Median and Selection / 244 \\ 8.3.4 Generating Permutations / 246 \\ 8.3.5 Generating Subsets / 250 \\ 8.3.6 Generating Partitions / 253 \\ 8.3.7 Generating Graphs / 257 \\ 8.3.8 Calendrical Calculations / 261 \\ 8.3.9 Job Scheduling / 263 \\ 8.3.10 Satisfiability / 266 \\ 8.4 Graph Problems: Polynomiai-Time / 269 \\ 8.4.1 Connected Components / 270 \\ 8.4.2 Topological Sorting / 273 \\ 8.4.3 Minimum Spanning Tree / 275 \\ 8.4.4 Shortest Path / 279 \\ 8.4.5 Transitive Closure and Reduction / 284 \\ 8.4.6 Matching / 287 \\ 8.4.7 Eulerian Cycle / Chinese Postman / 291 \\ 8.4.8 Edge and Vertex Connectivity / 294 \\ 8.4.9 Network Flow / 297 \\ 8.4.10 Drawing Grains Nicely / 301 \\ 8.4.11 Drawing Trees / 305 \\ 8.4.12 Planarity Detection and Embedding / 308 \\ 8.5 Graph Problems: Hard Problems / 311 \\ 8.5.1 Clique / 312 \\ 8.5.2 Independent Set / 315 \\ 8.5.3 Vertex Cover / 317 \\ 8.5.4 Traveling salesman Problem / 319 \\ 8.5.5 Hamiltonian Cycle / 323 \\ 8.5.6 Graph Partition / 326 \\ 8.5.7 Vertex Coloring / 329 \\ 8.5.8 Edge Coloring / 333 \\ 8.5.9 Graph Isomorphism / 335 \\ 8.5.10 Steiner Tree / 339 \\ 8.5.11 Feedback Edge/ vertex Set / 343 \\ 8.6 Computational Geometry / 345 \\ 8.6.1 Robust geometric Primitives / 347 \\ 8.6.2 Convex Hull / 351 \\ 8.6.3 Triangulation / 355 \\ 8.6.4 Voronoi Diagrams / 358 \\ 8.6.5 Nearest Neighbor Search / 361 \\ 8.6.6 Range Search / 364 \\ 8.6.7 Point Location / 367 \\ 8.6.8 Intersection Detection / 370 \\ 8.6.9 Bin Packing / 374 \\ 8.6.10 Medial-Axis Transformation / 377 \\ 8.6.11 Polygon Partitioning / 380 \\ 8.6.12 Simplifying Polygons / 383 \\ 8.6.13 Shape Similarity / 386 \\ 8.6.14 Motion Planning / 389 \\ 8.6.15 Maintaining Line Arrangements / 392 \\ 8.6.16 Minkowski Sum / 395 \\ 8.7 Set and String Problems / 397 \\ 8.7.1 Set Cover / 398 \\ 8.7.2 Set Packing / 401 \\ 8.7.3 String Matching / 403 \\ 8.7.4 Approximate String Matching / 406 \\ 8.7.5 Text Compression / 410 \\ 8.7.6 Cryptography / 414 \\ 8.7.7 Finite State Machine Minimization / 418 \\ 8.7.8 Longest Common Substring / 422 \\ 8.7.9 Shortest Common Superstring / 425 \\ 9 Algorithmic Resources / 427 \\ 9.1 Software Systems / 427 \\ 9.1.1 LEDA / 428 \\ 9.1.2 Netlib / 428 \\ 9.1.3 The Stanford GraphBase / 429 \\ 9.1.4 Combinatorica / 430 \\ 9.1.5 Algorithm Animations with XTango / 430 \\ 9.1.6 Programs From Books / 431 \\ 9.2 Data Sources / 433 \\ 9.3 Textbooks / 434 \\ 9.4 On-Line Resources / 435 \\ 9.4.1 Literature / 436 \\ 9.4.2 People / 436 \\ 9.4.3 Software / 437 \\ 9.5 Professional Consulting Services / 437 \\ Bibliography / 439 \\ Index / 463", } @Article{Vujovic:1998:EAF, author = "N. Vujovic and D. Brzakovic", title = "Evaluation of an Algorithm for Finding a Match of a Distorted Texture Pattern in a Large Image Database", journal = j-TOIS, volume = "16", number = "1", pages = "31--60", month = jan, year = "1998", CODEN = "ATISET", ISSN = "1046-8188", ISSN-L = "0734-2047", bibdate = "Sat Jan 16 19:04:41 MST 1999", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tois.bib", abstract = "Evaluation of an algorithm for finding a match for a random texture pattern in a large image database is presented. The algorithm was designed assuming that the random pattern may be subject to misregistration relative to its representation in the database and assuming that it may have missing parts. The potential applications involve authentication of legal documents, bank notes, or credit cards, where thin fibers are embedded randomly into the document medium during medium fabrication. The algorithm achieves image matching by a three-step hierarchical procedure, which starts by matching parts of fiber patterns while solving the misregistration problem and ends up by matching complete fiber patterns. Performance of the algorithm is studied both theoretically and experimentally. Theoretical analysis includes the study. of the probability that two documents have the same pattern, and the probability of the algorithm establishing a wrong match, as well as the algorithm's performance in terms of processing time. Experiments involving over 250,000 trials using databases of synthetic documents, containing up to 100,000 documents, were used to confirm theoretical predictions. In addition, experiments involving a database containing real images were conducted in order to confirm that the algorithm has potential in real applications.", acknowledgement = ack-nhfb, affiliation = "Lehigh Univ", affiliationaddress = "Bethlehem, PA, USA", classification = "723.3; 731.1", fjournal = "ACM Transactions on Information Systems (TOIS)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J779", journalabr = "ACM Trans Inf Syst", keywords = "Algorithms; Database systems; Identification (control systems); Image database; Image matching; Image processing", } @InProceedings{Alzina:1999:PMI, author = "M. Alzina and W. Szpankowski and A. Grama", title = "{$2$D}-pattern matching image and video compression", crossref = "Storer:1999:DPD", pages = "424--433", year = "1999", DOI = "https://doi.org/10.1109/DCC.1999.755692", bibdate = "Tue Feb 5 08:44:09 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=755692", acknowledgement = ack-nhfb, } @Article{Baeza-Yates:1999:FAS, author = "Ricardo A. Baeza-Yates and Gonzalo Navarro", title = "Faster Approximate String Matching", journal = j-ALGORITHMICA, volume = "23", number = "2", pages = "127--158", month = feb, year = "1999", CODEN = "ALGOEJ", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", MRclass = "68Q25 (68P10 68U15)", MRnumber = "MR1658489 (2000f:68051)", MRreviewer = "Maxime Crochemore", bibdate = "Fri Jan 6 11:38:10 MST 2006", bibsource = "dblp-journals-algorithmica.bib; http://dblp.uni-trier.de/db/journals/algorithmica/algorithmica23.html#Baeza-YatesN99; http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0178-4617&volume=23&issue=2; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/index-table-a.html#algorithmica; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", URL = "http://link.springer.de/link/service/journals/00453/bibs/23n2p127.html; http://www.springerlink.com/openurl.asp?genre=article&issn=0178-4617&volume=23&issue=2&spage=127", acknowledgement = ack-nhfb, fjournal = "Algorithmica. An International Journal in Computer Science", journal-URL = "http://link.springer.com/journal/453", oldlabel = "Baeza-YatesN99", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/algorithmica/Baeza-YatesN99", } @InProceedings{Calvanese:1999:RRE, author = "Diego Calvanese and Giuseppe {De Giacomo} and Maurizio Lenzerini and Moshe Y. Vardi", title = "Rewriting of Regular Expressions and Regular Path Queries", crossref = "ACM:1999:PEA", pages = "194--204", year = "1999", bibdate = "Wed Oct 25 08:47:40 MDT 2000", bibsource = "http://www.acm.org/pubs/contents/proceedings/series/sigmod_pods/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; OCLC Proceedings database", URL = "http://www.acm.org/pubs/articles/proceedings/pods/303976/p194-calvanese/p194-calvanese.pdf; http://www.acm.org/pubs/citations/proceedings/pods/303976/p194-calvanese/", acknowledgement = ack-nhfb, } @Article{Cameron:1999:RXS, author = "Robert D. Cameron", title = "{REX}: {XML} Shallow Parsing with Regular Expressions", journal = j-MARKUP-LANG, volume = "1", number = "3", pages = "61--88", month = "Summer", year = "1999", CODEN = "MLTPFG", ISSN = "1099-6621 (print), 1537-2626 (electronic)", ISSN-L = "1099-6621", bibdate = "Sun Oct 29 15:12:04 MST 2000", bibsource = "http://mitpress.mit.edu/journal-home.tcl?issn=10996621; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Markup languages: theory \& practice", } @Article{Corradini:1999:MNR, author = "Flavio Corradini and Rocco {De Nicola} and Anna Labella", title = "Models of Nondeterministic Regular Expressions", journal = j-J-COMP-SYS-SCI, volume = "59", number = "3", pages = "412--449", month = dec, year = "1999", CODEN = "JCSSBM", DOI = "https://doi.org/10.1006/jcss.1999.1636", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:26:39 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0022000099916367", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Article{Crochemore:1999:CSS, author = "Maxime Crochemore and Leszek Ga{\c{s}}ieniec and Wojciech Rytter", title = "Constant-space string-matching in sublinear average time", journal = j-THEOR-COMP-SCI, volume = "218", number = "1", pages = "197--203", day = "28", month = apr, year = "1999", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:22:35 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1999&volume=218&issue=1; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cas/tree/store/tcs/sub/1999/218/1/3068.pdf", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Crochemore:1999:FPM, author = "Maxime Crochemore and A. Czumaj and L. Gs{\k{a}}ieniec and T. Lecroq and W. Plandowski and W. Rytter", title = "Fast practical multi-pattern matching", journal = j-INFO-PROC-LETT, volume = "71", number = "3--4", pages = "107--113", day = "27", month = aug, year = "1999", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon Jan 26 09:55:58 2004", bibsource = "http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.elsevier.nl/gej-ng/10/23/20/49/28/26/abstract.html; http://www.elsevier.nl/gej-ng/10/23/20/49/28/26/article.pdf", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @TechReport{Davis:1999:URE, author = "Mark Davis", title = "{Unicode} Regular Expression Guidelines", type = "{Unicode} Technical Report", number = "18", institution = pub-UNICODE, address = pub-UNICODE-SAN-JOSE:adr, edition = "5.0", day = "23", month = nov, year = "1999", bibdate = "Tue Apr 18 12:23:24 2000", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unicode.bib", URL = "http://www.unicode.org/unicode/reports/tr18/", acknowledgement = ack-nhfb, } @InProceedings{Ferragina:1999:MMD, author = "Paolo Ferragina and S. Muthukrishnan and Mark de Berg", title = "Multi-method dispatching: a geometric approach with applications to string matching problems", crossref = "ACM:1999:PTF", pages = "483--491", year = "1999", bibdate = "Wed Feb 20 18:34:04 MST 2002", bibsource = "http://portal.acm.org/; http://www.acm.org/pubs/contents/proceedings/series/stoc/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/articles/proceedings/stoc/301250/p483-ferragina/p483-ferragina.pdf; http://www.acm.org/pubs/citations/proceedings/stoc/301250/p483-ferragina/", acknowledgement = ack-nhfb, } @Article{Ferragina:1999:SBT, author = "Paolo Ferragina and Roberto Grossi", title = "The string {B}-tree: a new data structure for string search in external memory and its applications", journal = j-J-ACM, volume = "46", number = "2", pages = "236--280", month = mar, year = "1999", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Tue May 25 18:51:21 MDT 1999", bibsource = "http://www.acm.org/pubs/contents/journals/jacm/1999-46/; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org:80/pubs/citations/journals/jacm/1999-46-2/p236-ferragina/", abstract = "We introduce a new text-indexing data structure, the {\em String B-Tree}, that can be seen as a link between some traditional external-memory and string-matching data structures. In a short phrase, it is a combination of B-trees and Patricia tries for internal-node indices that is made more effective by adding extra pointers to speed up search and update operations. Consequently, the String B-Tree overcomes the theoretical limitations of inverted files, B-trees, prefix B-trees, suffix arrays, compacted tries and suffix trees. String B-trees have the same worst-case performance as B-trees but they manage unbounded-length strings and perform much more powerful search operations such as the ones supported by suffix trees. String B-trees are also effective in main memory (RAM model) because they improve the online suffix tree search on a dynamic set of strings. They also can be successfully applied to database indexing and software duplication.", acknowledgement = ack-nhfb, fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", keywords = "algorithms; design", subject = "{\bf B.3.2} Hardware, MEMORY STRUCTURES, Design Styles, Mass storage. {\bf B.4.2} Hardware, INPUT/OUTPUT AND DATA COMMUNICATIONS, Input/Output Devices. {\bf D.4.2} Software, OPERATING SYSTEMS, Storage Management, Secondary storage. {\bf E.1} Data, DATA STRUCTURES. {\bf E.5} Data, FILES, Sorting/searching. {\bf F.2.2} Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Pattern matching. {\bf F.2.2} Theory of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and Problems, Sorting and searching. {\bf H.2.4} Information Systems, DATABASE MANAGEMENT, Systems, Textual databases. {\bf H.3.1} Information Systems, INFORMATION STORAGE AND RETRIEVAL, Content Analysis and Indexing, Dictionaries. {\bf H.3.1} Information Systems, INFORMATION STORAGE AND RETRIEVAL, Content Analysis and Indexing, Indexing methods. {\bf H.3.3} Information Systems, INFORMATION STORAGE AND RETRIEVAL, Information Search and Retrieval. {\bf H.3.7} Information Systems, INFORMATION STORAGE AND RETRIEVAL, Digital Libraries.", } @Article{Ferragina:1999:SSC, author = "Paolo Ferragina and Fabrizio Luccio", title = "String Search in Coarse-Grained Parallel Computers", journal = j-ALGORITHMICA, volume = "24", number = "3--4", pages = "177--194", month = aug, year = "1999", CODEN = "ALGOEJ", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", MRclass = "68W10 (68P10 68W40)", MRnumber = "MR1687307 (2000h:68240)", MRreviewer = "G. P. Bhattacharjee", bibdate = "Fri Jan 6 11:38:11 MST 2006", bibsource = "dblp-journals-algorithmica.bib; http://dblp.uni-trier.de/db/journals/algorithmica/algorithmica24.html#FerraginaL99; http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0178-4617&volume=24&issue=3; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", URL = "http://link.springer.de/link/service/journals/00453/bibs/24n3p177.html; http://www.springerlink.com/openurl.asp?genre=article&issn=0178-4617&volume=24&issue=3&spage=177", acknowledgement = ack-nhfb, fjournal = "Algorithmica. An International Journal in Computer Science", journal-URL = "http://link.springer.com/journal/453", oldlabel = "FerraginaL99", XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/algorithmica/FerraginaL99", } @InProceedings{Garofalakis:1999:SSP, author = "Minos N. Garofalakis and Rajeev Rastogi and Kyuseok Shim", title = "{SPIRIT}: Sequential Pattern Mining with Regular Expression Constraints", crossref = "Atkinson:1999:PTF", pages = "223--234", year = "1999", bibdate = "Fri Jan 12 07:50:37 MST 2001", bibsource = "http://www.vldb.org/dblp/db/conf/vldb/vldb99.html; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldb.bib; OCLC Proceedings database", URL = "http://www.vldb.org/dblp/db/conf/vldb/GarofalakisRS99.html", acknowledgement = ack-nhfb, authorurl = "http://www.vldb.org/dblp/db/indices/a-tree/g/Garofalakis:Minos_N=.html; http://www.vldb.org/dblp/db/indices/a-tree/r/Rastogi:Rajeev.html; http://www.vldb.org/dblp/db/indices/a-tree/s/Shim:Kyuseok.html", } @InProceedings{Gasieniec:1999:AOF, author = "L. Gasieniec and W. Rytter", title = "Almost-optimal fully {LZW}-compressed pattern matching", crossref = "Storer:1999:DPD", pages = "316--325", year = "1999", DOI = "https://doi.org/10.1109/DCC.1999.755681", bibdate = "Tue Feb 5 08:44:09 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=755681", acknowledgement = ack-nhfb, } @Article{Harrison:1999:LRP, author = "Brian Harrison and Philip Hendrickson and Murel {Warren, Jr.} and Lee Kamentsky and Ron Gutman and Brenton Hoff and Martin Handwerker and Tom Culliton and Aspi Havewala", title = "Letters: Real Programmer's Hate {Cobol}; 1984; {Hilbert} Curves; Grepping and Globbing; Testing {Java} Classes; The Version Control Process", journal = j-DDJ, volume = "24", number = "9", pages = "10, 12", month = sep, year = "1999", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Thu Nov 9 06:25:04 MST 2000", bibsource = "http://www.ddj.com/; https://www.math.utah.edu/pub/tex/bib/dr-dobbs-1990.bib; https://www.math.utah.edu/pub/tex/bib/java.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", } @Article{Henrich:1999:OQC, author = "A. Henrich and S. Jamin", title = "On the Optimization of Queries Containing Regular Path Expressions", journal = j-LECT-NOTES-COMP-SCI, volume = "1649", pages = "58--??", year = "1999", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Mon Sep 13 16:57:02 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Hume:1999:DSR, author = "Andrew Hume", title = "The Dark Side of Regular Expressions", journal = j-LOGIN, volume = "24", number = "2", pages = "??--??", month = apr, year = "1999", CODEN = "LOGNEM", ISSN = "1044-6397", bibdate = "Tue Apr 11 06:42:47 MDT 2006", bibsource = "http://www.usenix.org/publications/login/contents/contents.apr99.html; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.usenix.org/publications/login/1999-4/reg_exp.html", acknowledgement = ack-nhfb, fjournal = ";login: the USENIX Association newsletter", } @Article{Karkkainen:1999:THD, author = "Juha K{\"a}rkk{\"a}inen and Esko Ukkonen", title = "Two- and Higher-Dimensional Pattern Matching in Optimal Expected Time", journal = j-SIAM-J-COMPUT, volume = "29", number = "2", pages = "571--589", month = apr, year = "1999", CODEN = "SMJCAT", DOI = "https://doi.org/10.1137/S0097539794275872", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", bibdate = "Sat Jan 22 13:21:36 MST 2000", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/29/2; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://epubs.siam.org/sam-bin/dbq/article/27587", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @InCollection{Kernighan:1999:RE, author = "Brian W. Kernighan and Rob Pike", title = "Regular Expressions", crossref = "Kernighan:1999:PP", chapter = "9.2", pages = "222--227", year = "1999", bibdate = "Sat Nov 07 16:38:10 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Kernighan:1999:REL, author = "Brian W. Kernighan and Rob Pike", title = "Regular Expressions: Languages, Algorithms, Software", journal = j-DDJ, volume = "24", number = "4", pages = "19--22", month = apr, year = "1999", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Wed Mar 3 06:30:11 MST 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/dr-dobbs-1990.bib; https://www.math.utah.edu/pub/tex/bib/plan9.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/virtual-machines.bib", note = "See also \cite{Thompson:1968:PTR,Cox:2007:REM,Cox:2009:REM,Cox:2010:REM,Cox:2012:REM}", URL = "http://www.ddj.com/ftp/1999/1999_04/regexp.txt; http://www.ddj.com/ftp/1999/1999_04/regexp.zip; http://www.drdobbs.com/architecture-and-design/regular-expressions/184410904; http://www.drdobbs.com/architecture-and-design/regular-expressions/architecture-and-design/sourcecode/regular-expressions/30200909; http://www.drdobbs.com/architecture-and-design/regular-expressions/architecture-and-design/sourcecode/regular-expressions/30200910", abstract = "Regular expressions, one of the most broadly applicable of programmer's tools, provide a compact and expressive notation for describing patterns of text. They are also algorithmically interesting, easy to implement, and highly useful. Additional resources include regexp.txt (listings) and regexp.zip (source code).", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", } @Article{Kida:1999:SAP, author = "Takuya Kida and Masayuki Takeda and Ayumi Shinohara and Setsuo Arikawa", title = "Shift-And Approach to Pattern Matching in {LZW} Compressed Text", journal = j-LECT-NOTES-COMP-SCI, volume = "1645", pages = "1--??", year = "1999", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Tue Feb 5 11:54:24 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t1645.htm; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/1645/16450001.htm; http://link.springer-ny.com/link/service/series/0558/papers/1645/16450001.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Kim:1999:ASP, author = "Sun Kim and Alberto Maria Segre", title = "{AMASS}: a Structured Pattern Matching Approach to Shotgun Sequence Assembly", journal = j-J-COMPUT-BIOL, volume = "6", number = "2", pages = "163--186", month = jan, year = "1999", CODEN = "JCOBEM", DOI = "https://doi.org/10.1089/cmb.1999.6.163", ISSN = "1066-5277 (print), 1557-8666 (electronic)", ISSN-L = "1066-5277", bibdate = "Sat Jun 1 09:46:44 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputbiol.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.liebertpub.com/doi/abs/10.1089/cmb.1999.6.163; https://www.liebertpub.com/doi/pdf/10.1089/cmb.1999.6.163", acknowledgement = ack-nhfb, fjournal = "Journal of Computational Biology", journal-URL = "https://www.liebertpub.com/loi/cmb/", onlinedate = "7 May 2009", } @Article{Kim:1999:NSP, author = "Sun Kim", title = "A new string-pattern matching algorithm using partitioning and hashing efficiently", journal = j-ACM-J-EXP-ALGORITHMICS, volume = "4", pages = "2:1--2:??", month = "????", year = "1999", CODEN = "????", DOI = "https://doi.org/10.1145/347792.347803", ISSN = "1084-6654", ISSN-L = "1084-6654", bibdate = "Mon Oct 6 16:02:52 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/jea.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "In this paper, we present a new string-pattern matching algorithm that partitions the text into segments of the input pattern length and searches for pattern occurrences using a simple hashing scheme. Unlike the well known Boyer--Moore style algorithm, our algorithm does not compute variable shift length, thus providing a conceptually simpler way to search for patterns. Empirical evaluation shows that our algorithm runs significantly faster than Sunday's and Horspool's extensions of the Boyer--Moore algorithm. The notion of the non-occurrence heuristic used in our algorithm, together with a text partitioning scheme, leads to a simplified scheme for searching for pattern occurrences, thus yielding better run time performance.", acknowledgement = ack-nhfb, articleno = "2", fjournal = "Journal of Experimental Algorithmics (JEA)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J430", } @Article{Kyatkin:1999:PMC, author = "Alexander B. Kyatkin and Gregory S. Chirikjian", title = "Pattern Matching as a Correlation on the Discrete Motion Group", journal = j-COMP-VIS-IMAGE-UNDERSTANDING, volume = "74", number = "1", pages = "22--35", month = apr, year = "1999", CODEN = "CVIUF4", DOI = "https://doi.org/10.1006/cviu.1999.0745", ISSN = "1077-3142 (print), 1090-235X (electronic)", ISSN-L = "1077-3142", bibdate = "Wed Mar 8 08:53:31 MST 2000", bibsource = "http://www.idealibrary.com/servlet/useragent?func=showAllIssues&curIssueID=cviu; https://www.math.utah.edu/pub/tex/bib/cvgip.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.idealibrary.com/links/artid/cviu.1999.0745/production; http://www.idealibrary.com/links/artid/cviu.1999.0745/production/pdf; http://www.idealibrary.com/links/artid/cviu.1999.0745/production/ref", acknowledgement = ack-nhfb, fjournal = "Computer Vision and Image Understanding", journal-URL = "http://www.sciencedirect.com/science/journal/10773142", } @Article{Laird:1999:REN, author = "Cameron Laird and Kathryn Soraiz", title = "Regular Expressions: New choices for scripting: Language designers offer novel possibilities for scripting developers", journal = j-SUNWORLD-ONLINE, volume = "5", number = "2", pages = "??--??", month = feb, year = "1999", ISSN = "1091-8914", bibdate = "Thu Feb 04 05:54:54 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/java.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Discusses new scripting languages: Ficl, FIJI, Rebol, Ruby and WebL. Ficl is a descendant of Forth. FIJI is real Forth, but with objects that are Java objects, and with full access to Java.", URL = "http://www.sunworld.com/swol-02-1999/swol-02-regex.html?0202a", acknowledgement = ack-nhfb, fjournal = "SunWorld online", } @PhdThesis{Larsson:1999:SSM, author = "N. Jesper Larsson", title = "Structures of string matching and data compression", type = "{Ph.D.} thesis", school = "Lunds Universitet", address = "Lund, Sweden", pages = "130", year = "1999", ISBN = "91-628-3685-4", ISBN-13 = "978-91-628-3685-6", LCCN = "????", bibdate = "Fri Feb 1 08:42:55 MST 2013", bibsource = "http://search.proquest.com/; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://search.proquest.com/docview/304568808", acknowledgement = ack-nhfb, advisor = "Hui Long Duan", classification = "0984: Computer science", dissertation-thesis-number = "C801205", subject = "Computer science", } @Article{Myers:1999:FBV, author = "Gene Myers", title = "A fast bit-vector algorithm for approximate string matching based on dynamic programming", journal = j-J-ACM, volume = "46", number = "3", pages = "395--415", month = may, year = "1999", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Tue Sep 7 12:04:29 MDT 1999", bibsource = "http://www.acm.org/pubs/contents/journals/jacm/; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org:80/pubs/citations/journals/jacm/1999-46-3/p395-myers/", abstract = "The approximate string matching problem is to find all locations at which a query of length $m$ matches a substring of a text of length $n$ with $k$-or-fewer differences. Simple and practical bit-vector algorithms have been designed for this problem, most notably the one used in {\em agrep}. These algorithms compute a bit representation of the current state-set of the $k$-difference automaton for the query, and asymptotically run in either {$ O(n m / w) $} or {$ O(n m \log \sigma / w) $} time where $w$ is the word size of the machine (e.g., 32 or 64 in practice), and [sigma] is the size of the pattern alphabet. Here we present an algorithm of comparable simplicity that requires only {$ O(n m / w) $} time by virtue of computing a bit representation of the {\em relocatable\/} dynamic programming matrix for the problem. Thus, the algorithm's performance is independent of $k$, and it is found to be more efficient than the previous results for many choices of $k$ and small $m$. Moreover, because the algorithm is not dependent on $k$, it can be used to rapidly compute blocks of the dynamic programming matrix as in the 4-Russians algorithm of Wu et al. (1996). This gives rise to an {$ O(k n / w) $} expected-time algorithm for the case where $m$ may be arbitrarily large. In practice this new algorithm, that computes a region of the dynamic programming (d.p.) matrix $w$ entries at a time using the basic algorithm as a subroutine is significantly faster than our previous 4-Russians algorithm, that computes the same region 4 or 5 entries at a time using table lookup. This performance improvement yields a code that is either superior or competitive with {\em all\/} existing algorithms except for some filtration algorithms that are superior when $ k / m $ is sufficiently small.", acknowledgement = ack-nhfb, fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", keywords = "design", subject = "{\bf G.4} Mathematics of Computing, MATHEMATICAL SOFTWARE. {\bf H.3.3} Information Systems, INFORMATION STORAGE AND RETRIEVAL, Information Search and Retrieval.", } @Article{Navarro:1999:FMD, author = "Gonzalo Navarro and Ricardo Baeza-Yates", title = "Fast Multi-dimensional Approximate Pattern Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "1645", pages = "243--??", year = "1999", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Tue Feb 5 11:54:24 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t1645.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/1645/16450243.htm; http://link.springer-ny.com/link/service/series/0558/papers/1645/16450243.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Navarro:1999:FRE, author = "Gonzalo Navarro and Mathieu Raffinot", title = "Fast Regular Expression Search", journal = j-LECT-NOTES-COMP-SCI, volume = "1668", pages = "198--212", year = "1999", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Mon Feb 4 12:03:08 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t1668.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/1668/16680198.htm; http://link.springer-ny.com/link/service/series/0558/papers/1668/16680198.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Navarro:1999:GPA, author = "Gonzalo Navarro and Mathieu Raffinot", title = "A General Practical Approach to Pattern Matching over {Ziv--Lempel} Compressed Text", journal = j-LECT-NOTES-COMP-SCI, volume = "1645", pages = "14--??", year = "1999", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Tue Feb 5 11:54:24 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t1645.htm; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/1645/16450014.htm; http://link.springer-ny.com/link/service/series/0558/papers/1645/16450014.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Navarro:1999:NIM, author = "Gonzalo Navarro and Ricardo Baeza-Yates", title = "A New Indexing Method for Approximate String Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "1645", pages = "163--??", year = "1999", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue Feb 5 11:54:24 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t1645.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/1645/16450163.htm; http://link.springer-ny.com/link/service/series/0558/papers/1645/16450163.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Navarro:1999:VFS, author = "Gonzalo Navarro and Ricardo Baeza-Yates", title = "Very fast and simple approximate string matching", journal = j-INFO-PROC-LETT, volume = "72", number = "1--2", pages = "65--70", day = "29", month = oct, year = "1999", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu Oct 12 06:44:14 MDT 2000", bibsource = "http://www.elsevier.com:80/inca/publications/store/5/0/5/6/1/2/; https://www.math.utah.edu/pub/tex/bib/infoproc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.elsevier.nl/gej-ng/29/28/24/60/27/33/abstract.html; http://www.elsevier.nl/gej-ng/29/28/24/60/27/33/article.pdf", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Nedjah:1999:EAD, author = "Nadia Nedjah and Colin D. Walter and Stephen E. Eldridge", title = "Efficient automata-driven pattern-matching for equational programs", journal = j-SPE, volume = "29", number = "9", pages = "793--813", day = "25", month = jul, year = "1999", CODEN = "SPEXBL", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Thu Jul 29 15:12:27 MDT 1999", bibsource = "http://www3.interscience.wiley.com/journalfinder.html; https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www3.interscience.wiley.com/cgi-bin/abstract?ID=62501864; http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=62501864&PLACEBO=IE.pdf", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", } @Article{Preoteasa:1999:RBU, author = "Viorel Preoteasa", title = "A Relation Between Unambiguous Regular Expressions and Abstract Data Types", journal = j-FUND-INFO, volume = "40", number = "1", pages = "53--77", month = oct, year = "1999", CODEN = "FUMAAJ", DOI = "https://doi.org/10.3233/FI-1999-40104", ISSN = "0169-2968 (print), 1875-8681 (electronic)", ISSN-L = "0169-2968", bibdate = "Sat Mar 5 16:56:58 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/fundinfo1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Fundamenta Informaticae", journal-URL = "http://content.iospress.com/journals/fundamenta-informaticae", } @Article{Prins:1999:ICF, author = "Jan F. Prins and Siddhartha Chatterjee and Martin Simons", title = "Irregular computations in {Fortran} --- expression and implementation strategies", journal = j-SCI-PROG, volume = "7", number = "3--4", pages = "313--326", year = "1999", CODEN = "SCIPEV", ISSN = "1058-9244 (print), 1875-919X (electronic)", ISSN-L = "1058-9244", bibdate = "Thu Mar 28 11:20:56 MST 2002", bibsource = "http://www.iospress.nl/site/html/10589244.html; https://www.math.utah.edu/pub/tex/bib/fortran3.bib; https://www.math.utah.edu/pub/tex/bib/sciprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; OCLC Article1st database", URL = "http://iospress.metapress.com/app/home/contribution.asp%3Fwasp=53f7mftrrm4r73yyrqau%26referrer=parent%26backto=issue%2C10%2C12%3Bjournal%2C6%2C9%3Blinkingpublicationresults%2C1%2C1", acknowledgement = ack-nhfb, fjournal = "Scientific Programming", journal-URL = "http://iospress.metapress.com/content/1058-9244", } @Article{Raita:1999:GSD, author = "Timo Raita", title = "On guards and symbol dependencies in substring search", journal = j-SPE, volume = "29", number = "11", pages = "931--941", month = sep, year = "1999", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/(SICI)1097-024X(199909)29:11<931::AID-SPE264>3.0.CO;2-X", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat Sep 18 18:25:59 MDT 1999", bibsource = "http://www3.interscience.wiley.com/journalfinder.html; https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www3.interscience.wiley.com/cgi-bin/abstract?ID=63501200; http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=63501200&PLACEBO=IE.pdf", 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 = "2 Sep 1999", } @Book{Robbins:1999:UND, author = "Arnold Robbins", title = "{UNIX} in a Nutshell: a Desktop Quick Reference for {SVR4} and {Solaris 7}", publisher = pub-ORA, address = pub-ORA:adr, edition = "Third", pages = "xvi + 598", year = "1999", ISBN = "1-56592-427-4 (paperback)", ISBN-13 = "978-1-56592-427-7 (paperback)", LCCN = "QA76.76.O63 R623 1999", bibdate = "Wed Nov 17 09:10:28 1999", bibsource = "http://www.oreilly.com/catalog/; https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/ora.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", price = "US\$24.95", URL = "http://www.oreilly.com/catalog/unixnut3", abstract = "\booktitle{Unix in a Nutshell} includes thorough coverage of Unix System V Release 4 and Solaris 7. Author Arnold Robbins has added the latest information about: sixty new Unix commands; shell syntax (sh, csh, and the 1988 and 1993 versions of ksh); regular expressions; vi and ex commands, as well as newly updated Emacs information; sed and awk commands; troff and related commands and macros, with a new section on refer; make, RCS (Version 5.7), and SCCS commands; and obsolete commands. In addition, there is a new Unix bibliography to guide the reader to further reading about the Unix environment. If you currently use Unix SVR4, or if you're a Solaris user, you'll want this book.", acknowledgement = ack-nhfb, tableofcontents = "Part I: Commands and Shells \\ 1: Introduction \\ 2: Unix Commands \\ 3: The Unix Shell: An Overview \\ 4: The Bourne Shell and Korn Shell \\ 5: The C Shell \\ Part II: Text Editing and Processing \\ 6: Pattern Matching \\ 7: The Emacs Editor \\ 8: The vi Editor \\ 9: The ex Editor \\ 10: The sed Editor \\ 11: The awk Programming Language \\ Part III: Text Formatting \\ 12: nroff and troff \\ 13: mm Macros \\ 14: ms Macros \\ 15: me Macros \\ 16: man Macros \\ 17: troff Preprocessors \\ Part IV: Software Development \\ 18: The Source Code Control System \\ 19: The Revision Control System \\ 20: The make Utility \\ Appendix A: ASCII Character Set \\ Appendix B: Obsolete Commands", } @Book{Robbins:1999:UNS, author = "Arnold Robbins", title = "{UNIX} in a Nutshell: a Desktop Quick Reference for {SVR4} and {Solaris 7}", publisher = pub-ORA, address = pub-ORA:adr, edition = "Third", pages = "xvi + 598", year = "1999", ISBN = "1-56592-427-4 (paperback)", ISBN-13 = "978-1-56592-427-7 (paperback)", LCCN = "QA76.76.O63 R623 1999", bibdate = "Wed Nov 17 09:10:28 1999", bibsource = "http://www.oreilly.com/catalog/; https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/ora.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", price = "US\$24.95", URL = "http://www.oreilly.com/catalog/unixnut3", abstract = "\booktitle{Unix in a Nutshell} includes thorough coverage of Unix System V Release 4 and Solaris 7. Author Arnold Robbins has added the latest information about: sixty new Unix commands; shell syntax (sh, csh, and the 1988 and 1993 versions of ksh); regular expressions; vi and ex commands, as well as newly updated Emacs information; sed and awk commands; troff and related commands and macros, with a new section on refer; make, RCS (Version 5.7), and SCCS commands; and obsolete commands. In addition, there is a new Unix bibliography to guide the reader to further reading about the Unix environment. If you currently use Unix SVR4, or if you're a Solaris user, you'll want this book.", acknowledgement = ack-nhfb, tableofcontents = "Part I: Commands and Shells \\ 1: Introduction \\ 2: Unix Commands \\ 3: The Unix Shell: An Overview \\ 4: The Bourne Shell and Korn Shell \\ 5: The C Shell \\ Part II: Text Editing and Processing \\ 6: Pattern Matching \\ 7: The Emacs Editor \\ 8: The vi Editor \\ 9: The ex Editor \\ 10: The sed Editor \\ 11: The awk Programming Language \\ Part III: Text Formatting \\ 12: nroff and troff \\ 13: mm Macros \\ 14: ms Macros \\ 15: me Macros \\ 16: man Macros \\ 17: troff Preprocessors \\ Part IV: Software Development \\ 18: The Source Code Control System \\ 19: The Revision Control System \\ 20: The make Utility \\ Appendix A: ASCII Character Set \\ Appendix B: Obsolete Commands", } @Article{Rooijackers:1999:TCG, author = "Jan Rooijackers", title = "Take Command: grep: Searching for Words", journal = j-LINUX-J, volume = "60", pages = "??--??", month = apr, year = "1999", CODEN = "LIJOFX", ISSN = "1075-3583 (print), 1938-3827 (electronic)", ISSN-L = "1075-3583", bibdate = "Thu Jun 3 06:33:59 MDT 1999", bibsource = "http://noframes.linuxjournal.com/lj-issues/issue60/index.html; https://www.math.utah.edu/pub/tex/bib/linux-journal.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Linux Journal", journal-URL = "http://portal.acm.org/citation.cfm?id=J508", } @Article{Schwartz:1999:CRE, author = "Randal Schwartz", title = "Compiling Regular Expressions", journal = j-SYS-ADMIN, volume = "8", number = "10", pages = "39--40, 42", month = oct, year = "1999", CODEN = "SYADE7", ISSN = "1061-2688", bibdate = "Sat Sep 18 19:04:11 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.samag.com/", abstract = "Schwartz provides some tips for streamlining the compilation of regular expressions.", acknowledgement = ack-nhfb, fjournal = "Sys admin: the journal for UNIX system administrators", } @Article{Shibata:1999:PMT, author = "Yusuke Shibata and Masayuki Takeda and Ayumi Shinohara and Setsuo Arikawa", title = "Pattern Matching in Text Compressed by Using Antidictionaries", journal = j-LECT-NOTES-COMP-SCI, volume = "1645", pages = "37--??", year = "1999", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Tue Feb 5 11:54:24 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t1645.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/1645/16450037.htm; http://link.springer-ny.com/link/service/series/0558/papers/1645/16450037.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Sidi:1999:FCS, author = "Avram Sidi", title = "Further convergence and stability results for the generalized {Richardson} extrapolation process {GREP} $^{(1)}$ with an application to the {$D$} $^{(1)}$-transformation for infinite integrals", journal = j-J-COMPUT-APPL-MATH, volume = "112", number = "1--2", pages = "269--290", day = "30", month = nov, year = "1999", CODEN = "JCAMDI", ISSN = "0377-0427 (print), 1879-1778 (electronic)", ISSN-L = "0377-0427", bibdate = "Sat Feb 25 12:43:32 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputapplmath1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0377042799902261", acknowledgement = ack-nhfb, fjournal = "Journal of Computational and Applied Mathematics", journal-URL = "http://www.sciencedirect.com/science/journal/03770427", } @Article{Soufi:1999:TSR, author = "L. Soufi", title = "Type Specification by Regular Expressions", journal = j-J-UCS, volume = "5", number = "9", pages = "622--631", day = "28", month = sep, year = "1999", CODEN = "????", ISSN = "0948-695X (print), 0948-6968 (electronic)", ISSN-L = "0948-6968", bibdate = "Thu Oct 12 14:21:59 MDT 2000", bibsource = "http://www.jucs.org/jucs; https://www.math.utah.edu/pub/tex/bib/jucs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.jucs.org/jucs_5_9/type_specification_by_regular", acknowledgement = ack-nhfb, fjournal = "J.UCS: Journal of Universal Computer Science", journal-URL = "http://www.jucs.org/jucs", } @Article{Sperberg-McQueen:1999:SRE, author = "C. M. Sperberg-McQueen", title = "Squib: Regular Expression for Dates", journal = j-MARKUP-LANG, volume = "1", number = "4", pages = "20--26", month = "Fall", year = "1999", CODEN = "MLTPFG", ISSN = "1099-6621 (print), 1537-2626 (electronic)", ISSN-L = "1099-6621", bibdate = "Sun Oct 29 14:49:51 MST 2000", bibsource = "http://mitpress.mit.edu/journal-home.tcl?issn=10996621; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Markup languages: theory \& practice", } @Article{Spinellis:1999:DPO, author = "Diomidis Spinellis", title = "Declarative peephole optimization using string pattern matching", journal = j-SIGPLAN, volume = "34", number = "2", pages = "47--50", month = feb, year = "1999", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:17:59 MST 2003", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/bibnet/authors/s/spinellis-diomidis.bib; https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", } @Article{Spinellis:1999:TCD, author = "Diomidis Spinellis", title = "Technical Correspondence: Declarative Peephole Optimization Using String Pattern Matching", journal = j-SIGPLAN, volume = "34", number = "2", pages = "47--51", month = feb, year = "1999", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Sep 26 17:06:07 MDT 2000", bibsource = "http://ftp.informatik.rwth-aachen.de/dblp/db/journals/sigplan/sigplan34.html; https://www.math.utah.edu/pub/bibnet/authors/s/spinellis-diomidis.bib; https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ftp.informatik.rwth-aachen.de/dblp/db/indices/a-tree/s/Spinellis:Diomidis.html", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", } @Article{Visser:1999:SPM, author = "Eelco Visser", title = "Strategic Pattern Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "1631", pages = "30--??", year = "1999", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Tue Feb 5 11:54:17 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t1631.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/1631/16310030.htm; http://link.springer-ny.com/link/service/series/0558/papers/1631/16310030.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Wendling:1999:PRS, author = "L. Wendling and J. Desachy", title = "Pattern Recognition of Strong Graphs Based on Possibilistic $c$-means and $k$-formulae Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "1566", pages = "180--189", year = "1999", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Tue Sep 14 06:09:05 MDT 1999", bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/lncs1999a.bib; https://www.math.utah.edu/pub/tex/bib/cryptography1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", keywords = "artificial intelligence; fuzzy logic; IJCAI", } @Article{Ziadi:1999:OPA, author = "Djelloul Ziadi and Jean-Marc Champarnaud", title = "An optimal parallel algorithm to convert a regular expression into its {Glushkov} automaton", journal = j-THEOR-COMP-SCI, volume = "215", number = "1--2", pages = "69--87", day = "28", month = feb, year = "1999", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 19 22:22:26 MDT 1999", bibsource = "http://www.elsevier.com/cgi-bin/cas/tree/store/tcs/cas_free/browse/browse.cgi?year=1999&volume=215&issue=1-2; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs1995.bib", URL = "http://www.elsevier.com/cas/tree/store/tcs/sub/1999/215/1-2/2667.pdf", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @TechReport{Anonymous:19xx:URE, author = "Anonymous", title = "{Unicode} Regular Expression Guidelines", type = "{Unicode} Technical Report", number = "18", institution = pub-UNICODE, address = pub-UNICODE-SAN-JOSE:adr, year = "19xx", bibdate = "Fri May 08 15:52:51 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unicode.bib", note = "In progress.", URL = "http://www.unicode.org/unicode/reports/techreports.html", acknowledgement = ack-nhfb, } @TechReport{Ritchie:19xx:IHQ, author = "Dennis Ritchie", title = "An incomplete history of the {QED} Text Editor", type = "Report", institution = inst-CSRC, address = inst-CSRC:adr, year = "19xx", bibdate = "Tue Mar 27 15:10:56 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/plan9.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://plan9.bell-labs.com/who/dmr/qed.html", acknowledgement = ack-nhfb, keywords = "regular expressions; Unicode; UTF-8", } @Article{Allauzen:2000:SOS, author = "Cyril Allauzen and Mathieu Raffinot", title = "Simple Optimal String Matching Algorithm", journal = j-J-ALG, volume = "36", number = "1", pages = "102--116", month = jul, year = "2000", CODEN = "JOALDV", DOI = "https://doi.org/10.1006/jagm.2000.1087", ISSN = "0196-6774 (print), 1090-2678 (electronic)", ISSN-L = "0196-6774", bibdate = "Tue Dec 11 09:18:17 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/jalg.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0196677400910873", acknowledgement = ack-nhfb, fjournal = "Journal of Algorithms", journal-URL = "http://www.sciencedirect.com/science/journal/01966774", } @Article{Amir:2000:PMH, author = "Amihood Amir and Moshe Lewenstein and Noa Lewenstein", title = "Pattern Matching in Hypertext", journal = j-J-ALG, volume = "35", number = "1", pages = "82--99", month = apr, year = "2000", CODEN = "JOALDV", DOI = "https://doi.org/10.1006/jagm.1999.1063", ISSN = "0196-6774 (print), 1090-2678 (electronic)", ISSN-L = "0196-6774", bibdate = "Tue Dec 11 09:18:09 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/jalg.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0196677499910635", acknowledgement = ack-nhfb, fjournal = "Journal of Algorithms", journal-URL = "http://www.sciencedirect.com/science/journal/01966774", } @Article{Amir:2000:PMS, author = "Amihood Amir and Yonatan Aumann and Gad M. Landau and Moshe Lewenstein and Noa Lewenstein", title = "Pattern Matching with Swaps", journal = j-J-ALG, volume = "37", number = "2", pages = "247--266", month = nov, year = "2000", CODEN = "JOALDV", DOI = "https://doi.org/10.1006/jagm.2000.1120", ISSN = "0196-6774 (print), 1090-2678 (electronic)", ISSN-L = "0196-6774", bibdate = "Tue Dec 11 09:18:28 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/jalg.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0196677400911209", acknowledgement = ack-nhfb, fjournal = "Journal of Algorithms", journal-URL = "http://www.sciencedirect.com/science/journal/01966774", } @Article{Bakar:2000:ERE, author = "Zainab Abu Bakar and Tengku Mohd T. Sembok and Mohammed Yusoff", title = "An evaluation of retrieval effectiveness using spelling-correction and string-similarity matching methods on {Malay} texts", journal = j-J-AM-SOC-INF-SCI, volume = "51", number = "8", pages = "691--706", month = "????", year = "2000", CODEN = "AISJB6", DOI = "https://doi.org/10.1002/(SICI)1097-4571(2000)51:8<691::AID-ASI20>3.0.CO%3B2-U", ISSN = "0002-8231 (print), 1097-4571 (electronic)", ISSN-L = "0002-8231", bibdate = "Fri Sep 11 09:04:41 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/jasis.bib; https://www.math.utah.edu/pub/tex/bib/spell.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Journal of the American Society for Information Science", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)2330-1643", onlinedate = "28 Apr 2000", } @Book{Bentley:2000:PP, author = "Jon Louis Bentley", title = "Programming Pearls", publisher = pub-AW, address = pub-AW:adr, edition = "Second", pages = "xi + 239", year = "2000", ISBN = "0-201-65788-0 (paperback), 0-13-449802-X (e-book), 0-13-449805-4", ISBN-13 = "978-0-201-65788-3 (paperback), 978-0-13-449802-7 (e-book), 978-0-13-449805-8", LCCN = "QA76.6 .B454 2000", bibdate = "Fri Jul 12 17:17:23 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/css.bib; https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", price = "US\$24.95", abstract = "Just as natural pearls grow from grains of sand that irritate oysters, programming pearls have grown from real problems that have irritated real programmers. With origins beyond solid engineering, in the realm of insight and creativity, Bentley's pearls offer unique and clever solutions to those nagging problems. Illustrated by programs designed as much for fun as for instruction, the book is filled with lucid and witty descriptions of practical programming techniques and fundamental design principles. It is not at all surprising that \booktitle{Programming Pearls} has been so highly valued by programmers at every level of experience.", acknowledgement = ack-nhfb, shorttableofcontents = "Part I: Preliminaries / 1 \\ Column 1: Cracking the Oyster / 3 \\ Column 2: Aha! Algorithms / 11 \\ Column 3: Data Structures Programs / 21 \\ Column 4: Writing Correct Programs / 33 \\ Column 5: A Small Matter of Programming / 45 \\ Part II: Performance / 59 \\ Column 6: Perspective on Performance / 61 \\ Column 7: The Back of the Envelope / 67 \\ Column 8: Algorithm Design Techniques / 77 \\ Column 9: Code Tuning / 87 \\ Column 10: Squeezing Space / 99 \\ Part III: The Product / 113 \\ Column 11: Sorting / 115 \\ Column 12: A Sample Problem / 125 \\ Column 13: Searching / 133 \\ Column 14: Heaps / 147 \\ Column 15: Strings of Pearls / 161 \\ Epilog to the First Edition / 175 \\ Epilog to the Second Edition / 177 \\ Appendix 1: A Catalog of Algorithms / 179 \\ Appendix 2: An Estimation Quiz / 183 \\ Appendix 3: Cost Models for Time and Space / 185 \\ Appendix 4: Rules for Code Tuning / 191 \\ Appendix 5: C++ Classes for Searching / 197 \\ Hints for Selected Problems / 201 \\ Solutions to Selected Problems / 205 \\ Index / 233", tableofcontents = "Part I: Preliminaries / 1 \\ Column 1: Cracking the Oyster / 3 \\ A Friendly Conversation \\ Precise Problem Statement \\ Program Design \\ Implementation Sketch \\ Principles \\ Problems \\ Further Reading \\ Column 2: Aha! Algorithms / 11 \\ Three Problems \\ Ubiquitous Binary Search \\ The Power of Primitives \\ Getting It Together: Sorting \\ Principles \\ Problems \\ Further Reading \\ Implementing an Anagram Program \\ Column 3: Data Structures Programs / 21 \\ A Survey Program \\ Form-Letter Programming \\ An Array of Examples \\ Structuring Data \\ Powerful Tools for Specialized Data \\ Principles \\ Problems \\ Further Reading \\ Column 4: Writing Correct Programs / 33 \\ The Challenge of Binary Search \\ Writing the Program \\ Understanding the Program \\ Principles \\ The Roles of Program Verification \\ Problems \\ Further Reading \\ Column 5: A Small Matter of Programming / 45 \\ From Pseudocode to C \\ A Test Harness \\ The Art of Assertion \\ Automated Testing \\ Timing \\ The Complete Program \\ Principles \\ Problems \\ Further Reading \\ Debugging \\ Part II: Performance / 59 \\ Column 6: Perspective on Performance / 61 \\ A Case Study \\ Design Levels \\ Principles \\ Problems \\ Further Reading \\ Column 7: The Back of the Envelope / 67 \\ Basic Skills \\ Performance Estimates Safety Factors \\ Little's Law \\ Principles \\ Problems \\ Further Reading \\ Quick Calculations in Everyday Life \\ Column 8: Algorithm Design Techniques / 77 \\ The Problem and a Simple Algorithm \\ Two Quadratic Algorithms \\ A Divide-and-Conquer Algorithm \\ A Scanning Algorithm \\ What Does It Matter? \\ Principles \\ Problems \\ Further Reading \\ Column 9: Code Tuning / 87 \\ A Typical Story \\ A First Aid Sampler \\ Major Surgery --- Binary Search \\ Principles \\ Problems \\ Further Reading \\ Column 10: Squeezing Space / 99 \\ The Key --- Simplicity \\ An Illustrative Problem \\ Techniques for Data Space \\ Techniques for Code Space \\ Principles \\ Problems \\ Further Reading \\ A Big Squeeze \\ Part III: The Product / 113 \\ Column 11: Sorting / 115 \\ Insertion Sort \\ A Simple Quicksort \\ Better Quicksorts \\ Principles \\ Problems \\ Further Reading \\ Column 12: A Sample Problem / 125 \\ The Problem \\ One Solution \\ The Design Space \\ Principles \\ Problems \\ Further Reading \\ Column 13: Searching / 133 \\ The Interface \\ Linear Structures \\ Binary Search Trees \\ Structures for Integers \\ Principles \\ Problems Further Reading \\ A Real Searching Problem \\ Column 14: Heaps / 147 \\ The Data Structure \\ Two Critical Functions \\ Priority Queues \\ A Sorting Algorithm \\ Principles \\ Problems \\ Further Reading \\ Column 15: Strings of Pearls / 161 \\ Words \\ Phrases \\ Generating Text \\ Principles \\ Problems \\ Further Reading \\ Epilog to the First Edition / 175 \\ Epilog to the Second Edition / 177 \\ Appendix 1: A Catalog of Algorithms / 179 \\ Appendix 2: An Estimation Quiz / 183 \\ Appendix 3: Cost; Models for Time and Space / 185 \\ Appendix 4: Rules for Code Tuning / 191 \\ Appendix 5: C++ Classes for Searching / 197 \\ Hints for Selected Problems / 201 \\ Solutions to Selected Problems / 205 \\ Index / 233", } @Article{Berry:2000:CBM, author = "David Berry", title = "Combining {Boyer--Moore} String Search with Regular Expressions", journal = j-CCCUJ, volume = "18", number = "6", pages = "??--??", month = jun, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0006/0006toc.htm?topic=articles; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Some text searches are fast and some are flexible. This one is both.", acknowledgement = ack-nhfb, fjournal = "C/C++ Users Journal", } @Article{Bertossi:2000:RNS, author = "A. A. Bertossi and A. Mei", title = "A Residue Number System on Reconfigurable Mesh with Applications to Prefix Sums and Approximate String Matching", journal = j-IEEE-TRANS-PAR-DIST-SYS, volume = "11", number = "11", pages = "1186--1199", month = nov, year = "2000", CODEN = "ITDSEO", DOI = "https://doi.org/10.1109/71.888638", ISSN = "1045-9219 (print), 1558-2183 (electronic)", ISSN-L = "1045-9219", bibdate = "Fri Nov 9 11:38:59 MST 2007", bibsource = "https://www.math.utah.edu/pub/tex/bib/fparith.bib; https://www.math.utah.edu/pub/tex/bib/ieeetranspardistsys.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://dlib.computer.org/td/books/td2000/pdf/l1186.pdf; http://ieeexplore.ieee.org/xpl/tocresult.jsp?isnumber=19224; http://www.computer.org/tpds/td2000/l1186abs.htm", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Parallel and Distributed Systems", journal-URL = "http://www.computer.org/tpds/archives.htm", keywords = "residue arithmetic; residue number system", summary = "Several new number representations based on a residue number system are presented which use the smallest prime numbers as moduli and are suited for parallel computations on a reconfigurable mesh architecture. The bit model of linear reconfigurable \ldots{}", } @Article{Buneman:2000:UQL, author = "Peter Buneman and Mary F. Fernandez and Dan Suciu", title = "{UnQL}: a query language and algebra for semistructured data based on structural recursion", journal = j-VLDB-J, volume = "9", number = "1", pages = "76--110", month = mar, year = "2000", CODEN = "VLDBFR", ISSN = "1066-8888 (print), 0949-877X (electronic)", ISSN-L = "1066-8888", bibdate = "Mon Jun 23 10:50:52 MDT 2008", bibsource = "http://ftp.informatik.rwth-aachen.de/dblp/db/journals/vldb/vldb9.html; http://link.springer.de/link/service/journals/00778/tocs/t0009001.htm; http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbj.bib", note = "Electronic edition.", URL = "http://ftp.informatik.rwth-aachen.de/dblp/db/indices/a-tree/b/Buneman:Peter.html; http://ftp.informatik.rwth-aachen.de/dblp/db/indices/a-tree/f/Fernandez:Mary_F=.html; http://ftp.informatik.rwth-aachen.de/dblp/db/indices/a-tree/s/Suciu:Dan.html; http://link.springer.de/link/service/journals/00778/bibs/0009001/00090076.htm; http://link.springer.de/link/service/journals/00778/papers/0009001/00090076.pdf", abstract = "This paper presents structural recursion as the basis of the syntax and semantics of query languages for semistructured data and XML. We describe a simple and powerful query language based on pattern matching and show that it can be expressed using structural recursion, which is introduced as a top-down, recursive function, similar to the way XSL is defined on XML trees. On cyclic data, structural recursion can be defined in two equivalent ways: as a recursive function which evaluates the data top-down and remembers all its calls to avoid infinite loops, or as a bulk evaluation which processes the entire data in parallel using only traditional relational algebra operators. The latter makes it possible for optimization techniques in relational queries to be applied to structural recursion. We show that the composition of two structural recursion queries can be expressed as a single such query, and this is used as the basis of an optimization method for mediator systems. Several other formal properties are established: structural recursion can be expressed in first-order logic extended with transitive closure; its data complexity is PTIME; and over relational data it is a conservative extension of the relational calculus. The underlying data model is based on value equality, formally defined with bisimulation. Structural recursion is shown to be invariant with respect to value equality.", acknowledgement = ack-nhfb, fjournal = "VLDB Journal: Very Large Data Bases", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", keywords = "optimization; query language; semistructured data; structural recursion; XML; XSL", } @Article{Calsavara:2000:JQH, author = "Alexandre Pereira Calsavara", title = "{Java Q\&A}: How Can {I} Extend {Java}'s Search Capabilities?", journal = j-DDJ, volume = "25", number = "12", pages = "141--142, 144, 146", month = dec, year = "2000", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Wed Nov 8 15:09:25 MST 2000", bibsource = "https://www.math.utah.edu/pub/tex/bib/java2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.ddj.com/ftp/2000/2000_12/jqa0012.zip", abstract = "String searching is a basic operation for just about any application. Alexandre presents a small class that uses regular expressions to add powerful string search capabilities to Java. Additional resources include jqa0012.zip (source code).", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", } @Article{Ciancarini:2000:UCL, author = "P. Ciancarini and F. Franz{\'e} and C. Mascolo", title = "Using a coordination language to specify and analyze systems containing mobile components", journal = j-TOSEM, volume = "9", number = "2", pages = "167--198", month = apr, year = "2000", CODEN = "ATSMER", ISSN = "1049-331X (print), 1557-7392 (electronic)", ISSN-L = "1049-331X", bibdate = "Fri Apr 20 08:21:35 MDT 2001", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tosem.bib", URL = "http://www.acm.org/pubs/articles/journals/tosem/2000-9-2/p167-ciancarini/p167-ciancarini.pdf; http://www.acm.org/pubs/citations/journals/tosem/2000-9-2/p167-ciancarini/", abstract = "New computing paradigms for network-aware applications need specification languages able to deal with the features of mobile code-based systems. A coordination language provides a formal framework in which the interaction of active entities can be expressed. A coordination language deals with the creation and destruction of code or complex agents, their communication activities, as well as their distribution and mobility in space. We show how the coordination language PoliS offers a flexible basis for the description and the automatic analysis of architectures of systems including mobile entities. Polis is based on multiple tuple spaces and offers a basis for defining, studying, and controlling mobility as it allows decoupling mobile entities from their environments both in space and in time. The pattern-matching mechanism adopted for communication helps in abstracting from addressing issues. We have developed a model-checking technique for the automatic analysis of PoliS specifications. In the article we show how this technique can be applied to mobile code-based systems", acknowledgement = ack-nhfb, fjournal = "ACM Transactions on Software Engineering and Methodology", generalterms = "Design; Languages; Verification", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J790", subject = "Software --- Software Engineering --- Requirements/Specifications (D.2.1); Software --- Software Engineering --- Software/Program Verification (D.2.4): {\bf Model checking}; Software --- Programming Languages --- Formal Definitions and Theory (D.3.1): {\bf Semantics}; Software --- Programming Languages --- Language Classifications (D.3.2): {\bf Concurrent, distributed, and parallel languages}", } @Article{Dorohonceanu:2000:AAP, author = "Bogdan Dorohonceanu and Craig Nevill-Manning", title = "Algorithm Alley: {A} Practical Suffix-Tree Implementation for String Searches", journal = j-DDJ, volume = "25", number = "7", pages = "133--136, 140", month = jul, year = "2000", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Thu Nov 9 08:25:16 MST 2000", bibsource = "https://www.math.utah.edu/pub/tex/bib/dr-dobbs-2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.ddj.com/ftp/2000/2000_07/aa700.txt; http://www.ddj.com/ftp/2000/2000_07/aa700.zip", abstract = "Suffix trees are used for string searches. Our authors describe how to build a generalized suffix tree data structure using as few hardware resources as possible while still approaching the time complexity derived in theory. Additional resources include aa700.txt (listings) and aa700.zip (source code).", acknowledgement = ack-nhfb, journal-URL = "http://www.ddj.com/", } @Article{Dube:2000:EBP, author = "Danny Dub{\'e} and Marc Feeley", title = "Efficiently building a parse tree from a regular expression", journal = j-ACTA-INFO, volume = "37", number = "2", pages = "121--144", month = sep, year = "2000", CODEN = "AINFA2", ISSN = "0001-5903 (print), 1432-0525 (electronic)", ISSN-L = "0001-5903", bibdate = "Thu Sep 28 06:00:12 MDT 2000", bibsource = "http://link.springer-ny.com/link/service/journals/00236/tocs/t0037002.htm; https://www.math.utah.edu/pub/tex/bib/actainfo.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/journals/00236/bibs/0037002/00370121.htm; http://link.springer-ny.com/link/service/journals/00236/papers/0037002/00370121.pdf", acknowledgement = ack-nhfb, fjournal = "Acta Informatica", journal-URL = "http://www.springerlink.com/content/0001-5903", } @Article{Dwelly:2000:XRP, author = "Andrew Dwelly", title = "{XML}, Reflective Pattern Matching, and {Java}", journal = j-DDJ, volume = "25", number = "6", pages = "46, 49--52, 54", month = jun, year = "2000", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Thu Nov 9 08:25:15 MST 2000", bibsource = "https://www.math.utah.edu/pub/tex/bib/java2000.bib; https://www.math.utah.edu/pub/tex/bib/sgml2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.ddj.com/ftp/2000/2000_06/marius05.zip; http://www.ddj.com/ftp/2000/2000_06/xmljava.txt", abstract = "Although the pattern matching available in Hex, the program Andrew presents here, is relatively simple, it is still powerful enough to perform sophisticated XML document processing. Additional resources include xmljava.txt (listings) and marius05.zip (source code).", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", } @Article{Farach-Colton:2000:SCS, author = "Martin Farach-Colton and Paolo Ferragina and S. Muthukrishnan", title = "On the sorting-complexity of suffix tree construction", journal = j-J-ACM, volume = "47", number = "6", pages = "987--1011", year = "2000", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Wed Jan 10 19:20:14 MST 2001", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/citations/journals/jacm/2000-47-6/p987-farach-colton/", abstract = "The suffix tree of a string is the fundamental data structure of combinatorial pattern matching. We present a recursive technique for building suffix trees that yields optimal algorithms in different computational models. Sorting is an inherent bottleneck in building suffix trees and our algorithms match the sorting lower bound. Specifically, we present the following results. (1) Weiner [1973], who introduced the data structure, gave an optimal {$ O(n) $}-time algorithm for building the suffix tree of an $n$-character string drawn from a constant-size alphabet. In the comparison model, there is a trivial $ (n \log n) $-time lower bound based on sorting, and Weiner's algorithm matches this bound. For integer alphabets, the fastest known algorithm is the {$ O(n \log n) $} time comparison-based algorithm, but no super-linear lower bound is known. Closing this gap is the main open question in stringology. We settle this open problem by giving a linear time reduction to sorting for building suffix trees. Since sorting is a lower-bound for building suffix trees, this algorithm is time-optimal in every alphabet mode. In particular, for an alphabet consisting of integers in a polynomial range we get the first known linear-time algorithm. (2) All previously known algorithms for building suffix trees exhibit a marked absence of locality of reference, and thus they tend to elicit many page faults (I/Os) when indexing very long strings. They are therefore unsuitable for building suffix trees in secondary storage devices, where I/Os dominate the overall computational cost. We give a linear-I/O reduction to sorting for suffix tree construction. Since sorting is a trivial I/O-lower bound for building suffix trees, our algorithm is I/O-optimal.", acknowledgement = ack-nhfb, fjournal = "Journal of the Association for Computing Machinery", generalterms = "Algorithms; Design; Theory", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", keywords = "DAM model; external-memory data structures; RAM model; sorting complexity; suffix array; suffix tree", subject = "Software --- Operating Systems --- Storage Management (D.4.2): {\bf Main memory}; Software --- Operating Systems --- Storage Management (D.4.2): {\bf Secondary storage}; Data --- Data Structures (E.1): {\bf Trees}; Data --- Files (E.5): {\bf Sorting/searching}; Theory of Computation --- Computation by Abstract Devices --- Models of Computation (F.1.1); Theory of Computation --- Analysis of Algorithms and Problem Complexity --- Nonnumerical Algorithms and Problems (F.2.2): {\bf Pattern matching}; Theory of Computation --- Analysis of Algorithms and Problem Complexity --- Nonnumerical Algorithms and Problems (F.2.2): {\bf Sorting and searching}; Information Systems --- Information Storage and Retrieval --- Content Analysis and Indexing (H.3.1): {\bf Indexing methods}", } @Article{Forax:2000:RTP, author = "R{\'e}mi Forax and Gilles Roussel", title = "Recursive Types and Pattern-Matching in {Java}", journal = j-LECT-NOTES-COMP-SCI, volume = "1799", pages = "147--??", year = "2000", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Fri Feb 1 09:16:18 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t1799.htm; https://www.math.utah.edu/pub/tex/bib/java2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/1799/17990147.htm; http://link.springer-ny.com/link/service/series/0558/papers/1799/17990147.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Gorman:2000:PCT, author = "Ian E. Gorman", title = "Parsing Complex Text Structures", journal = j-DDJ, volume = "25", number = "6", pages = "90, 92--98", month = jun, year = "2000", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Thu Nov 9 08:25:15 MST 2000", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.ddj.com/ftp/2000/2000_06/parse.txt; http://www.ddj.com/ftp/2000/2000_06/parse.zip", abstract = "A pattern language that includes recursive patterns and conditional pattern matching can handle complex text structures without supplementary programming. Ian uses the OmniMark pattern language from OmniMark Technologies to do a job that might otherwise be done with tools like lex and yacc. Additional resources include parse.txt (listings) and parse.zip (source code).", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", } @InProceedings{Grossi:2000:CSA, author = "Roberto Grossi and Jeffrey Scott Vitter", title = "Compressed suffix arrays and suffix trees with applications to text indexing and string matching (extended abstract)", crossref = "ACM:2000:PTS", pages = "397--406", year = "2000", bibdate = "Wed Feb 20 18:35:45 MST 2002", bibsource = "http://portal.acm.org/; http://www.acm.org/pubs/contents/proceedings/series/stoc/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/articles/proceedings/stoc/335305/p397-grossi/p397-grossi.pdf; http://www.acm.org/pubs/citations/proceedings/stoc/335305/p397-grossi/", acknowledgement = ack-nhfb, } @Article{Holub:2000:ASM, author = "Jan Holub and Bo{\v{r}}ivoj Melichar", title = "Approximate string matching using factor automata", journal = j-THEOR-COMP-SCI, volume = "249", number = "2", pages = "305--311", day = "28", month = oct, year = "2000", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Tue Oct 31 11:38:54 MST 2000", bibsource = "http://www.elsevier.com/locate/issn/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2000.bib", URL = "http://www.elsevier.nl/gej-ng/10/41/16/184/23/24/abstract.html; http://www.elsevier.nl/gej-ng/10/41/16/184/23/24/article.pdf", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Hosoya:2000:RET, author = "Haruo Hosoya and J{\'e}r{\^o}me Vouillon and Benjamin C. Pierce", title = "Regular expression types for {XML}", journal = j-SIGPLAN, volume = "35", number = "9", pages = "11--22", month = sep, year = "2000", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Nov 7 16:57:22 MST 2000", bibsource = "http://www.acm.org/pubs/contents/proceedings/series/icfp/; https://www.math.utah.edu/pub/tex/bib/sgml2000.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/articles/proceedings/fp/351240/p11-hosoya/p11-hosoya.pdf; http://www.acm.org/pubs/citations/proceedings/fp/351240/p11-hosoya/", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", } @Article{Howland:2000:REC, author = "Eric Howland and David Niergarth", title = "Regular expressions for checking dates", journal = j-MARKUP-LANG, volume = "2", number = "2", pages = "126--132", month = "Spring", year = "2000", CODEN = "MLTPFG", ISSN = "1099-6621 (print), 1537-2626 (electronic)", ISSN-L = "1099-6621", bibdate = "Wed Feb 20 11:44:31 MST 2002", bibsource = "http://mitpress.mit.edu/journal-home.tcl?issn=10996621; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://mitpress.mit.edu/catalog/item/default.asp?sid=3108FA5E-91BB-480F-9930-C1C27725EAB8&ttype=6&tid=6855", acknowledgement = ack-nhfb, fjournal = "Markup languages: theory \& practice", } @Article{Hung:2000:IVI, author = "Ted Hung and Susan H. Rodger", title = "Increasing visualization and interaction in the automata theory course", journal = j-SIGCSE, volume = "32", number = "1", pages = "6--10", month = mar, year = "2000", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/331795.331800", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Mon Nov 19 10:05:03 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "In this paper we describe how to increase the visualization and interaction in the automata theory course through the use of the tools JFLAP and P{\^a}t{\'e}. We also describe new features in these tools that allow additional visualization and interaction. New features in JFLAP include the addition of regular expressions and exploring their conversion from and to nondeterministic finite automata (NFA), and increasing the interaction in the conversion of automata to grammars. New features in P{\^a}t{\'e} include the display of a parse tree while parsing unrestricted grammars, and improved interaction with parsing and the transformation of grammars.", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", } @Article{Jagadish:2000:ODM, author = "H. V. Jagadish and Olga Kapitskaia and Raymond T. Ng and Divesh Srivastava", title = "One-dimensional and multi-dimensional substring selectivity estimation", journal = j-VLDB-J, volume = "9", number = "3", pages = "214--230", month = dec, year = "2000", CODEN = "VLDBFR", ISSN = "1066-8888 (print), 0949-877X (electronic)", ISSN-L = "1066-8888", bibdate = "Mon Jun 23 10:50:54 MDT 2008", bibsource = "http://link.springer.de/link/service/journals/00778/tocs/t0009003.htm; http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbj.bib", URL = "http://link.springer.de/link/service/journals/00778/bibs/0009003/00090214.htm; http://link.springer.de/link/service/journals/00778/papers/0009003/00090214.pdf", abstract = "With the increasing importance of XML, LDAP directories, and text-based information sources on the Internet, there is an ever-greater need to evaluate queries involving (sub)string matching. In many cases, matches need to be on multiple attributes/dimensions, with correlations between the multiple dimensions. Effective query optimization in this context requires good selectivity estimates. In this paper, we use pruned count-suffix trees (PSTs) as the basic data structure for substring selectivity estimation. For the 1-D problem, we present a novel technique called MO (Maximal Overlap). We then develop and analyze two 1-D estimation algorithms, MOC and MOLC, based on MO and a constraint-based characterization of all possible completions of a given PST. For the $k$-D problem, we first generalize PSTs to multiple dimensions and develop a space- and time-efficient probabilistic algorithm to construct $k$-D PSTs directly. We then show how to extend MO to multiple dimensions. Finally, we demonstrate, both analytically and experimentally, that MO is both practical and substantially superior to competing algorithms.", acknowledgement = ack-nhfb, fjournal = "VLDB Journal: Very Large Data Bases", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", keywords = "maximal overlap; pruned count-suffix tree; short memory property; string selectivity", } @Article{Karhumaki:2000:PMP, author = "Juhani Karhum{\"a}ki and Wojciech Plandowski and Wojciech Rytter", title = "Pattern-Matching Problems for Two-Dimensional Images Described by Finite Automata", journal = j-NORDIC-J-COMPUT, volume = "7", number = "1", pages = "1--??", month = "Spring", year = "2000", CODEN = "NJCOFR", ISSN = "1236-6064", bibdate = "Fri Oct 13 05:25:17 MDT 2000", bibsource = "http://www.cs.helsinki.fi/njc/njc7.html; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.cs.helsinki.fi/njc/References/karhumakipr2000:1.html", acknowledgement = ack-nhfb, fjournal = "Nordic Journal of Computing", } @Article{Katoen:2000:PMA, author = "Joost-Pieter Katoen and Albert Nymeyer", title = "Pattern-matching algorithms based on term rewrite systems", journal = j-THEOR-COMP-SCI, volume = "238", number = "1--2", pages = "439--464", day = "6", month = may, year = "2000", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Tue Oct 31 11:38:18 MST 2000", bibsource = "http://www.elsevier.com/locate/issn/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2000.bib", URL = "http://www.elsevier.nl/gej-ng/10/41/16/172/21/34/abstract.html; http://www.elsevier.nl/gej-ng/10/41/16/172/21/34/article.pdf", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Kuri:2000:PMB, author = "Josu{\'e} Kuri and Gonzalo Navarro and Ludovic M{\'e} and Laurent Heye", title = "A Pattern Matching Based Filter for Audit Reduction and Fast Detection of Potential Intrusions", journal = j-LECT-NOTES-COMP-SCI, volume = "1907", pages = "17--??", year = "2000", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Fri Feb 1 09:17:04 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t1907.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/1907/19070017.htm; http://link.springer-ny.com/link/service/series/0558/papers/1907/19070017.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @InProceedings{Laurikari:2000:NTT, author = "V. Laurikari", booktitle = "{Seventh International Symposium on String Processing and Information Retrieval, 2000. SPIRE 2000. 27--29 September 2000, A Curu{\~n}a, Spain. Proceedings}", title = "{NFAs} with tagged transitions, their conversion to deterministic automata and application to regular expressions", publisher = pub-IEEE, address = pub-IEEE:adr, bookpages = "ix + 261", pages = "181--187", year = "2000", DOI = "https://doi.org/10.1109/SPIRE.2000.878194", ISBN = "0-7695-0746-8, 0-7695-0747-6 (case), 0-7695-0748-4 (microfiche)", ISBN-13 = "978-0-7695-0746-0, 978-0-7695-0747-7 (case), 978-0-7695-0748-4 (microfiche)", LCCN = "QA76.9.T48 I59 2000", bibdate = "Tue Mar 27 15:05:43 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/plan9.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Madhavan:2000:EGG, author = "Maya Madhavan and Priti Shankar and Siddhartha Rai and U. Ramakrishna", title = "Extending {Graham-Glanville} techniques for optimal code generation", journal = j-TOPLAS, volume = "22", number = "6", pages = "973--1001", year = "2000", CODEN = "ATPSDT", ISSN = "0164-0925 (print), 1558-4593 (electronic)", ISSN-L = "0164-0925", bibdate = "Wed Jul 25 13:55:50 MDT 2001", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/toplas.bib", URL = "http://www.acm.org/pubs/articles/journals/toplas/2000-22-6/p973-madhavan/p973-madhavan.pdf; http://www.acm.org/pubs/citations/journals/toplas/2000-22-6/p973-madhavan/", abstract = "We propose a new technique for constructing code-generator generators, which combines the advantages of the Graham-Glanville parsing technique and the bottom-up tree parsing approach. Machine descriptions are similar to Yacc specifications. The construction effectively generates a pushdown automaton as the matching device. This device is able to handle ambiguous grammars, and can be used to generate locally optimal code without the use of heuristics. Cost computations are performed at preprocessing time. The class of regular tree grammars augmented with costs that can be handled by our system properly includes those that can be handled by bottom-up systems based on finite-state tree parsing automata. Parsing time is linear in the size of the subject tree. We have tested the system on specifications for some systems and report table sizes.", acknowledgement = ack-nhfb, fjournal = "ACM Transactions on Programming Languages and Systems", generalterms = "Algorithms; Languages", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783", keywords = "code-generator generator; optimal code generation; tree pattern matching", subject = "Software --- Programming Languages --- Processors (D.3.4): {\bf Code generation}; Software --- Programming Languages --- Processors (D.3.4): {\bf Retargetable compilers}; Software --- Programming Languages --- Processors (D.3.4): {\bf Translator writing systems and compiler generators}", } @Article{Muthukrishnan:2000:SOP, author = "S. Muthukrishnan", title = "Simple Optimal Parallel Multiple Pattern Matching", journal = j-J-ALG, volume = "34", number = "1", pages = "1--13", month = jan, year = "2000", CODEN = "JOALDV", DOI = "https://doi.org/10.1006/jagm.1999.1015", ISSN = "0196-6774 (print), 1090-2678 (electronic)", ISSN-L = "0196-6774", bibdate = "Tue Dec 11 09:18:01 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/jalg.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0196677499910155", acknowledgement = ack-nhfb, fjournal = "Journal of Algorithms", journal-URL = "http://www.sciencedirect.com/science/journal/01966774", } @Article{Navarro:2000:FFS, author = "Gonzalo Navarro and Mathieu Raffinot", title = "Fast and flexible string matching by combining bit-parallelism and suffix automata", journal = j-ACM-J-EXP-ALGORITHMICS, volume = "5", pages = "4:1--4:??", month = "????", year = "2000", CODEN = "????", DOI = "https://doi.org/10.1145/351827.384246", ISSN = "1084-6654", ISSN-L = "1084-6654", bibdate = "Mon Oct 6 16:03:09 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/jea.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The most important features of a string matching algorithm are its efficiency and its flexibility. Efficiency has traditionally received more attention, while flexibility in the search pattern is becoming a more and more important issue. Most classical string matching algorithms are aimed at quickly finding an exact pattern in a text, being Knuth--Morris--Pratt (KMP) and the Boyer--Moore (BM) family the most famous ones. A recent development uses deterministic 'suffix automata' to design new optimal string matching algorithms, e.g. BDM and TurboBDM. Flexibility has been addressed quite separately by the use of 'bit-parallelism', which simulates automata in their nondeterministic form by using bits and exploiting the intrinsic parallelism inside the computer word, e.g. the Shift-Or algorithm. Those algorithms are extended to handle classes of characters and errors in the pattern and/or in the text, their drawback being their inability to skip text characters. In this paper we merge bit-parallelism and suffix automata, so that a nondeterministic suffix automaton is simulated using bit-parallelism. The resulting algorithm, called BNDM, obtains the best from both worlds. It is much simpler to implement than BDM and nearly as simple as Shift-Or. It inherits from Shift-Or the ability to handle flexible patterns and from BDM the ability to skip characters. BNDM is 30\%-40\% faster than BDM and up to 7 times faster than Shift-Or. When compared to the fastest existing algorithms on exact patterns (which belong to the BM family), BNDM is from 20\% slower to 3 times faster, depending on the alphabet size. With respect to flexible pattern searching, BNDM is by far the fastest technique to deal with classes of characters and is competitive to search allowing errors. In particular, BNDM seems very adequate for computational biology applications, since it is the fastest algorithm to search on DNA sequences and flexible searching is an important problem in that area. As a theoretical development related to flexible pattern matching, we introduce a new automaton to recognize suffixes of patterns with classes of characters. To the best of our knowledge, this automaton has not been studied before.", acknowledgement = ack-nhfb, articleno = "4", fjournal = "Journal of Experimental Algorithmics (JEA)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J430", } @Article{Navarro:2000:IAP, author = "Gonzalo Navarro", title = "Improved approximate pattern matching on hypertext", journal = j-THEOR-COMP-SCI, volume = "237", number = "1--2", pages = "455--463", day = "28", month = apr, year = "2000", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Tue Oct 31 11:38:15 MST 2000", bibsource = "http://www.elsevier.com/locate/issn/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2000.bib", URL = "http://www.elsevier.nl/gej-ng/10/41/16/171/21/45/abstract.html; http://www.elsevier.nl/gej-ng/10/41/16/171/21/45/article.pdf", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @TechReport{Pike:2000:TES, author = "Rob Pike", title = "The Text Editor {\tt sam}", type = "{World-Wide Web} document", institution = inst-CSRC, address = inst-CSRC:adr, pages = "30", day = "7", month = jun, year = "2000", bibdate = "Tue Nov 29 10:02:15 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/plan9.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://plan9.bell-labs.com/sys/doc/sam/sam.pdf", abstract = "Sam is an interactive multi-file text editor intended for bitmap displays. A textual command language supplements the mouse-driven, cut-and-paste interface to make complex or repetitive editing tasks easy to specify. The language is characterized by the composition of regular expressions to describe the structure of the text being modified. The treatment of files as a database, with changes logged as atomic transactions, guides the implementation and makes a general `undo' mechanism straightforward.\par Sam is implemented as two processes connected by a low-bandwidth stream, one process handling the display and the other the editing algorithms. Therefore it can run with the display process in a bitmap terminal and the editor on a local host, with both processes on a bitmap-equipped host, or with the display process in the terminal and the editor in a remote host. By suppressing the display process, it can even run without a bitmap terminal.\par This paper is reprinted from {\em Software Practice and Experience}, Vol 17, number 11, pp. 813--845, November 1987. The paper has not been updated for the Plan 9 manuals. Although Sam has not changed much since the paper was written, the system around it certainly has. Nonetheless, the description here still stands as the best introduction to the editor.", acknowledgement = ack-nhfb, } @Book{Quigley:2000:LSE, author = "Ellie Quigley", title = "{Linux} shells by example", publisher = pub-PHPTR, address = pub-PHPTR:adr, pages = "xviii + 761", year = "2000", ISBN = "0-13-014711-7", ISBN-13 = "978-0-13-014711-0", LCCN = "QA76.76.O63 Q538 2000", bibdate = "Wed Mar 13 13:43:08 MDT 2013", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", series = "Open source technology series", acknowledgement = ack-nhfb, subject = "Linux; Operating systems (Computers)", tableofcontents = "1.1. Why Linux? / 1 \\ 1.1.1. What Is POSIX? / 2 \\ 1.2. Definition and Function of a Shell / 2 \\ 1.2.1. Three Major UNIX Shells / 3 \\ 1.2.2. Major Linux Shells / 4 \\ 1.2.3. History of the Shells / 5 \\ 1.2.4. What Shells This Book Covers / 6 \\ 1.2.5. Uses of a Shell / 6 \\ 1.2.6. Responsibilities of the Shell / 6 \\ 1.3. System Startup and the Login Shell / 7 \\ 1.3.1. Parsing the Command Line / 8 \\ 1.3.2. Types of Commands / 8 \\ 1.4. Processes and the Shell / 9 \\ 1.4.1. What Is a Process? / 9 \\ 1.4.2. What Is a System Call? / 9 \\ 1.4.3. What Processes Are Running? / 11 \\ 1.4.4. System Calls for Creating and Terminating Processes / 12 \\ 1.5. Environment and Inheritance / 16 \\ 1.5.1. Ownership / 16 \\ 1.5.2. File Creation Mask / 16 \\ 1.5.3. Changing Ownership and Permissions / 17 \\ 1.5.4. Working Directory / 20 \\ 1.5.5. Variables / 20 \\ 1.5.6. Redirection and Pipes / 21 \\ 1.5.7. Shell and Signals / 28 \\ 1.6. Executing Commands from Scripts / 30 \\ 1.6.1. Sample Scripts. Comparing Shells / 31 \\ 1.6.2. TC Shell Script / 31 \\ 1.6.3. C Shell Script / 33 \\ 1.6.4. Bourne Again Shell Script / 34 \\ 1.6.5. Bourne Shell Script / 36 \\ 1.6.6. Korn Shell Script / 38 \\ Chapter 2. Linux Tool Box / 41 \\ 2.1. Regular Expressions / 41 \\ 2.1.2. Regular Expression Metacharacters / 43 \\ 2.2. Combining Regular Expression Metacharacters / 49 \\ 2.2.1. More Regular Expression Metacharacters / 50 \\ Chapter 3. Grep Family (Gun and Sons) / 55 \\ 3.1. Grep Command / 55 \\ 3.1.1. Meaning of grep / 55 \\ 3.1.2. How grep Works / 56 \\ 3.1.3. Basic and Extended Regular Expressions / 57 \\ 3.1.4. grep and Exit Status / 61 \\ 3.1.5. Regular grep Examples (grep, grep -G) / 61 \\ 3.2. Extended grep (grep -E or egrep) / 68 \\ 3.2.1. Extended grep Examples (egrep and grep -E) / 70 \\ 3.2.2. Anomalies with Regular and Extended Variants of grep / 73 \\ 3.3. Fixed grep (grep -F and fgrep) / 76 \\ 3.4. Recursive grep (rgrep) / 77 \\ 3.5. grep with Pipes / 77 \\ 3.6. grep with Options / 77 \\ 3.6.1. Gnu grep Options Examples / 82 \\ 3.6.2. Regular grep Review (grep -G) / 88 \\ 3.6.3. egrep and grep -E Review / 89 \\ Chapter 4. Streamlined Editor / 93 \\ 4.1. What Is sed? / 93 \\ 4.2. Versions of sed / 93 \\ 4.3. How Does sed Work? / 94 \\ 4.4. Addressing / 94 \\ 4.5. Commands and Options / 95 \\ 4.6. Error Messages and Exit Status / 98 \\ 4.6.1. Metacharacters / 99 \\ 4.7. sed Examples / 100 \\ 4.7.1. Printing. The p Command (and the --quiet option) / 100 \\ 4.7.2. Deleting. The d Command / 102 \\ 4.7.3. Substitution. The s Command / 103 \\ 4.7.4. Range of Selected Lines. The Comma / 106 \\ 4.7.5. Multiple Edits. The e Command / 107 \\ 4.7.6. Reading from Files. The r Command / 108 \\ 4.7.7. Writing to Files. The w Command / 109 \\ 4.7.8. Appending. The a Command / 109 \\ 4.7.9. Inserting. The i Command / 110 \\ 4.7.10. Next. The n Command / 111 \\ 4.7.11. Transform. The y Command / 111 \\ 4.7.12. Quit. The q Command / 112 \\ 4.7.13. Holding and Getting. The h and g Commands / 113 \\ 4.7.14. Holding and Exchanging. The h and x Commands / 117 \\ 4.8. sed Scripting / 117 \\ 4.8.1. sed Script Examples / 118 \\ Chapter 5. Gawk Utility. Gawk as a Linux Tool / 125 \\ 5.1. What's awk? What's nawk? What's gawk? / 125 \\ 5.1.1. What Does awk Stand for? / 125 \\ 5.1.2. Which awk? / 126 \\ 5.2. awk's Format / 127 \\ 5.2.1. Input from Files / 127 \\ 5.2.2. Input from Commands / 128 \\ 5.2.3. awk Command-Line Options / 129 \\ 5.3. Formatting Output / 131 \\ 5.3.1. Print Function / 131 \\ 5.3.2. OFMT Variable / 133 \\ 5.3.3. Printf Function / 133 \\ 5.4. awk Commands from within a File / 136 \\ 5.5. Records and Fields / 138 \\ 5.5.1. Records / 138 \\ 5.5.2. Fields / 139 \\ 5.5.3. Field Separators / 140 \\ 5.6. Patterns and Actions / 142 \\ 5.6.1. Patterns / 142 \\ 5.6.2. Actions / 143 \\ 5.7. Regular Expressions / 144 \\ 5.7.1. Match Operator / 148 \\ 5.8. awk Commands in a Script File / 149 \\ 5.9.1. Simple Pattern Matching / 150 \\ 5.9.2. Simpler Actions / 151 \\ 5.9.3. Regular Expressions in Pattern and Action Combinations / 154 \\ 5.9.4. Input Field Separators / 157 \\ 5.9.5. awk Scripting / 160 \\ Chapter 6. Gawk Utility. Evaluating Expressions / 163 \\ 6.1. Comparison Expressions / 163 \\ 6.1.1. Relational Operators / 163 \\ 6.1.2. Conditional Expressions / 164 \\ 6.1.3. Computation / 165 \\ 6.1.4. Compound Patterns / 166 \\ 6.1.5. Range Patterns / 167 \\ 6.1.6. A Data Validation Program / 168 \\ 6.2.1. Equality Testing / 169 \\ 6.2.2. Relational Operators / 170 \\ 6.2.3. Logical Operators / 172 \\ 6.2.4. Logical Not Operator / 173 \\ 6.2.5. Arithmetic Operators / 173 \\ 6.2.6. Range Operator / 176 \\ 6.2.7. Conditional Operator / 177 \\ 6.2.8. Assignment Operators / 177 \\ Chapter 7. Gawk Utility. Gawk Programming / 181 \\ 7.1. Variables / 181 \\ 7.1.1. Numeric and String Constants / 181 \\ 7.1.2. User-Defined Variables / 182 \\ 7.1.3. Begin Patterns / 186 \\ 7.1.4. End Patterns / 187 \\ 7.2. Redirection and Pipes / 187 \\ 7.2.1. Output Redirection / 187 \\ 7.2.2. Input Redirection (getline) / 188 \\ 7.3. Pipes / 190 \\ 7.4. Closing Files and Pipes / 191 \\ 7.5.1. Increment and Decrement Operators / 192 \\ 7.5.2. Built-In Variables / 194 \\ 7.5.3. BEGIN Patterns / 198 \\ 7.5.4. END Patterns / 200 \\ 7.5.5. awk Script with BEGIN and END / 201 \\ 7.5.6. Printf Function / 202 \\ 7.5.7. Redirection and Pipes / 204 \\ 7.5.8. Opening and Closing a Pipe / 204 \\ 7.6. Conditional Statements / 207 \\ 7.6.1. if Statements / 207 \\ 7.6.2. if/else Statements / 207 \\ 7.6.3. if/else else if Statements / 208 \\ 7.7. Loops / 210 \\ 7.7.1. while Loop / 210 \\ 7.7.2. for Loop / 210 \\ 7.7.3. Loop Control / 211 \\ 7.8. Program Control Statements / 212 \\ 7.8.1. next Statement / 212 \\ 7.8.2. exit Statement / 212 \\ 7.9. Arrays / 213 \\ 7.9.1. Subscripts for Associative Arrays / 213 \\ 7.9.2. Processing Command Arguments in awk / 220 \\ 7.10. awk Built-In Functions / 222 \\ 7.10.1. String Functions / 222 \\ 7.10.2. Time Functions / 227 \\ 7.10.3. Built-In Arithmetic Functions / 229 \\ 7.10.4. Integer Function / 230 \\ 7.10.5. Random Number Generator / 230 \\ 7.11. User-Defined Functions / 231 \\ 7.13. Odds and Ends / 239 \\ 7.13.1. Fixed Fields / 239 \\ 7.13.2. Bundling and Unbundling Files / 242 \\ 7.13.3. Multiline Records / 243 \\ 7.13.4. Generating Form Letters / 244 \\ 7.13.5. Interaction with the Shell / 247 \\ 7.14.1. String Functions / 248 \\ 7.14.2. Command Line Arguments / 252 \\ 7.14.3. Reading Input (getline) / 253 \\ 7.14.4. Control Functions / 255 \\ 7.14.5. User-Defined Functions / 256 \\ Chapter 8. Interactive Bash Shell / 259 \\ 8.1.1. Versions of Bash / 259 \\ 8.1.2. Startup / 260 \\ 8.1.3. Environment / 262 \\ 8.1.4. Setting Bash Options with the Built-In set and shopt Commands / 270 \\ 8.1.5. Prompts / 275 \\ 8.1.6. Command Line / 281 \\ 8.1.7. Job Control / 288 \\ 8.2. Command Line Shortcuts / 291 \\ 8.2.1. Command and Filename Completion / 291 \\ 8.2.2. History / 292 \\ 8.2.3. Accessing Commands from the History File / 293 \\ 8.2.4. Readline Library and Binding Keys / 306 \\ 8.2.5. Aliases / 314 \\ 8.2.6. Manipulating the Directory Stack / 315 \\ 8.2.7. Metacharacters (Wildcards) / 317 \\ 8.2.8. Filename Substitution (Globbing) / 318 \\ 8.3. Variables / 327 \\ 8.3.1. Local Variables and Scope / 328 \\ 8.3.2. Environment Variables / 331 \\ 8.3.3. Quoting / 350 \\ 8.3.4. Command Substitution / 353 \\ 8.3.5. Arithmetic Expansion / 356 \\ 8.3.6. Order of Expansion / 357 \\ 8.3.7. Arrays (Versions 2.x) / 357 \\ 8.3.8. Functions (Introduction) / 360 \\ 8.3.9. Standard I/O and Redirection / 363 \\ 8.3.10. Pipes / 368 \\ 8.3.11. Here Document and Redirecting Input / 370 \\ 8.3.12. Shell Invocation Options / 372 \\ 8.3.13. Set Command and Options / 373 \\ 8.3.14. Shopt Command and Options / 375 \\ 8.3.15. Shell Built-In Commands / 377 \\ Chapter 9. Programming with the Bash Shell / 385 \\ 9.1.1. Steps in Creating a Shell Script / 385 \\ 9.2. Reading User Input / 388 \\ 9.2.1. Variables (Review) / 388 \\ 9.2.2. Read Command / 388 \\ 9.3. Arithmetic / 391 \\ 9.3.1. Integers (declare and let Commands) / 391 \\ 9.3.2. Floating Point Arithmetic / 395 \\ 9.4. Positional Parameters and Command Line Arguments / 396 \\ 9.4.1. Positional Parameters / 396 \\ 9.4.2. Set Command and Positional Parameters / 397 \\ 9.5. Conditional Constructs and Flow Control / 401 \\ 9.5.1. Exit Status / 401 \\ 9.5.2. Built-In test Command / 402 \\ 9.5.3. If Command / 407 \\ 9.5.4. If/else Command / 413 \\ 9.5.5. If/elif/else Command / 415 \\ 9.5.6. File Testing / 418 \\ 9.5.7. Null Command / 420 \\ 9.5.8. Case Command / 422 \\ 9.6. Looping Commands / 425 \\ 9.6.1. For Command / 425 \\ 9.6.2. While Command / 430 \\ 9.6.3. Until Command / 433 \\ 9.6.4. Select Command and Menus / 435 \\ 9.6.5. Looping Commands / 440 \\ 9.6.6. I/O Redirection and Subshells / 446 \\ 9.6.7. IFS and Loops / 449 \\ 9.7. Functions / 450 \\ 9.7.1. Function Arguments and the Return Value / 452 \\ 9.7.2. Functions and the source (or dot) Command / 455 \\ 9.8. Trapping Signals / 459 \\ 9.9. Debugging / 464 \\ 9.10. Processing Command Line Options with getopts / 466 \\ 9.11. Eval Command and Parsing the Command Line / 472 \\ 9.12. Bash Options / 474 \\ 9.12.1. Shell Invocation Options / 474 \\ 9.12.2. Set Command and Options / 476 \\ 9.12.3. Shopt Command and Options / 479 \\ 9.13. Shell Built-In Commands / 480 \\ 9.14. Bash Shell Lab Exercises / 483 \\ Chapter 10. Interactive TC Shell / 491 \\ 10.1.1. Versions of tcsh / 491 \\ 10.1.2. Startup / 492 \\ 10.2. TC Shell Environment / 494 \\ 10.2.1. Initialization Files / 494 \\ 10.2.2. Search Path / 499 \\ 10.2.3. Shell Prompts / 500 \\ 10.2.4. Command Line / 504 \\ 10.3. Command Line Shortcuts / 508 \\ 10.3.1. History / 508", } @Article{Senellart:2000:FPM, author = "Jean Senellart", title = "Fast pattern matching in indexed texts", journal = j-THEOR-COMP-SCI, volume = "237", number = "1--2", pages = "239--262", day = "28", month = apr, year = "2000", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Tue Oct 31 11:38:15 MST 2000", bibsource = "http://www.elsevier.com/locate/issn/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2000.bib", URL = "http://www.elsevier.nl/gej-ng/10/41/16/171/21/33/abstract.html; http://www.elsevier.nl/gej-ng/10/41/16/171/21/33/article.pdf", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Shankar:2000:NAL, author = "Priti Shankar and Amitranjan Gantait and A. R. Yuvaraj and Maya Madhavan", title = "A new algorithm for linear regular tree pattern matching", journal = j-THEOR-COMP-SCI, volume = "242", number = "1--2", pages = "125--142", day = "6", month = jul, year = "2000", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Tue Oct 31 11:38:32 MST 2000", bibsource = "http://www.elsevier.com/locate/issn/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2000.bib", URL = "http://www.elsevier.nl/gej-ng/10/41/16/176/21/28/abstract.html; http://www.elsevier.nl/gej-ng/10/41/16/176/21/28/article.pdf", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Shibata:2000:SPM, author = "Yusuke Shibata and Takuya Kida and Shuichi Fukamachi and Masayuki Takeda and Ayumi Shinohara and Takeshi Shinohara and Setsuo Arikawa", title = "Speeding Up Pattern Matching by Text Compression", journal = j-LECT-NOTES-COMP-SCI, volume = "1767", pages = "306--??", year = "2000", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Fri Feb 1 09:16:10 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t1767.htm; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/1767/17670306.htm; http://link.springer-ny.com/link/service/series/0558/papers/1767/17670306.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Shibuya:2000:GST, author = "Tetsuo Shibuya", title = "Generalization of a Suffix Tree for {RNA} Structural Pattern Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "1851", pages = "393--??", year = "2000", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Tue Sep 10 19:08:43 MDT 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t1851.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/1851/18510393.htm; http://link.springer-ny.com/link/service/series/0558/papers/1851/18510393.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Sidi:2000:GRE, author = "Avram Sidi", title = "The generalized {Richardson} extrapolation process {$ {\rm GREP}^{(1)} $} and computation of derivatives of limits of sequences with applications to the $ d^{(1)}$-transformation", journal = j-J-COMPUT-APPL-MATH, volume = "122", number = "1--2", pages = "251--273", day = "1", month = oct, year = "2000", CODEN = "JCAMDI", ISSN = "0377-0427 (print), 1879-1778 (electronic)", ISSN-L = "0377-0427", bibdate = "Sat Feb 25 12:43:36 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputapplmath2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0377042700003629", acknowledgement = ack-nhfb, fjournal = "Journal of Computational and Applied Mathematics", journal-URL = "http://www.sciencedirect.com/science/journal/03770427", } @Article{SilvadeMoura:2000:FFW, author = "Edleno {Silva de Moura} and Gonzalo Navarro and Nivio Ziviani and Ricardo Baeza-Yates", title = "Fast and flexible word searching on compressed text", journal = j-TOIS, volume = "18", number = "2", pages = "113--139", month = apr, year = "2000", CODEN = "ATISET", ISSN = "1046-8188", ISSN-L = "0734-2047", bibdate = "Tue Sep 26 09:34:01 MDT 2000", bibsource = "http://www.acm.org/pubs/contents/journals/tois/; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tois.bib", URL = "http://www.acm.org/pubs/citations/journals/tois/2000-18-2/p113-silva_de_moura/", abstract = "We present a fast compression technique for natural language texts. The novelties are that (1) decompression of arbitrary portions of the text can be done very efficiently, (2) exact search for words and phrases can be done on the compressed text directly, using any known sequential pattern-matching algorithm, and (3) word-based approximate and extended search can also be done efficiently without any decoding. The compression scheme uses a semistatic word-based model and a Huffman code where the coding alphabet is byte-oriented rather than bit-oriented. We compress typical English texts to about 30\% of their original size, against 40\% and 35\% for {\em Compress\/} and {\em Gzip}, respectively. Compression time is close to that of {\em Compress\/} and approximately half of the time of {\em Gzip}, and decompression time is lower than that of {\em Gzip\/} and one third of that of {\em Compress}. We present three algorithms to search the compressed text. They allow a large number of variations over the basic word and phrase search capability, such as sets of characters, arbitrary regular expressions, and approximate matching. Separators and stopwords can be discarded at search time without significantly increasing the cost. When searching for simple words, the experiments show that running our algorithms on a compressed text is twice as fast as running the best existing software on the uncompressed version of the same text. When searching complex or approximate patterns, our algorithms are up to 8 times faster than the search on uncompressed text. We also discuss the impact of our technique in inverted files pointing to logical blocks and argue for the possibility of keeping the text compressed all the time, decompressing only for displaying purposes.", acknowledgement = ack-nhfb, fjournal = "ACM Transactions on Information Systems (TOIS)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J779", keywords = "compressed pattern matching; natural language text compression; word searching; word-based Huffman coding", subject = "Data --- Coding and Information Theory (E.4): {\bf Data compaction and compression}; Information Systems --- Information Storage and Retrieval --- Information Search and Retrieval (H.3.3): {\bf Search process}", } @Article{Trabalka:2000:RSP, author = "Marek Trabalka and M{\'a}ria Bielikov{\'a}", title = "Realization of Syntactic Parser for Inflectional Language Using {XML} and Regular Expressions", journal = j-LECT-NOTES-COMP-SCI, volume = "1902", pages = "63--??", year = "2000", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Tue Sep 10 19:08:45 MDT 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t1902.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/1902/19020063.htm; http://link.springer-ny.com/link/service/series/0558/papers/1902/19020063.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Allauzen:2001:EES, author = "Cyril Allauzen and Maxime Crochemore and Mathieu Raffinot", title = "Efficient Experimental String Matching by Weak Factor Recognition", journal = j-LECT-NOTES-COMP-SCI, volume = "2089", pages = "51--??", year = "2001", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat Feb 2 13:04:48 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2089.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2089/20890051.htm; http://link.springer-ny.com/link/service/series/0558/papers/2089/20890051.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Manual{Anonymous:2001:MLP, author = "Anonymous", title = "{\tt matchlib} --- library for pattern matching", organization = inst-MUPAD, address = inst-MUPAD:adr, pages = "4", day = "25", month = jul, year = "2001", bibdate = "Tue Oct 18 07:51:24 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.math.utah.edu/pub/mupad/doc/pdf_help.zip#matchlib.pdf", acknowledgement = ack-nhfb, } @Article{Arikati:2001:AAM, author = "Srinivasa R. Arikati and Anders Dessmark and Andrzej Lingas and Madhav V. Marathe", title = "Approximation algorithms for maximum two-dimensional pattern matching", journal = j-THEOR-COMP-SCI, volume = "255", number = "1--2", pages = "51--62", day = "28", month = mar, year = "2001", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Tue Apr 17 08:40:28 MDT 2001", bibsource = "http://www.elsevier.com/locate/issn/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2000.bib", URL = "http://www.elsevier.nl../23/abstract.html; http://www.elsevier.nl/gej-ng/10/41/16/197/21/23/article.pdf", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Atallah:2001:RAA, author = "M. J. Atallah and F. Chyzak and P. Dumas", title = "A Randomized Algorithm for Approximate String Matching", journal = j-ALGORITHMICA, volume = "29", number = "3", pages = "468--486", month = mar, year = "2001", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s004530010062", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", MRclass = "68W20 (68W05)", MRnumber = "MR1799271 (2002h:68240)", bibdate = "Fri Jan 6 11:38:13 MST 2006", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0178-4617&volume=29&issue=3; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/index-table-a.html#algorithmica; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0178-4617&volume=29&issue=3&spage=468", acknowledgement = ack-nhfb, fjournal = "Algorithmica. An International Journal in Computer Science", journal-URL = "http://link.springer.com/journal/453", } @Article{Bunke:2001:TBG, author = "H. Bunke and S. G{\"u}nter and X. Jiang", title = "Towards Bridging the Gap between Statistical and Structural Pattern Recognition: Two New Concepts in Graph Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "2013", pages = "1--??", year = "2001", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Feb 2 13:03:31 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2013.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2013/20130001.htm; http://link.springer-ny.com/link/service/series/0558/papers/2013/20130001.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Champarnaud:2001:CEA, author = "Jean-Marc Champarnaud and Djelloul Ziadi", title = "Computing the Equation Automaton of a Regular Expression in {$ O(s^2) $} Space and Time", journal = j-LECT-NOTES-COMP-SCI, volume = "2089", pages = "157--168", year = "2001", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Feb 2 13:04:48 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2089.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2089/20890157.htm; http://link.springer-ny.com/link/service/series/0558/papers/2089/20890157.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Champarnaud:2001:ISI, author = "Jean-Marc Champarnaud", title = "Implicit Structures to Implement {NFA}'s from Regular Expressions", journal = j-LECT-NOTES-COMP-SCI, volume = "2088", pages = "80--??", year = "2001", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Feb 2 13:04:47 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2088.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2088/20880080.htm; http://link.springer-ny.com/link/service/series/0558/papers/2088/20880080.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Fenwick:2001:FSM, author = "Peter Fenwick", title = "Fast string matching for multiple searches", journal = j-SPE, volume = "31", number = "9", pages = "815--833", day = "25", month = jul, year = "2001", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.367", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat Jul 14 12:28:46 MDT 2001", bibsource = "http://www.interscience.wiley.com/jpages/0038-0644; http://www3.interscience.wiley.com/journalfinder.html; https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www3.interscience.wiley.com/cgi-bin/abstract/78505028/START; http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=78505028&PLACEBO=IE.pdf", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", } @Article{Fenwick:2001:SPP, author = "Peter Fenwick", title = "Some perils of performance prediction: a case study on pattern matching", journal = j-SPE, volume = "31", number = "9", pages = "835--843", day = "25", month = jul, year = "2001", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.392", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat Jul 14 12:28:46 MDT 2001", bibsource = "http://www.interscience.wiley.com/jpages/0038-0644; http://www3.interscience.wiley.com/journalfinder.html; https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www3.interscience.wiley.com/cgi-bin/abstract/78505029/START; http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=78505029&PLACEBO=IE.pdf", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", } @Article{Garai:2001:CGA, author = "Gautam Garai and B. B. Chaudhuri", title = "A Cascaded Genetic Algorithm for Efficient Optimization and Pattern Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "2013", pages = "32--??", year = "2001", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Feb 2 13:03:31 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2013.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2013/20130032.htm; http://link.springer-ny.com/link/service/series/0558/papers/2013/20130032.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Gasieniec:2001:TSE, author = "Leszek Gasieniec and Igor Potapov", title = "Time\slash Space Efficient Compressed Pattern Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "2138", pages = "138--??", year = "2001", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Feb 2 13:05:40 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2138.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2138/21380138.htm; http://link.springer-ny.com/link/service/series/0558/papers/2138/21380138.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Golomshtok:2001:FTS, author = "Alex Golomshtok and Yefim Nodelman", title = "Fuzzy Text Searches with {\tt agrep} and {\tt afind}", journal = j-SYS-ADMIN, volume = "10", number = "6", pages = "14, 16, 18, 20, 22", month = jun, year = "2001", CODEN = "SYADE7", ISSN = "1061-2688", bibdate = "Wed May 16 05:57:06 MDT 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.samag.com/", abstract = "Golomshtok shows how to use Perl and fuzzy string matching to develop powerful tools.", acknowledgement = ack-nhfb, fjournal = "Sys admin: the journal for UNIX system administrators", } @Article{Grobauer:2001:PEP, author = "Bernd Grobauer and Julia L. Lawall", title = "Partial Evaluation of Pattern Matching in Strings, revisited", journal = j-NORDIC-J-COMPUT, volume = "8", number = "4", pages = "437--462", month = "Winter", year = "2001", CODEN = "NJCOFR", ISSN = "1236-6064", bibdate = "Wed Dec 24 09:23:55 MST 2003", bibsource = "http://www.cs.helsinki.fi/njc/njc8.html; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.cs.helsinki.fi/njc/References/grobauer2001:437.html", acknowledgement = ack-nhfb, fjournal = "Nordic Journal of Computing", } @Book{Hanegan:2001:CCS, author = "Kevin Hanegan", title = "Custom {CGI} scripting with {Perl}", publisher = pub-WILEY, address = pub-WILEY:adr, pages = "xxvii + 276", year = "2001", ISBN = "0-471-01379-X (e-book), 0-471-39597-8", ISBN-13 = "978-0-471-01379-2 (e-book), 978-0-471-39597-3", LCCN = "QA76.73.P22 H36 2001eb", bibdate = "Wed Mar 13 13:43:08 MDT 2013", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, subject = "Perl (Computer program language); CGI (Computer network protocol); Web sites; Design; COMPUTERS; Programming Languages; JavaScript; VBScript; Electronic books", tableofcontents = "Why Is CGI Useful? \\ Client/Server Applications \\ The HTTP Protocol \\ The CGI Process \\ Is CGI Dead? \\ The CGI Framework \\ Pros and Cons of Hosting Your Own Web Server \\ Hardware Concerns \\ Choosing a Platform \\ Choosing Web Server Software \\ What to Ask Your Web Hosting Company \\ Installing a CGI Script \\ Selecting a Text Editor \\ Uploading Your Files \\ Getting around on Your Web Server \\ Installing Your First CGI Script \\ Perl Building Blocks \\ Introduction to Perl \\ Origin of Perl \\ About the Language \\ Why Use Perl? \\ Perl Competitors \\ Writing Perl \\ Designing Your First Perl Script for the Internet \\ Using the Print Statement \\ Using the Print Function \\ Using the Here Document \\ Using q and qq \\ Using Variables \\ Scalar Variables \\ List Arrays \\ Statements and Conditionals \\ Conditional Control Statements \\ Looping Control Statements \\ Using Subroutines \\ Subroutine Basics \\ Return Values \\ Pattern Matching \\ The Match Operator \\ Grouping and Memory \\ Substitutions \\ File Input and Output \\ Creating a New File \\ File Tests \\ File Functions \\ Opening and Closing Files \\ Reading a File \\ Writing to a File \\ Appending to a File \\ File Permissions \\ File Locking \\ Working with HTML Forms \\ Post \\ Get \\ Using cgi-lib.pl \\ Using CGI.pm \\ Page Redirection \\ Using Hidden Fields \\ Using Databases \\ How Relational Databases Work \\ SQL \\ Using the DBI Module \\ Communicating with the Database \\ Interacting with Your Operating System", } @Article{Hazez:2001:MTC, author = "Slim Ben Hazez", title = "Modeling Textual Context in Linguistic Pattern Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "2004", pages = "93--??", year = "2001", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Feb 2 13:03:22 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2004.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2004/20040093.htm; http://link.springer-ny.com/link/service/series/0558/papers/2004/20040093.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Heitsch:2001:GPM, author = "Christine E. Heitsch", title = "Generalized Pattern Matching and the Complexity of Unavoidability Testing", journal = j-LECT-NOTES-COMP-SCI, volume = "2089", pages = "219--??", year = "2001", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Feb 2 13:04:48 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2089.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2089/20890219.htm; http://link.springer-ny.com/link/service/series/0558/papers/2089/20890219.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @InProceedings{Hernadez:2001:DRL, author = "Manuel Hern{\'a}dez and David A. Rosenblueth", editor = "Rocco {De Nicola} and Harald S{\o}ndergaard", booktitle = "Proceedings of the {3rd ACM SIGPLAN international conference on Principles and practice of declarative programming, Florence, Italy, September 5--7, 2001}", title = "Development reuse and the logic program derivation of two string-matching algorithms", publisher = pub-ACM, address = pub-ACM:adr, bookpages = "vi + 226", pages = "38--48", month = sep, year = "2001", DOI = "https://doi.org/10.1145/773184.773190", ISBN = "1-58113-388-X (paperback)", ISBN-13 = "978-1-58113-388-2 (paperback)", LCCN = "QA76.615 .P57 2001", bibdate = "Mon May 27 17:45:20 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = "PPDP01", acknowledgement = ack-nhfb, collection = "PPDP01", } @Book{Hopcroft:2001:IAT, author = "John E. (John Edward) Hopcroft and Rajeev Motwani and Jeffrey D. (Jeffrey David) Ullman", title = "Introduction to Automata Theory, Languages, and Computation", publisher = pub-AW, address = pub-AW:adr, edition = "Second", pages = "xiv + 521", year = "2001", ISBN = "0-201-44124-1 (paperback), 0-321-21029-8 (International edition paperback)", ISBN-13 = "978-0-201-44124-6 (paperback), 978-0-321-21029-6 (International edition paperback)", LCCN = "QA267 .H56 2001", bibdate = "Wed Sep 9 09:37:41 MDT 2020", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, subject = "Machine theory; Formal languages; Computational complexity; Computational complexity; Formal languages; Machine theory", tableofcontents = "Automata: the methods and the madness \\ Finite automata \\ Regular expressions and languages \\ Properties of regular languages \\ Context-free grammars and languages \\ Pushdown automata \\ Properties of context-free languages \\ Introduction to turning machines \\ Undecidability \\ Intractable problems \\ Additional classes of problems", } @Article{Hori:2001:FPM, author = "Hideaki Hori and Shinichi Shimozono and Masayuki Takeda and Ayumi Shinohara", title = "Fragmentary Pattern Matching: Complexity, Algorithms and Applications for Analyzing Classic Literary Works", journal = j-LECT-NOTES-COMP-SCI, volume = "2223", pages = "719--??", year = "2001", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Feb 2 13:07:08 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2223.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2223/22230719.htm; http://link.springer-ny.com/link/service/series/0558/papers/2223/22230719.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Hosoya:2001:REP, author = "Haruo Hosoya and Benjamin Pierce", title = "Regular expression pattern matching for {XML}", journal = j-SIGPLAN, volume = "36", number = "3", pages = "67--80", month = mar, year = "2001", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:18:23 MST 2003", bibsource = "http://portal.acm.org/; http://www.acm.org/pubs/contents/proceedings/series/popl/; https://www.math.utah.edu/pub/tex/bib/sgml2000.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/articles/proceedings/plan/360204/p67-hosoya/p67-hosoya.pdf; http://www.acm.org/pubs/citations/proceedings/plan/360204/p67-hosoya/", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", } @Article{Hromkovic:2001:TRE, author = "Juraj Hromkovic and Sebastian Seibert and Thomas Wilke", title = "Translating Regular Expressions into Small $ \epsilon $-Free Nondeterministic Finite Automata", journal = j-J-COMP-SYS-SCI, volume = "62", number = "4", pages = "565--588", month = jun, year = "2001", CODEN = "JCSSBM", DOI = "https://doi.org/10.1006/jcss.2001.1748", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:26:44 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0022000001917489", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Book{IEEE:2001:ISRa, author = "{IEEE}", title = "{IEEE Std 1003.1-2001 Standard for Information Technology --- Portable Operating System Interface (POSIX) Base Definitions, Issue 6}", publisher = pub-IEEE-STD, address = pub-IEEE-STD:adr, pages = "xliv + 448", year = "2001", ISBN = "1-85912-247-7 (UK), 1-931624-07-0 (US), 0-7381-3047-8 (print), 0-7381-3010-9 (PDF), 0-7381-3129-6 (CD-ROM)", ISBN-13 = "978-1-85912-247-1 (UK), 978-1-931624-07-7 (US), 978-0-7381-3047-7 (print), 978-0-7381-3010-1 (PDF), 978-0-7381-3129-0 (CD-ROM)", LCCN = "????", bibdate = "Thu May 09 05:06:12 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/css.bib; https://www.math.utah.edu/pub/tex/bib/ieeestd.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Revision of IEEE Std 1003.1-1996 and IEEE Std 1003.2-1992 Open Group Technical Standard Base Specifications, Issue 6.", abstract = "This standard defines a standard operating system interface and environment, including a command interpreter (or shell), and common utility programs to support applications portability at the source code level. It is the single common revision to IEEE Std 1003.1-1996, IEEE Std 1003.2-1992, and the Base Specifications of The Open Group Single UNIX Specification, Version 2.", acknowledgement = ack-nhfb, keywords = "application program interface (API); argument; asynchronous; basic regular expression (BRE); batch job; batch system; built-in utility; byte; child; command language interpreter; CPU; extended regular expression (ERE); FIFO; file access control mechanism; input/output (I/O); job control; network; parent; portable operating system interface (POSIX); shell; stream; string; synchronous; system; thread; X/Open System Interface (XSI)", } @Book{IEEE:2001:ISRb, author = "{IEEE}", key = "IEEE", title = "{IEEE Std 1003.1-2001 Standard for Information Technology --- Portable Operating System Interface (POSIX) System Interfaces, Issue 6}", publisher = pub-IEEE-STD, address = pub-IEEE-STD:adr, pages = "xxx + 1690", year = "2001", ISBN = "1-85912-247-7 (UK), 1-931624-07-0 (US), 0-7381-3094-4 (invalid checksum??) (print), 0-7381-3010-9 (PDF), 0-7381-3129-6 (CD-ROM)", ISBN-13 = "978-1-85912-247-1 (UK), 978-1-931624-07-7 (US), 978-0-7381-3094-1 (print), 978-0-7381-3010-1 (PDF), 978-0-7381-3129-0 (CD-ROM)", LCCN = "????", bibdate = "Thu May 09 05:06:12 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/css.bib; https://www.math.utah.edu/pub/tex/bib/ieeestd.bib; https://www.math.utah.edu/pub/tex/bib/mathcw.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Revision of IEEE Std 1003.1-1996 and IEEE Std 1003.2-1992, Open Group Technical Standard Base Specifications, Issue 6.", abstract = "This standard defines a standard operating system interface and environment, including a command interpreter (or shell), and common utility programs to support applications portability at the source code level. It is the single common revision to IEEE Std 1003.1-1996, IEEE Std 1003.2-1992, and the Base Specifications of The Open Group Single UNIX Specification, Version 2.", acknowledgement = ack-nhfb, keywords = "application program interface (API); argument; asynchronous; basic regular expression (BRE); batch job; batch system; built-in utility; byte; child; command language interpreter; CPU; extended regular expression (ERE); FIFO; file access control mechanism; input/output (I/O); job control; network; parent; portable operating system interface (POSIX); shell; stream; string; synchronous; system; thread; X/Open System Interface (XSI)", xxauthor = "{IEEE}", zz-isbn = "1-85912-247-7 (UK), 1-931624-07-0 (US), 0-7381-3094-4 (print), 0-7381-3010-9 (PDF), 0-7381-3129-6 (CD-ROM)", } @Book{IEEE:2001:ISRc, author = "{IEEE}", title = "{IEEE Std 1003.1-2001 Standard for Information Technology --- Portable Operating System Interface (POSIX) Shell and Utilities, Issue 6}", publisher = pub-IEEE-STD, address = pub-IEEE-STD:adr, pages = "xxxii + 1090", year = "2001", ISBN = "1-85912-247-7 (UK), 1-931624-07-0 (US), 0-7381-3050-8 (print), 0-7381-3010-9 (PDF), 0-7381-3129-6 (CD-ROM).", ISBN-13 = "978-1-85912-247-1 (UK), 978-1-931624-07-7 (US), 978-0-7381-3050-7 (print), 978-0-7381-3010-1 (PDF), 978-0-7381-3129-0 (CD-ROM).", LCCN = "????", bibdate = "Thu May 09 05:06:12 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/css.bib; https://www.math.utah.edu/pub/tex/bib/ieeestd.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Revision of IEEE Std 1003.1-1996 and IEEE Std 1003.2-1992 Open Group Technical Standard Base Specifications, Issue 6.", abstract = "This standard defines a standard operating system interface and environment, including a command interpreter (or shell), and common utility programs to support applications portability at the source code level. It is the single common revision to IEEE Std 1003.1-1996, IEEE Std 1003.2-1992, and the Base Specifications of The Open Group Single UNIX Specification, Version 2.", acknowledgement = ack-nhfb, keywords = "application program interface (API); argument; asynchronous; basic regular expression (BRE); batch job; batch system; built-in utility; byte; child; command language interpreter; CPU; extended regular expression (ERE); FIFO; file access control mechanism; input/output (I/O); job control; network; parent; portable operating system interface (POSIX); shell; stream; string; synchronous; system; thread; X/Open System Interface (XSI)", } @Book{IEEE:2001:ISRd, author = "{IEEE}", title = "{IEEE Std 1003.1-2001 Standard for Information Technology --- Portable Operating System Interface (POSIX) Rationale (Informative)}", publisher = pub-IEEE-STD, address = pub-IEEE-STD:adr, pages = "xxxiv + 310", year = "2001", ISBN = "1-85912-247-7 (UK), 1-931624-07-0 (US), 0-7381-3048-6 (print), 0-7381-3010-9 (PDF), 0-7381-3129-6 (CD-ROM)", ISBN-13 = "978-1-85912-247-1 (UK), 978-1-931624-07-7 (US), 978-0-7381-3048-4 (print), 978-0-7381-3010-1 (PDF), 978-0-7381-3129-0 (CD-ROM)", LCCN = "????", bibdate = "Thu May 09 05:06:12 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/css.bib; https://www.math.utah.edu/pub/tex/bib/ieeestd.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Revision of IEEE Std 1003.1-1996 and IEEE Std 1003.2-1992 Open Group Technical Standard Base Specifications, Issue 6.", abstract = "This standard defines a standard operating system interface and environment, including a command interpreter (or shell), and common utility programs to support applications portability at the source code level. It is the single common revision to IEEE Std 1003.1-1996, IEEE Std 1003.2-1992, and the Base Specifications of The Open Group Single UNIX Specification, Version 2.", acknowledgement = ack-nhfb, keywords = "application program interface (API); argument; asynchronous; basic regular expression (BRE); batch job; batch system; built-in utility; byte; child; command language interpreter; CPU; extended regular expression (ERE); FIFO; file access control mechanism; input/output (I/O); job control; network; parent; portable operating system interface (POSIX); shell; stream; string; synchronous; system; thread; X/Open System Interface (XSI)", } @Book{IEEE:2001:ISSa, author = "{IEEE}", title = "{IEEE Std 1003.1-2001 Standard for Information Technology --- Portable Operating System Interface (POSIX) Base Definitions, Issue 6}", publisher = pub-IEEE-STD, address = pub-IEEE-STD:adr, pages = "xliv + 448", year = "2001", ISBN = "1-85912-247-7 (UK), 1-931624-07-0 (US), 0-7381-3047-8 (print), 0-7381-3010-9 (PDF), 0-7381-3129-6 (CD-ROM)", ISBN-13 = "978-1-85912-247-1 (UK), 978-1-931624-07-7 (US), 978-0-7381-3047-7 (print), 978-0-7381-3010-1 (PDF), 978-0-7381-3129-0 (CD-ROM)", LCCN = "????", bibdate = "Thu May 09 05:06:12 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/css.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Revision of IEEE Std 1003.1-1996 and IEEE Std 1003.2-1992 Open Group Technical Standard Base Specifications, Issue 6.", abstract = "This standard defines a standard operating system interface and environment, including a command interpreter (or shell), and common utility programs to support applications portability at the source code level. It is the single common revision to IEEE Std 1003.1-1996, IEEE Std 1003.2-1992, and the Base Specifications of The Open Group Single UNIX Specification, Version 2.", acknowledgement = ack-nhfb, keywords = "application program interface (API); argument; asynchronous; basic regular expression (BRE); batch job; batch system; built-in utility; byte; child; command language interpreter; CPU; extended regular expression (ERE); FIFO; file access control mechanism; input/output (I/O); job control; network; parent; portable operating system interface (POSIX); shell; stream; string; synchronous; system; thread; X/Open System Interface (XSI)", } @Book{IEEE:2001:ISSb, author = "{IEEE}", key = "IEEE", title = "{IEEE Std 1003.1-2001 Standard for Information Technology --- Portable Operating System Interface (POSIX) System Interfaces, Issue 6}", publisher = pub-IEEE-STD, address = pub-IEEE-STD:adr, pages = "xxx + 1690", year = "2001", ISBN = "1-85912-247-7 (UK), 1-931624-07-0 (US), 0-7381-3094-X (print), 0-7381-3010-9 (PDF), 0-7381-3129-6 (CD-ROM)", ISBN-13 = "978-1-85912-247-1 (UK), 978-1-931624-07-7 (US), 978-0-7381-3094-1 (print), 978-0-7381-3010-1 (PDF), 978-0-7381-3129-0 (CD-ROM)", LCCN = "????", bibdate = "Thu May 09 05:06:12 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/css.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Revision of IEEE Std 1003.1-1996 and IEEE Std 1003.2-1992, Open Group Technical Standard Base Specifications, Issue 6.", abstract = "This standard defines a standard operating system interface and environment, including a command interpreter (or shell), and common utility programs to support applications portability at the source code level. It is the single common revision to IEEE Std 1003.1-1996, IEEE Std 1003.2-1992, and the Base Specifications of The Open Group Single UNIX Specification, Version 2.", acknowledgement = ack-nhfb, keywords = "application program interface (API); argument; asynchronous; basic regular expression (BRE); batch job; batch system; built-in utility; byte; child; command language interpreter; CPU; extended regular expression (ERE); FIFO; file access control mechanism; input/output (I/O); job control; network; parent; portable operating system interface (POSIX); shell; stream; string; synchronous; system; thread; X/Open System Interface (XSI)", } @Book{IEEE:2001:ISSc, author = "{IEEE}", title = "{IEEE Std 1003.1-2001 Standard for Information Technology --- Portable Operating System Interface (POSIX) Shell and Utilities, Issue 6}", publisher = pub-IEEE-STD, address = pub-IEEE-STD:adr, pages = "xxxii + 1090", year = "2001", ISBN = "1-85912-247-7 (UK), 1-931624-07-0 (US), 0-7381-3050-8 (print), 0-7381-3010-9 (PDF), 0-7381-3129-6 (CD-ROM).", ISBN-13 = "978-1-85912-247-1 (UK), 978-1-931624-07-7 (US), 978-0-7381-3050-7 (print), 978-0-7381-3010-1 (PDF), 978-0-7381-3129-0 (CD-ROM).", LCCN = "????", bibdate = "Thu May 09 05:06:12 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/css.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Revision of IEEE Std 1003.1-1996 and IEEE Std 1003.2-1992 Open Group Technical Standard Base Specifications, Issue 6.", abstract = "This standard defines a standard operating system interface and environment, including a command interpreter (or shell), and common utility programs to support applications portability at the source code level. It is the single common revision to IEEE Std 1003.1-1996, IEEE Std 1003.2-1992, and the Base Specifications of The Open Group Single UNIX Specification, Version 2.", acknowledgement = ack-nhfb, keywords = "application program interface (API); argument; asynchronous; basic regular expression (BRE); batch job; batch system; built-in utility; byte; child; command language interpreter; CPU; extended regular expression (ERE); FIFO; file access control mechanism; input/output (I/O); job control; network; parent; portable operating system interface (POSIX); shell; stream; string; synchronous; system; thread; X/Open System Interface (XSI)", } @Book{IEEE:2001:ISSd, author = "{IEEE}", title = "{IEEE Std 1003.1-2001 Standard for Information Technology --- Portable Operating System Interface (POSIX) Rationale (Informative)}", publisher = pub-IEEE-STD, address = pub-IEEE-STD:adr, pages = "xxxiv + 310", year = "2001", ISBN = "1-85912-247-7 (UK), 1-931624-07-0 (US), 0-7381-3048-6 (print), 0-7381-3010-9 (PDF), 0-7381-3129-6 (CD-ROM)", ISBN-13 = "978-1-85912-247-1 (UK), 978-1-931624-07-7 (US), 978-0-7381-3048-4 (print), 978-0-7381-3010-1 (PDF), 978-0-7381-3129-0 (CD-ROM)", LCCN = "????", bibdate = "Thu May 09 05:06:12 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/css.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Revision of IEEE Std 1003.1-1996 and IEEE Std 1003.2-1992 Open Group Technical Standard Base Specifications, Issue 6.", abstract = "This standard defines a standard operating system interface and environment, including a command interpreter (or shell), and common utility programs to support applications portability at the source code level. It is the single common revision to IEEE Std 1003.1-1996, IEEE Std 1003.2-1992, and the Base Specifications of The Open Group Single UNIX Specification, Version 2.", acknowledgement = ack-nhfb, keywords = "application program interface (API); argument; asynchronous; basic regular expression (BRE); batch job; batch system; built-in utility; byte; child; command language interpreter; CPU; extended regular expression (ERE); FIFO; file access control mechanism; input/output (I/O); job control; network; parent; portable operating system interface (POSIX); shell; stream; string; synchronous; system; thread; X/Open System Interface (XSI)", } @Article{Iliopoulos:2001:MSA, author = "Costas S. Iliopoulos and Laurent Mouchard and Yoan J. Pinzon", title = "The Max-Shift Algorithm for Approximate String Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "2141", pages = "13--??", year = "2001", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat Feb 2 13:05:43 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2141.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2141/21410013.htm; http://link.springer-ny.com/link/service/series/0558/papers/2141/21410013.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Book{Johnson:2001:ECL, author = "Steven Johnson", title = "Emergence: the connected lives of ants, brains, cities, and software", publisher = "Scribner", address = "New York, NY, USA", pages = "288", year = "2001", ISBN = "0-684-86875-X, 0-684-86876-8 (paperback)", ISBN-13 = "978-0-684-86875-2, 978-0-684-86876-9 (paperback)", LCCN = "Q325 .J65 2001", bibdate = "Wed Mar 13 13:43:08 MDT 2013", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Emergence is what happens when an interconnected system of relatively simple elements self-organizes to form more intelligent, more adaptive higher-level behavior. It's a bottom-up model rather than being engineered by a general or a master planner, emergence begins at the ground level. Systems that at first glance seem vastly different--ant colonies, human brains, cities, immune systems--all turn out to follow the rules of emergence. In each of these systems, agents residing on one scale start producing behavior that lies a scale above them: ants create colonies, urbanites create neighborhoods. Author Steven Johnson takes readers on an eye-opening intellectual journey from the discovery of emergence to its applications. He introduces us to our everyday surroundings, offering surprising examples of feedback, self-organization, and adaptive learning. Drawing upon evolutionary theory, urban studies, neuroscience, and computer games, Emergence is a guidebook to one of the key components of twenty-first-century culture. Until recently, Johnson explains, the disparate philosophers of emergence have worked to interpret the world. But today they are starting to change it. This book is the riveting story of that change and what it means for the future.", acknowledgement = ack-nhfb, subject = "Self-organizing systems; Swarm intelligence; Systems engineering; Zelforganiserende systemen; Software; Syst\`emes auto-organis\'es; Intelligence collective; Ing{\'e}nierie des syst{\`e}mes; Selbstorganisation", tableofcontents = "Introduction: Here Comes Everybody! / 11 \\ 1. The Myth of the Ant Queen / 29 \\ 2. Street Level / 73 \\ 3. The Pattern Match / 101 \\ 4. Listening to Feedback / 130 \\ 5. Control Artist / 163 \\ 6. The Mind Readers / 195 \\ 7. See What Happens / 227", } @Article{Kannan:2001:FFG, author = "Parivallal Kannan and Shankar Balachandran and Dinesh Bhatia", title = "{fGREP} --- Fast Generic Routing Demand Estimation for Placed {FPGA} Circuits", journal = j-LECT-NOTES-COMP-SCI, volume = "2147", pages = "37--??", year = "2001", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Feb 2 13:05:49 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2147.htm; https://www.math.utah.edu/pub/tex/bib/lncs2001c.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2147/21470037.htm; http://link.springer-ny.com/link/service/series/0558/papers/2147/21470037.pdf", acknowledgement = ack-nhfb, } @Article{Kida:2001:MPM, author = "Takuya Kida and Tetsuya Matsumoto and Masayuki Takeda and Ayumi Shinohara and Setsuo Arikawa", title = "Multiple Pattern Matching Algorithms on Collage System", journal = j-LECT-NOTES-COMP-SCI, volume = "2089", pages = "193--??", year = "2001", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Feb 2 13:04:48 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2089.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2089/20890193.htm; http://link.springer-ny.com/link/service/series/0558/papers/2089/20890193.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Kim:2001:FRQ, author = "Harksoo Kim and Kyungsun Kim and Jungyun Seo and Gary Geunbae Lee", title = "A Fast and Reliable Question-Answering System Based on Predictive Answer Indexing and Lexico-Syntactic Pattern Matching", journal = j-INT-J-COMP-PROC-ORIENTAL-LANG, volume = "14", number = "4", pages = "341--??", year = "2001", CODEN = "????", ISSN = "0219-4279", bibdate = "Thu Jan 15 07:02:34 MST 2004", bibsource = "http://ejournals.wspc.com.sg/ijcpol/; https://www.math.utah.edu/pub/tex/bib/ijcpol.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Computer Processing of Oriental Languages (IJCPOL)", } @InProceedings{Klein:2001:PMH, author = "S. T. Klein and D. Shapira", title = "Pattern matching in {Huffman} encoded texts", crossref = "Storer:2001:DPD", pages = "449--458", year = "2001", DOI = "https://doi.org/10.1109/DCC.2001.917176", bibdate = "Tue Feb 5 14:07:00 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=917176", acknowledgement = ack-nhfb, } @MastersThesis{Laurikari:2001:ESA, author = "V. Laurikari", title = "Efficient submatch addressing for regular expressions", type = "{Master's} thesis", school = "Helsinki University of Technology", address = "Helsinki, Finland", year = "2001", bibdate = "Wed Sep 09 10:05:41 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", } @Article{LeFessant:2001:OPM, author = "Fabrice {Le Fessant} and Luc Maranget", title = "Optimizing Pattern Matching", journal = j-SIGPLAN, volume = "36", number = "10", pages = "26--37", month = oct, year = "2001", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:18:31 MST 2003", bibsource = "http://cristal.inria.fr/ICFP2001/program.html; http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://cristal.inria.fr/ICFP2001/Abstracts/8.html", acknowledgement = ack-nhfb, annote = "International Conference on Functional Programming (ICFP01), Firenze, Italy, 3--5 September 2001.", fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", } @InProceedings{Li:2001:IQX, author = "Quanzhong Li and Bongki Moon", title = "Indexing and Querying {XML} Data for Regular Path Expressions", crossref = "Apers:2001:PTS", pages = "361--370", year = "2001", bibdate = "Thu Feb 21 17:51:12 MST 2002", bibsource = "http://www.vldb.org/dblp/db/conf/vldb/vldb2001.html; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldb.bib", URL = "http://www.vldb.org/conf/2001/P361.pdf", acknowledgement = ack-nhfb, annote = "link", authorurl = "http://www.vldb.org/dblp/db/indices/a-tree/l/Li:Quanzhong.html; http://www.vldb.org/dblp/db/indices/a-tree/m/Moon:Bongki.html", } @Article{Maddock:2001:REC, author = "John Maddock", title = "Regular Expressions In {C++}", journal = j-DDJ, volume = "26", number = "10", pages = "21--22, 24, 26", month = oct, year = "2001", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Tue Feb 12 05:21:40 MST 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.ddj.com/ftp/2001/2001_10/regexpp3.txt; http://www.ddj.com/ftp/2001/2001_10/regexpp3.zip", abstract = "Regex++ is a regular expression engine that makes C++ as versatile for text processing as script-based languages like Awk and Perl. Additional resources include {\tt regexpp3.txt} (listings) and {\tt regexpp3.zip} (source code).", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", } @Article{McCarty:2001:LN, author = "Ron McCarty", title = "A Look at {\tt ngrep}", journal = j-SYS-ADMIN, volume = "10", number = "5", pages = "75--76", month = may, year = "2001", CODEN = "SYADE7", ISSN = "1061-2688", bibdate = "Mon Apr 16 18:53:13 MDT 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/sysadmin.bib", URL = "http://www.samag.com/", acknowledgement = ack-nhfb, } @InProceedings{Mitarai:2001:CPM, author = "S. Mitarai and M. Hirao and T. Matsumoto and A. Shinohara and M. Takeda and S. Arikawa", title = "Compressed pattern matching for {SEQUITUR}", crossref = "Storer:2001:DPD", pages = "469--478", year = "2001", DOI = "https://doi.org/10.1109/DCC.2001.917178", bibdate = "Tue Feb 5 14:07:00 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=917178", acknowledgement = ack-nhfb, } @Article{Mongelli:2001:PPM, author = "H. Mongelli and S. W. Song", title = "Parallel Pattern Matching with Scaling", journal = j-PARALLEL-PROCESS-LETT, volume = "11", number = "1", pages = "125--??", month = mar, year = "2001", CODEN = "PPLTEE", ISSN = "0129-6264", bibdate = "Sat Feb 23 19:27:51 MST 2002", bibsource = "http://ejournals.wspc.com.sg/ppl/ppl.shtml; https://www.math.utah.edu/pub/tex/bib/parallelprocesslett.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Parallel Processing Letters", journal-URL = "http://www.worldscientific.com/loi/ppl", } @Article{Navarro:2001:CDR, author = "Gonzalo Navarro and Mathieu Raffinot", title = "Compact {DFA} Representation for Fast Regular Expression Search", journal = j-LECT-NOTES-COMP-SCI, volume = "2141", pages = "1--??", year = "2001", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Feb 2 13:05:43 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2141.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2141/21410001.htm; http://link.springer-ny.com/link/service/series/0558/papers/2141/21410001.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @InProceedings{Navarro:2001:FAS, author = "G. Navarro and T. Kida and M. Takeda and A. Shinohara and S. Arikawa", title = "Faster approximate string matching over compressed text", crossref = "Storer:2001:DPD", pages = "459--468", year = "2001", DOI = "https://doi.org/10.1109/DCC.2001.917177", bibdate = "Tue Feb 5 14:07:00 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=917177", acknowledgement = ack-nhfb, } @Article{Navarro:2001:GTA, author = "Gonzalo Navarro", title = "A guided tour to approximate string matching", journal = j-COMP-SURV, volume = "33", number = "1", pages = "31--88", month = mar, year = "2001", CODEN = "CMSVAN", DOI = "https://doi.org/10.1145/375360.375365", ISSN = "0360-0300 (print), 1557-7341 (electronic)", ISSN-L = "0360-0300", bibdate = "Thu Jun 19 10:15:39 MDT 2008", bibsource = "http://www.acm.org/pubs/contents/journals/surveys/; http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/compsurv.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/articles/journals/surveys/2001-33-1/p31-navarro/p31-navarro.pdf; http://www.acm.org/pubs/citations/journals/surveys/2001-33-1/p31-navarro/", abstract = "We survey the current techniques to cope with the problem of string matching that allows errors. This is becoming a more and more relevant issue for many fast growing areas such as information retrieval and computational biology. We focus on online searching and mostly on edit distance, explaining the problem and its relevance, its statistical behavior, its history and current developments, and the central ideas of the algorithms and their complexities. We present a number of experiments to compare the performance of the different algorithms and show which are the best choices. We conclude with some directions for future work and open problems.", acknowledgement = ack-nhfb, fjournal = "ACM Computing Surveys", generalterms = "Algorithms", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J204", keywords = "edit distance; Levenshtein distance; online string matching; text searching allowing errors", subject = "Theory of Computation --- Analysis of Algorithms and Problem Complexity --- Nonnumerical Algorithms and Problems (F.2.2): {\bf Computations on discrete structures}; Information Systems --- Information Storage and Retrieval --- Information Search and Retrieval (H.3.3): {\bf Search process}", } @Article{Navarro:2001:IAA, author = "G. Navarro and R. Baeza-Yates", title = "Improving an Algorithm for Approximate Pattern Matching", journal = j-ALGORITHMICA, volume = "30", number = "4", pages = "473--502", month = oct, year = "2001", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s00453-001-0034-6", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", MRclass = "68W05 (68P10)", MRnumber = "MR1829492 (2002c:68102)", bibdate = "Fri Jan 6 11:38:14 MST 2006", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0178-4617&volume=30&issue=4; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/index-table-a.html#algorithmica; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", note = "Algorithm engineering", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0178-4617&volume=30&issue=4&spage=473", acknowledgement = ack-nhfb, fjournal = "Algorithmica. An International Journal in Computer Science", journal-URL = "http://link.springer.com/journal/453", } @Article{Navarro:2001:NGF, author = "Gonzalo Navarro", title = "{NR-grep}: a fast and flexible pattern-matching tool", journal = j-SPE, volume = "31", number = "13", pages = "1265--1312", day = "10", month = nov, year = "2001", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.411", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Fri Feb 22 12:06:59 MST 2002", bibsource = "http://www.interscience.wiley.com/jpages/0038-0644; http://www3.interscience.wiley.com/journalfinder.html; https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www3.interscience.wiley.com/cgi-bin/abstract/85512195/START; http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=85512195&PLACEBO=IE.pdf", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", } @Article{Navarro:2001:RES, author = "Gonzalo Navarro", title = "Regular Expression Searching over {Ziv--Lempel} Compressed Text", journal = j-LECT-NOTES-COMP-SCI, volume = "2089", pages = "1--??", year = "2001", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Feb 2 13:04:48 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2089.htm; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2089/20890001.htm; http://link.springer-ny.com/link/service/series/0558/papers/2089/20890001.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Papadias:2001:AST, author = "Dimitris Papadias and Nikos Mamoulis and Vasilis Delis", title = "Approximate spatio-temporal retrieval", journal = j-TOIS, volume = "19", number = "1", pages = "53--96", year = "2001", CODEN = "ATISET", ISSN = "1046-8188", ISSN-L = "0734-2047", bibdate = "Tue Apr 17 08:17:10 MDT 2001", bibsource = "http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tois.bib", URL = "http://www.acm.org/pubs/articles/journals/tois/2001-19-1/p53-papadias/p53-papadias.pdf; http://www.acm.org/pubs/citations/journals/tois/2001-19-1/p53-papadias/", abstract = "This paper proposes a framework for the handling of spatio-temporal queries with inexact matches, using the concept of relation similarity. We initially describe a binary string encoding for 1D relations that permits the automatic derivation of similarity measures. We then extend this model to various granularity levels and many dimensions, and show that reasoning on spatio-temporal structure is significantly facilitated in the new framework. Finally, we provide algorithms and optimization methods for four types of queries: (i) object retrieval based on some spatio-temporal relations with respect to a reference object, (ii) spatial joins, i.e., retrieval of object pairs that satisfy some input relation, (iii) structural queries, which retrieve configurations matching a particular spatio-temporal structure, and (iv) special cases of motion queries. Considering the current large availability of multidimensional data and the increasing need for flexible query-answering mechanisms, our techniques can be used as the core of spatio-temporal query processors.", acknowledgement = ack-nhfb, fjournal = "ACM Transactions on Information Systems (TOIS)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J779", subject = "Information Systems --- Database Management --- Physical Design (H.2.2): {\bf Access methods}; Information Systems --- Database Management --- Systems (H.2.4): {\bf Multimedia databases}; Information Systems --- Database Management --- Database Applications (H.2.8): {\bf Spatial databases and GIS}", } @Article{Pol:2001:PST, author = "Koos Pol", title = "A Powerful Search Tool for {ASCII} Files", journal = j-SYS-ADMIN, volume = "10", number = "6", pages = "49--51", month = jun, year = "2001", CODEN = "SYADE7", ISSN = "1061-2688", bibdate = "Wed May 16 05:57:06 MDT 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.samag.com/", abstract = "Pol shows how to create a search tool using Perl regular expressions.", acknowledgement = ack-nhfb, fjournal = "Sys admin: the journal for UNIX system administrators", } @Article{Saliba:2001:BRB, author = "George Saliba", title = "Book Review: {{\booktitle{The Diffusion of Greco-Roman Medicine into the Middle East and the Caucasus}} by John A. C. Greppin; Emilie Savage-Smith; John L. Gueriguian}", journal = j-ISIS, volume = "92", number = "4", pages = "763--764", month = dec, year = "2001", CODEN = "ISISA4", ISSN = "0021-1753 (print), 1545-6994 (electronic)", ISSN-L = "0021-1753", bibdate = "Tue Jul 30 21:30:30 MDT 2013", bibsource = "http://www.jstor.org/action/showPublication?journalCode=isis; http://www.jstor.org/stable/i355236; https://www.math.utah.edu/pub/tex/bib/isis2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.jstor.org/stable/3080358", acknowledgement = ack-nhfb, fjournal = "Isis", journal-URL = "http://www.jstor.org/journal/isis", } @Article{Singh:2001:PMN, author = "Sameer Singh and Jonathan Fieldsend", title = "Pattern Matching and Neural Networks Based Hybrid Forecasting System", journal = j-LECT-NOTES-COMP-SCI, volume = "2013", pages = "72--??", year = "2001", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Feb 2 13:03:31 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2013.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2013/20130072.htm; http://link.springer-ny.com/link/service/series/0558/papers/2013/20130072.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Sittampalam:2001:HOP, author = "Ganesh Sittampalam and Oege de Moor", title = "Higher-Order Pattern Matching for Automatically Applying Fusion Transformations", journal = j-LECT-NOTES-COMP-SCI, volume = "2053", pages = "218--??", year = "2001", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Feb 2 13:04:09 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2053.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2053/20530218.htm; http://link.springer-ny.com/link/service/series/0558/papers/2053/20530218.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Snow:2001:IAL, author = "Ray Snow", title = "An Information Assembly Line In {Perl}", journal = j-DDJ, volume = "26", number = "6", pages = "72, 76, 78, 80, 82", month = jun, year = "2001", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Thu Jun 7 06:07:16 MDT 2001", bibsource = "https://www.math.utah.edu/pub/tex/bib/internet2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.ddj.com/ftp/2001/2001_06/infoline.txt", abstract = "How would you go about organizing thousands of daily news stories from hundreds of Internet-based sources? Ray turned to Perl's pattern-matching capabilities to cull, tag, sort, and present all the news that's fit. Additional resources include infoline.txt (listings).", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", } @Article{Squillante:2001:AQU, author = "Mark S. Squillante and Baffelly Woo and Li Zhang", title = "Analysis of queues under correlated arrivals with applications to {Web} server performance", journal = j-SIGMETRICS, volume = "28", number = "4", pages = "41--43", month = mar, year = "2001", CODEN = "????", DOI = "https://doi.org/10.1145/544397.544413", ISSN = "0163-5999 (print), 1557-9484 (electronic)", ISSN-L = "0163-5999", bibdate = "Thu Jun 26 11:34:13 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigmetrics.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The complexity of many high-volume Web sites often makes it difficult to mathematically analyze various performance measures. Since these complex behaviors can have a significant impact on performance, it is important to capture them in sufficient detail in the analysis of the corresponding queueing systems. We consider the access logs from a particular class of high-volume Web sites serving dynamic content to obtain a better understanding of the complexities of user request patterns in such environments. Our analysis demonstrates that these arrival patterns exhibit strong dependence structures which can be accurately represented by an arrival process with strong (short-range) correlations, at least for the class of Web sites motivating our study [2]. Based on these results, we develop a methodology for approximating this class of dependent arrival processes by a set of phase-type distributions. Our approach consists of formulating and solving a nonlinear optimization problem that fits a set of dependent stochastic models to approximate the interarrival time patterns from the data, which includes matching the autocorrelation function. To evaluate the effectiveness of our approach, we conduct a large number of statistical tests and experiments showing that our methodology provides an excellent match between the real user request data and the fitted approximate arrival process. Given this dependent arrival process as input, we then derive an exact matrix-analytic analysis of a general multi-server queue under two server queueing disciplines. This analysis yields results that provide significant reductions in the numerical computation required to solve the queueing models. To demonstrate the accuracy of the performance measures obtained under these methods, a large number of experiments were performed and detailed comparisons were made between the sojourn time measures from our analysis and the corresponding measures obtained from simulation of the queueing system under the actual user request data. These results show both sets of performance measures to be in excellent agreement, with relative errors consistently less than 5\%, and further demonstrate the robustness of our approach. We also conduct a set of numerical experiments that exploit our matrix-analytic analysis and its computational efficiency, which are then used to establish some important results for multi-server queues under dependent arrival processes. This includes the notion of effective stability where the point at which the mean sojourn time of the queue exceeds a large constant (e.g., 1000) multiplied by the mean service time occurs well before the theoretical stability condition for the queue. Due to space limitations, we simply summarize a subset of our results in this extended abstract. We refer the interested reader to [1] for additional details, references and results.", acknowledgement = ack-nhfb, fjournal = "ACM SIGMETRICS Performance Evaluation Review", journal-URL = "http://portal.acm.org/toc.cfm?id=J618", } @Article{Thompson:2001:DDS, author = "Paul M. Thompson and Michael S. Mega and Christine Vidal and Judith L. Rapoport and Arthur W. Toga", title = "Detecting Disease-Specific Patterns of Brain Structure Using Cortical Pattern Matching and a Population-Based Probabilistic Brain Atlas", journal = j-LECT-NOTES-COMP-SCI, volume = "2082", pages = "488--??", year = "2001", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Feb 2 13:04:40 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2082.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2082/20820488.htm; http://link.springer-ny.com/link/service/series/0558/papers/2082/20820488.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{vanNoord:2001:ERE, author = "Gertjan van Noord and Dale Gerdemann", title = "An Extendible Regular Expression Compiler for Finite-State Approaches in Natural Language Processing", journal = j-LECT-NOTES-COMP-SCI, volume = "2214", pages = "122--??", year = "2001", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Feb 2 13:07:01 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2214.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2214/22140122.htm; http://link.springer-ny.com/link/service/series/0558/papers/2214/22140122.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Viksna:2001:PMP, author = "Juris V{\=\i}ksna and David Gilbert", title = "Pattern Matching and Pattern Discovery Algorithms for Protein Topologies", journal = j-LECT-NOTES-COMP-SCI, volume = "2149", pages = "98--111", year = "2001", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Feb 2 13:05:52 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2149.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2149/21490098.htm; http://link.springer-ny.com/link/service/series/0558/papers/2149/21490098.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Vilares:2001:AVP, author = "Manuel Vilares and Francisco J. Ribadas and Victor M. Darriba", title = "Approximate {VLDC} Pattern Matching in Shared-Forest", journal = j-LECT-NOTES-COMP-SCI, volume = "2004", pages = "483--??", year = "2001", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Feb 2 13:03:22 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2004.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2004/20040483.htm; http://link.springer-ny.com/link/service/series/0558/papers/2004/20040483.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Voss:2001:APP, author = "K. Voss and H. Suesse", title = "Affine Point Pattern Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "2191", pages = "155--??", year = "2001", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Feb 2 13:06:34 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2191.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2191/21910155.htm; http://link.springer-ny.com/link/service/series/0558/papers/2191/21910155.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Yamamoto:2001:NRA, author = "Hiroaki Yamamoto", title = "A New Recognition Algorithm for Extended Regular Expressions", journal = j-LECT-NOTES-COMP-SCI, volume = "2223", pages = "257--??", year = "2001", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Feb 2 13:07:08 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2223.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2223/22230257.htm; http://link.springer-ny.com/link/service/series/0558/papers/2223/22230257.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Abouelhoda:2002:OES, author = "Mohamed Ibrahim Abouelhoda and Enno Ohlebusch and Stefan Kurtz", title = "Optimal Exact String Matching Based on Suffix Arrays", journal = j-LECT-NOTES-COMP-SCI, volume = "2476", pages = "31--??", year = "2002", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat Nov 30 20:57:37 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2476.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.de/link/service/series/0558/bibs/2476/24760031.htm; http://link.springer.de/link/service/series/0558/papers/2476/24760031.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @InProceedings{Adjeroh:2002:PMB, author = "D. Adjeroh and A. Mukherjee and T. Bell and M. Powell and N. Zhang", title = "Pattern matching in {BWT}-transformed text", crossref = "Storer:2002:DPD", pages = "??--??", year = "2002", DOI = "https://doi.org/10.1109/DCC.2002.999988", bibdate = "Tue Feb 5 14:07:05 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=999988", acknowledgement = ack-nhfb, keywords = "Burrows--Wheeler Transform (BWT)", } @Article{Amer-Yahia:2002:TPQ, author = "S. Amer-Yahia and S. Cho and L. V. S. Lakshmanan and D. Srivastava", title = "Tree pattern query minimization", journal = j-VLDB-J, volume = "11", number = "4", pages = "315--331", month = dec, year = "2002", CODEN = "VLDBFR", DOI = "https://doi.org/10.1007/s00778-002-0076-7", ISSN = "1066-8888 (print), 0949-877X (electronic)", ISSN-L = "1066-8888", bibdate = "Mon Jun 23 10:51:03 MDT 2008", bibsource = "http://link.springer.de/link/service/journals/00778/tocs/t2011004.htm; http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbj.bib", URL = "http://link.springer.de/link/service/journals/00778/bibs/2011004/20110315.htm; http://link.springer.de/link/service/journals/00778/papers/2011004/20110315.pdf", abstract = "Tree patterns form a natural basis to query tree-structured data such as XML and LDAP. To improve the efficiency of tree pattern matching, it is essential to quickly identify and eliminate redundant nodes in the pattern. In this paper, we study tree pattern minimization both in the absence and in the presence of integrity constraints (ICs) on the underlying tree-structured database. In the absence of ICs, we develop a polynomial-time query minimization algorithm called CIM, whose efficiency stems from two key properties: (i) a node cannot be redundant unless its children are; and (ii) the order of elimination of redundant nodes is immaterial. When ICs are considered for minimization, we develop a technique for query minimization based on three fundamental operations: augmentation (an adaptation of the well-known chase procedure), minimization (based on homomorphism techniques), and reduction. We show the surprising result that the algorithm, referred to as ACIM, obtained by first augmenting the tree pattern using ICs, and then applying CIM, always finds the unique minimal equivalent query. While ACIM is polynomial time, it can be expensive in practice because of its inherent non-locality. We then present a fast algorithm, CDM, that identifies and eliminates local redundancies due to ICs, based on propagating ``information labels'' up the tree pattern. CDM can be applied prior to ACIM for improving the minimization efficiency. We complement our analytical results with an experimental study that shows the effectiveness of our tree pattern minimization techniques.", acknowledgement = ack-nhfb, fjournal = "VLDB Journal: Very Large Data Bases", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", keywords = "query minimization; tree patterns; XML", } @Article{Andrews:2002:KCD, author = "Larry Andrews", title = "Keyword Correction from a Dictionary", journal = j-CCCUJ, volume = "20", number = "6", pages = "14--??", month = jun, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:37 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0206/0206toc.htm?topic=articles; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Have your computer understand what you mean, not just what you say, with this effective string matching algorithm.", acknowledgement = ack-nhfb, fjournal = "C/C++ Users Journal", } @Article{Anonymous:2002:MSS, author = "Moishe Halibard and Moshe Rubin", title = "A Multiple Substring Search Algorithm", journal = j-CCCUJ, volume = "20", number = "6", pages = "6--??", month = jun, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:37 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0206/0206toc.htm?topic=articles; https://www.math.utah.edu/pub/tex/bib/cccuj2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "You will surely find this generalization of {\tt find\_first\_of} for multiple substrings both elegant and useful. What's more, it's very efficient.", acknowledgement = ack-nhfb, } @Article{Asarin:2002:TRE, author = "Eugene Asarin and Paul Caspi and Oded Maler", title = "Timed regular expressions", journal = j-J-ACM, volume = "49", number = "2", pages = "172--206", month = mar, year = "2002", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Thu Apr 25 17:35:56 MDT 2002", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", } @Article{Bartolini:2002:SMM, author = "Ilaria Bartolini and Paolo Ciaccia and Marco Patella", title = "String Matching with Metric Trees Using an Approximate Distance", journal = j-LECT-NOTES-COMP-SCI, volume = "2476", pages = "271--??", year = "2002", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat Nov 30 20:57:37 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2476.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.de/link/service/series/0558/bibs/2476/24760271.htm; http://link.springer.de/link/service/series/0558/papers/2476/24760271.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @InProceedings{Bell:2002:SBC, author = "T. Bell and M. Powell and A. Mukherjee and D. Adjeroh", title = "Searching {BWT} compressed text with the {Boyer--Moore} algorithm and binary search", crossref = "Storer:2002:DPD", pages = "112--121", year = "2002", DOI = "https://doi.org/10.1109/DCC.2002.999949", bibdate = "Tue Feb 5 14:07:05 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=999949", acknowledgement = ack-nhfb, keywords = "Burrows--Wheeler Transform (BWT)", } @Article{Bergeron:2002:VAA, author = "A. Bergeron and S. Hamel", title = "Vector Algorithms for Approximate String Matching", journal = j-INT-J-FOUND-COMP-SCI, volume = "13", number = "1", pages = "53--??", year = "2002", CODEN = "IFCSEN", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Tue Jan 27 08:06:51 MST 2004", bibsource = "http://ejournals.wspc.com.sg/ijfcs/mkt/archive.shtml; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Berman:2002:CPM, author = "Piotr Berman and Marek Karpinski and Lawrence L. Larmore and Wojciech Plandowski and Wojciech Rytter", title = "On the Complexity of Pattern Matching for Highly Compressed Two-Dimensional Texts", journal = j-J-COMP-SYS-SCI, volume = "65", number = "2", pages = "332--350", month = sep, year = "2002", CODEN = "JCSSBM", DOI = "https://doi.org/10.1006/jcss.2002.1852", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:26:48 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0022000002918520", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @TechReport{Bollinger:2002:UFO, author = "Terry Bollinger", title = "Use of {Free and Open-Source Software} ({FOSS}) in the {U.S. Department of Defense}: Version: 1.2", type = "Mitre report", number = "MP 02 W0000101", institution = "MITRE Corporation", pages = "160", day = "28", month = oct, year = "2002", bibdate = "Wed Oct 30 08:48:57 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/cryptography2000.bib; https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.egovos.org/pdf/dodfoss.pdf", acknowledgement = ack-nhfb, annote = "About 100 pages of this report are devoted to exhibits of the licenses of the various open source packages discussed in the report.", keywords = "ACE; ACE ORB (TAO); ACID; AMANDA; Apache; Autoconf; Automake; bash; Bastille; BIND; C++ Boost; CIS Benchmarks; Colt; Condor; COPS; Crack; CVS; CVW; Cygwin; DDD; DjVuLibre; EADSIM; Emacs; eTrust; Expect; FreeBSD; GateD; gawk (awk); GCC; GDB; Ghostscript; GNAT; GnuPG; gnuplot; grep; h2n; HOSTS; ImageMagick; JADE; Jakarta; Jaxen; JBoss; JDOM; Jikes; jSIP; Kaffe; LaTeX; Linux; Linux (Red Hat); Linux firewalls; Lsof; m4; Majordomo; make; Maxima; MIMEsweeper; MRTG; MTR; MySQL; Nessus; NetBSD; NetSaint; nload; Nmap; ntop; NTP; Octave; OpenBSD; OpenMap; OpenOffice; OpenSSH; OpenSSL; Perl; Perl CGI scripts; PerLDAP; PHP; PingScan; Procmail; Qmail; R; RealSecure; RRDtool; RTLinux; RWhois; RXVT; Samba; SARA; SATAN; Saxon; SCA; sed; SELinux; Sendmail; SNARE; Snort; Squid; Tcl/Tk; TCP Wrappers; Tomcat; Top; Tripwire; VisAD; VOCAL; VTK; Webmin; WebTAS; Weka; WU-FTPD; Xalan; Xerces; XFree86; XGobi; Xpatch; zlib; Zope", } @Article{Boyer:2002:LDS, author = "John Boyer and Andrew D. Todd and Jason Trenough and Doug Farrell", title = "Letters: Defective Sign-and-Encrypt and Healthcare Woes and {J2EE} Cache and Pool and {Regex++}", journal = j-DDJ, volume = "27", number = "2", pages = "10--10", month = feb, year = "2002", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Tue Feb 12 05:21:41 MST 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/cryptography2000.bib; https://www.math.utah.edu/pub/tex/bib/dr-dobbs-2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Dr. Dobb's Journal of Software Tools", journal-URL = "http://www.ddj.com/", } @InProceedings{Bruno:2002:HTJ, author = "Nicolas Bruno and Nick Koudas and Divesh Srivastava", title = "Holistic twig joins: optimal {XML} pattern matching", crossref = "Franklin:2002:PAS", pages = "310--321", year = "2002", bibdate = "Fri Oct 31 08:03:02 MST 2003", bibsource = "http://www.acm.org/pubs/contents/proceedings/series/sigmod_pods/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/sgml2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Calvanese:2002:RRE, author = "Diego Calvanese and Giuseppe {De Giacomo} and Maurizio Lenzerini and Moshe Y. Vardi", title = "Rewriting of Regular Expressions and Regular Path Queries", journal = j-J-COMP-SYS-SCI, volume = "64", number = "3", pages = "443--465", month = may, year = "2002", CODEN = "JCSSBM", DOI = "https://doi.org/10.1006/jcss.2001.1805", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:26:47 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0022000001918057", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Article{Chakaravarthy:2002:PCS, author = "Venkatesan T. Chakaravarthy and Rajasekar Krishnamurthy", title = "The Problem of Context Sensitive String Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "2373", pages = "64--??", year = "2002", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue Sep 10 19:09:57 MDT 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2373.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2373/23730064.htm; http://link.springer-ny.com/link/service/series/0558/papers/2373/23730064.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Champarnaud:2002:ETI, author = "J.-M. Champarnaud", title = "Evaluation of Three Implicit Structures to Implement Nondeterministic Automata From Regular Expressions", journal = j-INT-J-FOUND-COMP-SCI, volume = "13", number = "1", pages = "99--??", year = "2002", CODEN = "IFCSEN", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Tue Jan 27 08:06:51 MST 2004", bibsource = "http://ejournals.wspc.com.sg/ijfcs/mkt/archive.shtml; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @InProceedings{Chan:2002:RTE, author = "Chee Yong Chan and Minos N. Garofalakis and Rajeev Rastogi", title = "{RE-Tree}: An Efficient Index Structure for Regular Expressions", crossref = "Bernstein:2002:VPT", pages = "263--274", year = "2002", bibdate = "Mon Dec 22 18:34:16 MST 2003", bibsource = "http://www.vldb.org/dblp/db/conf/vldb/vldb2002.html; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldb.bib", URL = "http://www.vldb.org/conf/2002/S08P02.pdf", acknowledgement = ack-nhfb, annote = "link", authorurl = "http://www.vldb.org/dblp/db/indices/a-tree/c/Chan:Chee_Yong.html; http://www.vldb.org/dblp/db/indices/a-tree/g/Garofalakis:Minos_N=.html; http://www.vldb.org/dblp/db/indices/a-tree/r/Rastogi:Rajeev.html", } @Article{Chauve:2002:TPMa, author = "Cedric Chauve", title = "Tree Pattern Matching for Linear Static Terms", journal = j-LECT-NOTES-COMP-SCI, volume = "2476", pages = "160--??", year = "2002", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Nov 30 20:57:37 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2476.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.de/link/service/series/0558/bibs/2476/24760160.htm; http://link.springer.de/link/service/series/0558/papers/2476/24760160.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Chauve:2002:TPMb, author = "Cedric Chauve", title = "Tree pattern matching with a more general notion of occurrence of the pattern", journal = j-INFO-PROC-LETT, volume = "82", number = "4", pages = "197--201", day = "31", month = may, year = "2002", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon Jan 26 08:44:28 MST 2004", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Chavez:2002:MIA, author = "Edgar Ch{\'a}vez and Gonzalo Navarro", title = "A Metric Index for Approximate String Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "2286", pages = "181--??", year = "2002", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue Sep 10 19:09:12 MDT 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2286.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2286/22860181.htm; http://link.springer-ny.com/link/service/series/0558/papers/2286/22860181.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Chung:2002:TPO, author = "Tae-Sun Chung and Hyoung-Joo Kim", title = "A two phase optimization technique for {XML} queries with multiple regular path expressions", journal = j-J-SYST-SOFTW, volume = "64", number = "3", pages = "183--193", day = "15", month = dec, year = "2002", CODEN = "JSSODM", ISSN = "0164-1212 (print), 1873-1228 (electronic)", ISSN-L = "0164-1212", bibdate = "Sat Oct 25 07:14:11 MDT 2003", bibsource = "http://www.sciencedirect.com/science/journal/01641212; https://www.math.utah.edu/pub/tex/bib/jsystsoftw.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "The Journal of systems and software", journal-URL = "http://www.sciencedirect.com/science/journal/01641212", } @Article{Cole:2002:ASM, author = "Richard Cole and Ramesh Hariharan", title = "Approximate String Matching: a Simpler Faster Algorithm", journal = j-SIAM-J-COMPUT, volume = "31", number = "6", pages = "1761--1782", month = dec, year = "2002", CODEN = "SMJCAT", DOI = "https://doi.org/10.1137/S0097539700370527", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", bibdate = "Tue Oct 22 17:49:41 MDT 2002", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/31/6; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://epubs.siam.org/sam-bin/dbq/article/37052", abstract = "We give two algorithms for finding all approximate matches of a pattern in a text, where the edit distance between the pattern and the matching text substring is at most k. The first algorithm, which is quite simple, runs in time {$ O(\frac {nk^3}{m} + n + m) $} on all patterns except $k$-break periodic strings (defined later). The second algorithm runs in time {$ O(\frac {nk^4}{m} + n + m) $} on $k$-break periodic patterns. The two classes of patterns are easily distinguished in {$ O(m) $} time.", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @Article{Crochemore:2002:ASM, author = "M. Crochemore and C. Iliopoulos and C. Makris and W. Rytter and A. Tsakalidis and K. Tsichlas", title = "Approximate String Matching with Gaps", journal = j-NORDIC-J-COMPUT, volume = "9", number = "1", pages = "54--??", month = "Spring", year = "2002", CODEN = "NJCOFR", ISSN = "1236-6064", bibdate = "Wed Dec 24 09:24:58 2003", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Nordic Journal of Computing", } @Article{Forest:2002:WCE, author = "Julien Forest", title = "A Weak Calculus with Explicit Operators for Pattern Matching and Substitution", journal = j-LECT-NOTES-COMP-SCI, volume = "2378", pages = "174--??", year = "2002", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Tue Sep 10 19:09:59 MDT 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2378.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2378/23780174.htm; http://link.springer-ny.com/link/service/series/0558/papers/2378/23780174.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Fredriksson:2002:FSM, author = "Kimmo Fredriksson", title = "Faster String Matching with Super-Alphabets", journal = j-LECT-NOTES-COMP-SCI, volume = "2476", pages = "44--??", year = "2002", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat Nov 30 20:57:37 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2476.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.de/link/service/series/0558/bibs/2476/24760044.htm; http://link.springer.de/link/service/series/0558/papers/2476/24760044.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Fredriksson:2002:OEF, author = "Kimmo Fredriksson and Gonzalo Navarro and Esko Ukkonen", title = "Optimal Exact and Fast Approximate Two Dimensional Pattern Matching Allowing Rotations", journal = j-LECT-NOTES-COMP-SCI, volume = "2373", pages = "235--??", year = "2002", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Tue Sep 10 19:09:57 MDT 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2373.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2373/23730235.htm; http://link.springer-ny.com/link/service/series/0558/papers/2373/23730235.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Book{Friedl:2002:MRE, author = "Jeffrey E. F. Friedl", title = "Mastering Regular Expressions", publisher = pub-ORA, address = pub-ORA:adr, edition = "Second", pages = "xxii + 460", year = "2002", ISBN = "0-596-00289-0", ISBN-13 = "978-0-596-00289-3", LCCN = "QA76.73.P22 F75 2002; QA76.9.T48 F75 2002", bibdate = "Mon Apr 18 15:04:47 MDT 2005", bibsource = "http://www.oreilly.com/catalog/prdindex.html; https://www.math.utah.edu/pub/tex/bib/css.bib; https://www.math.utah.edu/pub/tex/bib/ora.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib; z3950.loc.gov:7090/Voyager", price = "US\$39.95", URL = "http://www.oreilly.com/catalog/9780596002893; http://www.oreilly.com/catalog/regex2", acknowledgement = ack-nhfb, keywords = "computer programming", publishersummary = "Regular expressions are an extremely powerful tool for manipulating text and data. They are now standard features in a wide range of languages and popular tools, including Perl, Java, VB.NET and C\# (and any language using the {.NET} Framework), PHP, Python, Ruby, Tcl, MySQL, awk, and Emacs.\par If you don't use regular expressions yet, you will discover in this book a whole new world of mastery over your data. If you already use them, you'll appreciate this book's unprecedented detail and breadth of coverage.", subject = "Text processing (Computer science); Programming languages (Electronic computers); Electronic data processing", } @Article{Genest:2002:PMM, author = "Blaise Genest and Anca Muscholl", title = "Pattern Matching and Membership for Hierarchical Message Sequence Charts", journal = j-LECT-NOTES-COMP-SCI, volume = "2286", pages = "326--??", year = "2002", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Tue Sep 10 19:09:12 MDT 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2286.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2286/22860326.htm; http://link.springer-ny.com/link/service/series/0558/papers/2286/22860326.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Giavitto:2002:PMR, author = "Jean-Louis Giavitto and Olivier Michel and Julien Cohen", title = "Pattern-matching and rewriting rules for group indexed data structures", journal = j-SIGPLAN, volume = "37", number = "12", pages = "76--87", month = dec, year = "2002", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Thu May 15 12:23:11 MDT 2003", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", } @Article{Gonnet:2002:SMP, author = "Gaston H. Gonnet", title = "String Matching Problems from Bioinformatics Which Still Need Better Solutions Extended Abstract", journal = j-LECT-NOTES-COMP-SCI, volume = "2476", pages = "27--??", year = "2002", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat Nov 30 20:57:37 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2476.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.de/link/service/series/0558/bibs/2476/24760027.htm; http://link.springer.de/link/service/series/0558/papers/2476/24760027.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Hannay:2002:ITC, author = "David G. Hannay", title = "Interactive tools for computation theory", journal = j-SIGCSE, volume = "34", number = "4", pages = "68--70", month = dec, year = "2002", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/820127.820169", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sat Nov 17 16:56:58 MST 2012", bibsource = "DBLP; http://dblp.uni-trier.de/db/journals/sigcse/sigcse34.html#Hannay02; http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2002.bib", abstract = "The web-based simulations encompass the six core abstract models of computation: finite-state, pushdown and Turing machines as well as regular expressions, context-free grammars, and recursive functions. All six simulations come packaged with predefined machines/expressions/grammars/functions. Users can also create machines, expressions, grammars, and functions from scratch. Each machine simulation traces arbitrary input as processed by the machine. The regular expression simulator tests if an entered list of words is part of the language of a regular expression, and generates random words represented by an expression. The context-free grammar simulator also generates words in the corresponding language. Finally, one can trace the evaluation of functions to a user-specified depth of recursion.", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", } @Article{Harada:2002:PMM, author = "Lilian Harada", title = "Pattern Matching over Multi-attribute Data Streams", journal = j-LECT-NOTES-COMP-SCI, volume = "2476", pages = "187--??", year = "2002", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Nov 30 20:57:37 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2476.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.de/link/service/series/0558/bibs/2476/24760187.htm; http://link.springer.de/link/service/series/0558/papers/2476/24760187.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Hunt:2002:DIL, author = "Ela Hunt and Malcolm P. Atkinson and Robert W. Irving", title = "Database indexing for large {DNA} and protein sequence collections", journal = j-VLDB-J, volume = "11", number = "3", pages = "256--271", month = nov, year = "2002", CODEN = "VLDBFR", DOI = "https://doi.org/10.1007/s007780200064", ISSN = "1066-8888 (print), 0949-877X (electronic)", ISSN-L = "1066-8888", bibdate = "Mon Jun 23 10:51:02 MDT 2008", bibsource = "http://link.springer.de/link/service/journals/00778/tocs/t2011003.htm; http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbj.bib", note = "Special issue VLDB best papers 2001.", URL = "http://link.springer.de/link/service/journals/00778/bibs/2011003/20110256.htm; http://link.springer.de/link/service/journals/00778/papers/2011003/20110256.pdf", abstract = "Our aim is to develop new database technologies for the approximate matching of unstructured string data using indexes. We explore the potential of the suffix tree data structure in this context. We present a new method of building suffix trees, allowing us to build trees in excess of RAM size, which has hitherto not been possible. We show that this method performs in practice as well as the {$ O(n) $} method of Ukkonen [70]. Using this method we build indexes for 200 Mb of protein and 300 Mbp of DNA, whose disk-image exceeds the available RAM. We show experimentally that suffix trees can be effectively used in approximate string matching with biological data. For a range of query lengths and error bounds the suffix tree reduces the size of the unoptimised {$ O(m n) $} dynamic programming calculation required in the evaluation of string similarity, and the gain from indexing increases with index size. In the indexes we built this reduction is significant, and less than 0.3\% of the expected matrix is evaluated. We detail the requirements for further database and algorithmic research to support efficient use of large suffix indexes in biological applications.", acknowledgement = ack-nhfb, fjournal = "VLDB Journal: Very Large Data Bases", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", keywords = "approximate matching; biological sequence; database index; suffix tree", } @Article{Hyyro:2002:FBP, author = "Heikki Hyyr{\"o} and Gonzalo Navarro", title = "Faster Bit-Parallel Approximate String Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "2373", pages = "203--??", year = "2002", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue Sep 10 19:09:57 MDT 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2373.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2373/23730203.htm; http://link.springer-ny.com/link/service/series/0558/papers/2373/23730203.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Ilie:2002:CNOa, author = "Lucian Ilie and Sheng Yu", title = "Constructing {{\em NFA}}s by Optimal Use of Positions in Regular Expressions", journal = j-LECT-NOTES-COMP-SCI, volume = "2373", pages = "279--??", year = "2002", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Tue Sep 10 19:09:57 MDT 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2373.htm; https://www.math.utah.edu/pub/tex/bib/lncs2002c.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2373/23730279.htm; http://link.springer-ny.com/link/service/series/0558/papers/2373/23730279.pdf", acknowledgement = ack-nhfb, } @Article{Ilie:2002:CNOb, author = "Lucian Ilie and Sheng Yu", title = "Constructing {{\em NFA}}s by Optimal Use of Positions in Regular Expressions", journal = j-LECT-NOTES-COMP-SCI, volume = "2373", pages = "279--??", year = "2002", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Tue Sep 10 19:09:57 MDT 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2373.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2373/23730279.htm; http://link.springer-ny.com/link/service/series/0558/papers/2373/23730279.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{KleinOsowski:2002:MNS, author = "A. J. KleinOsowski and D. J. Lilja", title = "{MinneSPEC}: A New {SPEC} Benchmark Workload for Simulation-Based Computer Architecture Research", journal = j-IEEE-COMPUT-ARCHIT-LETT, volume = "1", number = "1", pages = "7--7", month = jan, year = "2002", CODEN = "????", DOI = "https://doi.org/10.1109/L-CA.2002.8", ISSN = "1556-6056 (print), 1556-6064 (electronic)", ISSN-L = "1556-6056", bibdate = "Fri Jun 21 05:49:19 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeecomputarchitlett.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Computer architects must determine how to most effectively use finite computational resources when running simulations to evaluate new architectural ideas. To facilitate efficient simulations with a range of benchmark programs, we have developed the MinneSPEC input set for the SPEC CPU 2000 benchmark suite. This new workload allows computer architects to obtain simulation results in a reasonable time using existing simulators. While the MinneSPEC workload is derived from the standard SPEC CPU 2000 work load, it is a valid benchmark suite in and of itself for simulation-based research. MinneSPEC also may be used to run large numbers of simulations to find ``sweet spots'' in the evaluation parameters pace. This small number of promising design points subsequently may be investigated in more detail with the full SPEC reference workload. In the process of developing the MinneSPEC datasets, we quantify its differences in terms of function-level execution patterns, instruction mixes, and memory behaviors compared to the SPEC programs when executed with the reference inputs. We find that for some programs, the MinneSPEC profiles match the SPEC reference dataset program behavior very closely. For other programs, however, the MinneSPEC inputs produce significantly different program behavior. The MinneSPEC workload has been recognized by SPEC and is distributed with Version 1.2 and higher of the SPEC CPU 2000 benchmark suite.", acknowledgement = ack-nhfb, fjournal = "IEEE Computer Architecture Letters", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=10208", keywords = "Computational modeling; Computer architecture; Computer simulation", } @Article{Krodel:2002:RLD, author = "M. Kr{\"o}del and K.-D. Kuhnert", title = "Reinforcement Learning to Drive a Car by Pattern Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "2449", pages = "322--??", year = "2002", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Nov 30 20:57:27 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2449.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.de/link/service/series/0558/bibs/2449/24490322.htm; http://link.springer.de/link/service/series/0558/papers/2449/24490322.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Kupferman:2002:IAM, author = "Orna Kupferman and Sharon Zuhovitzky", title = "An Improved Algorithm for the Membership Problem for Extended Regular Expressions", journal = j-LECT-NOTES-COMP-SCI, volume = "2420", pages = "446--??", year = "2002", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Nov 30 20:57:18 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2420.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.de/link/service/series/0558/bibs/2420/24200446.htm; http://link.springer.de/link/service/series/0558/papers/2420/24200446.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Lee:2002:EPM, author = "Sangjun Lee and Dongseop Kwon and Sukho Lee", title = "Efficient Pattern Matching of Time Series Data", journal = j-LECT-NOTES-COMP-SCI, volume = "2358", pages = "586--??", year = "2002", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Tue Sep 10 19:09:48 MDT 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2358.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2358/23580586.htm; http://link.springer-ny.com/link/service/series/0558/papers/2358/23580586.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Liu:2002:JIA, author = "J. Liu and A. C. Myers", title = "{JMatch}: Iterable Abstract Pattern Matching for {Java}", journal = j-LECT-NOTES-COMP-SCI, volume = "2562", pages = "110--127", year = "2002", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Tue Feb 11 05:32:25 MST 2003", bibsource = "https://www.math.utah.edu/pub/tex/bib/java2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; Ingenta database", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Lutz:2002:BRB, author = "Michael J. Lutz", title = "Bookshelf: Risk-Based Approach to Mission-Critical Software Testing; The {TLA+} Specification Language Primer [{Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers}]; Interpolation Tutorial [{Nonuniform Sampling: Theory and Practice}]; Pattern-Matching Toolkit [{Flexible Pattern Matching in Strings: Practical On-Line Search Algorithms for Texts and Biological Sequences}]", journal = j-COMPUTER, volume = "35", number = "9", pages = "81--81", month = sep, year = "2002", CODEN = "CPTRB4", ISSN = "0018-9162 (print), 1558-0814 (electronic)", ISSN-L = "0018-9162", bibdate = "Fri Dec 12 19:31:51 MST 2003", bibsource = "https://www.math.utah.edu/pub/tex/bib/computer2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://csdl.computer.org/dl/mags/co/2002/09/r9081.htm; http://csdl.computer.org/dl/mags/co/2002/09/r9081.pdf", acknowledgement = ack-nhfb, fjournal = "Computer", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2", } @Article{Makinen:2002:LSB, author = "Veli M{\"a}kinen and Esko Ukkonen", title = "Local Similarity Based Point-Pattern Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "2373", pages = "115--??", year = "2002", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Tue Sep 10 19:09:57 MDT 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2373.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2373/23730115.htm; http://link.springer-ny.com/link/service/series/0558/papers/2373/23730115.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Michailidis:2002:PSL, author = "Panagiotis D. Michailidis and Konstantinos G. Margaritis", title = "A Performance Study of Load Balancing Strategies for Approximate String Matching on an {MPI} Heterogeneous System Environment", journal = j-LECT-NOTES-COMP-SCI, volume = "2474", pages = "432--??", year = "2002", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Nov 30 20:57:35 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2474.htm; https://www.math.utah.edu/pub/tex/bib/pvm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.de/link/service/series/0558/bibs/2474/24740432.htm; http://link.springer.de/link/service/series/0558/papers/2474/24740432.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Morris:2002:AGJ, author = "D. S. Morris", title = "Automatically grading {Java} programming assignments via reflection, inheritance, and regular expressions", journal = j-FRONTIERS-EDU-CONF, volume = "1", number = "??", pages = "T3G-22--??", year = "2002", CODEN = "PFECDR", ISSN = "0190-5848", bibdate = "Tue Jan 28 10:12:35 MST 2003", bibsource = "https://www.math.utah.edu/pub/tex/bib/java2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; Ingenta database", acknowledgement = ack-nhfb, fjournal = "Frontiers in Education Conference", } @Article{Mouchaweh:2002:RLR, author = "Moamar Sayed Mouchaweh and Arnaud Devillez and Gerard Villermain Lecolier and Patrice Billaudel", title = "Recursive learning in real time using fuzzy pattern matching", journal = j-MATH-COMPUT-SIMUL, volume = "60", number = "3--5", pages = "209--216", day = "30", month = sep, year = "2002", CODEN = "MCSIDR", DOI = "https://doi.org/10.1016/S0378-4754(02)00015-0", ISSN = "0378-4754 (print), 1872-7166 (electronic)", ISSN-L = "0378-4754", bibdate = "Sat Aug 16 17:00:03 MDT 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/mathcomputsimul2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.sciencedirect.com/science/article/pii/S0378475402000150", acknowledgement = ack-nhfb, ajournal = "Math. Comput. Simul.", fjournal = "Mathematics and Computers in Simulation", journal-URL = "https://www.sciencedirect.com/science/journal/03784754", } @Book{Navarro:2002:FPM, author = "Gonzalo Navarro and Mathieu Raffinot", title = "Flexible pattern matching in strings: practical on-line search algorithms for texts and biological sequences", publisher = pub-CAMBRIDGE, address = pub-CAMBRIDGE:adr, pages = "x + 221", year = "2002", ISBN = "0-521-81307-7 (hardcover)", ISBN-13 = "978-0-521-81307-5 (hardcover)", LCCN = "QA76.9.A43 N38 2002", bibdate = "Sat Mar 5 11:23:16 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; z3950.loc.gov:7090/Voyager", URL = "http://www.dcc.uchile.cl/~gnavarro/FPMbook/; http://www.loc.gov/catdir/description/cam022/2001043704.html; http://www.loc.gov/catdir/toc/cam023/2001043704.html", acknowledgement = ack-nhfb, author-dates = "1969--", subject = "Computer algorithms; Database searching", tableofcontents = "1 Introduction / 1 \\ 1.1 Why this book? Our aim and focus / 1 \\ 1.2 Overview / 3 \\ 1.3 Basic concepts / 8 \\ 1.3.1 Bit-parallelism and bit operations / 8 \\ 1.3.2 Labeled rooted tree, trie / 9 \\ 1.3.3 Automata / 11 \\ 1.3.4 Complexity notations / 12 \\ 2 String matching / 15 \\ 2.1 Basic concepts / 15 \\ 2.2 Prefix based approach / 17 \\ 2.2.1 Knuth--Morris--Pratt idea / 18 \\ 2.2.2 Shift--And/Shift--Or algorithm / 19 \\ 2.3 Suffix based approach / 22 \\ 2.3.1 Boyer--Moore idea / 22 \\ 2.3.2 Horspool algorithm / 25 \\ 2.4 Factor based approach / 27 \\ 2.4.1 Backward Dawg Matching idea / 28 \\ 2.4.2 Backward Nondeterministic Dawg Matching algorithm / 29 \\ 2.4.3 Backward Oracle Matching algorithm / 34 \\ 2.5 Experimental map / 38 \\ 2.6 Other algorithms and references / 39 \\ 3 Multiple string matching / 41 \\ 3.1 Basic concepts / 45 \\ 3.2 Prefix based approach / 45 \\ 3.2.1 Multiple Shift--And algorithm / 45 \\ 3.2.2 Basic Aho--Corasick algorithm / 49 \\ 3.2.3 Advanced Aho--Corasick algorithm / 54 \\ 3.3 Suffix based approach / 54 \\ 3.3.1 Commentz--Walter idea / 55 \\ 3.3.2 Set Horspool algorithm / 56 \\ 3.3.3 Wu--Manber algorithm / 59 \\ 3.4 Factor based approach / 62 \\ 3.4.1 Multiple BNDM algorithm / 63 \\ 3.4.2 Set Backward Dawg Matching idea / 68 \\ 3.4.3 Set Backward Oracle Matching algorithm / 69 \\ 3.5 Experimental maps / 74 \\ 3.6 Other algorithms and references / 74 \\ 4 Extended string matching / 77 \\ 4.1 Basic concepts / 77 \\ 4.2 Classes of characters / 78 \\ 4.2.1 Classes in the pattern / 78 \\ 4.2.2 Classes in the text / 80 \\ 4.3 Bounded length gaps / 81 \\ 4.3.l Extending Shift--And / 82 \\ 4.3.2 Extending BNDM / 84 \\ 4.4 Optional characters / 87 \\ 4.5 Wild cards and repeatable characters / 89 \\ 4.5.1 Extended Shift--And / 91 \\ 4.5.2 Extended BNDM / 93 \\ 4.6 Multipattern searching / 96 \\ 4.7 Other algorithms and references / 97 \\ 5 Regular expression matching / 99 \\ 5.1 Basic concepts / 99 \\ 5.2 Building an NFA / 102 \\ 5.2.1 Thompson automaton / 102 \\ 5.2.2 Glushkov automaton / 105 \\ 5.3 Classical approaches to regular expression searching / 111 \\ 5.3.1 Thompson's NFA simulation / 111 \\ 5.3.2 Using a deterministic automaton / 111 \\ 5.3.3 A hybrid approach / 115 \\ 5.4 Bit-parallel algorithms / 117 \\ 5.4.1 Bit-parallel Thompson / 118 \\ 5.4.2 Bit-parallel Glushkov / 122 \\ 5.5 Filtration approaches / 125 \\ 5.5.1 Multistring matching approach / 126 \\ 5.5.2 Gnu's heuristic based on necessary factors / 130 \\ 5.5.3 An approach based on BNDM / 131 \\ 5.6 Experimental map / 137 \\ 5.7 Other algorithms and references / 139 \\ 5.8 Building a parse tree / 139 \\ 6 Approximate matching / 145 \\ 6.1 Basic concepts / 145 \\ 6.2 Dynamic programming algorithms / 146 \\ 6.2.1 Computing edit distance / 146 \\ 6.2.2 Text searching / 147 \\ 6.2.3 Improving the average case / 148 \\ 6.2.4 Other algorithms based on dynamic programming / 150 \\ 6.3 Algorithms based on automata / 150 \\ 6.4 Bit-parallel algorithms / 152 \\ 6.4.1 Parallelizing the NFA / 152 \\ 6.4.2 Parallelizing the DP matrix / 158 \\ 6.5 Algorithms for fast filtering the text / 162 \\ 6.5.1 Partitioning into k + 1 pieces / 163 \\ 6.5.2 Approximate BNDM / 166 \\ 6.5.3 Other filtration algorithms / 170 \\ 6.6 Multipattern approximate searching / 171 \\ 6.6.1 A hashing based algorithm for one error / 171 \\ 6.6.2 Partitioning into k + 1 pieces / 173 \\ 6.6.3 Superimposed automata / 174 \\ 6.7 Searching for extended strings and regular expressions / 175 \\ 6.7.1 A dynamic programming based approach / 176 \\ 6.7.2 A Four-Russians approach / 178 \\ 6.7.3 A bit-parallel approach / 180 \\ 6.8 Experimental map / 181 \\ 6.9 Other algorithms and references / 183 \\ 7 Conclusion / 185 \\ 7.1 Available software / 185 \\ 7.1.1 Gnu Grep / 185 \\ 7.1.2 Wu and Manber's Agrep / 186 \\ 7.1.3 Navarro's Nrgrep / 187 \\ 7.1.4 Mehldau and Myers' Anrep / 188 \\ 7.1.5 Other resources for computational biology / 189 \\ 7.2 Other books / 190 \\ 7.2.1 Books on string matching / 190 \\ 7.2.2 Books on computational biology / 192 \\ 7.3 Other resources / 193 \\ 7.3.1 Journals / 193 \\ 7.3.2 Conferences / 193 \\ 7.3.3 On-line resources / 194 \\ 7.4 Related topics / 194 \\ 7.4.1 Indexing / 195 \\ 7.4.2 Searching compressed text / 196 \\ 7.4.3 Repeats and repetitions / 199 \\ 7.4.4 Pattern matching in two and more dimensions / 200 \\ 7.4.5 Tree pattern matching / 202 \\ 7.4.6 Sequence comparison / 203 \\ 7.4.7 Meaningful string occurrences / 205 \\ Bibliography / 207 \\ Index / 219", } @Article{Nedjah:2002:ECD, author = "Nadia Nedjah and Luiza de Macedo Mourelle", title = "Efficient concise deterministic pattern-matching automata for ambiguous patterns", journal = j-SIGPLAN, volume = "37", number = "2", pages = "57--67", month = feb, year = "2002", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Thu May 15 12:22:59 MDT 2003", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", } @Article{Nedjah:2002:OAP, author = "Nadia Nedjah and Luiza de Macedo Mourelle", title = "Optimal Adaptive Pattern Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "2358", pages = "768--??", year = "2002", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Tue Sep 10 19:09:48 MDT 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2358.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2358/23580768.htm; http://link.springer-ny.com/link/service/series/0558/papers/2358/23580768.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Nedjah:2002:PMC, author = "Nadia Nedjah and Luiza {De Macedo Mourelle}", title = "Pattern Matching Code Minimization in Rewriting-Based Programming Languages", journal = j-INT-J-FOUND-COMP-SCI, volume = "13", number = "6", pages = "873--??", month = dec, year = "2002", CODEN = "IFCSEN", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Thu Jan 6 06:10:32 MST 2005", bibsource = "http://ejournals.wspc.com.sg/ijfcs/mkt/archive.shtml; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Park:2002:EQP, author = "Chang-Won Park and Chin-Wan Chung", title = "An effective query pruning technique for multiple regular path expressions", journal = j-J-SYST-SOFTW, volume = "64", number = "3", pages = "219--233", day = "15", month = dec, year = "2002", CODEN = "JSSODM", ISSN = "0164-1212 (print), 1873-1228 (electronic)", ISSN-L = "0164-1212", bibdate = "Sat Oct 25 07:14:11 MDT 2003", bibsource = "http://www.sciencedirect.com/science/journal/01641212; https://www.math.utah.edu/pub/tex/bib/jsystsoftw.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "The Journal of systems and software", journal-URL = "http://www.sciencedirect.com/science/journal/01641212", } @Article{Petersen:2002:MPR, author = "Holger Petersen", title = "The Membership Problem for Regular Expressions with Intersection Is Complete in {LOGCFL}", journal = j-LECT-NOTES-COMP-SCI, volume = "2285", pages = "513--??", year = "2002", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Tue Sep 10 19:09:12 MDT 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2285.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2285/22850513.htm; http://link.springer-ny.com/link/service/series/0558/papers/2285/22850513.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Book{Quigley:2002:USE, author = "Ellie Quigley", title = "{UNIX} Shells by Example", publisher = pub-PHPTR, address = pub-PHPTR:adr, edition = "Third", pages = "xix + 1015", year = "2002", ISBN = "0-13-066538-X (paperback)", ISBN-13 = "978-0-13-066538-6 (paperback)", LCCN = "QA76.76.O63 Q54 2002", bibdate = "Tue Sep 17 05:57:21 MDT 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", abstract = "Learn shell programming hands-on, with the new Third Edition of the world's \#1 UNIX shells tutorial and reference! --- Comprehensive coverage of all five leading UNIX shells --- including extensive new coverage of bash and tcsh! --- Teaches by examples proven in Ellie Quigley's legendary Silicon Valley shell programming courses! --- CD-ROM contains all source code and data files used in the book --- an extraordinary resource for every UNIX shell programmer. \booktitle{UNIX Shells by Example}, Third Edition is your complete, step-by-step guide to all five essential UNIX shells --- bash, tcsh, C, Bourne, and Korn --- and all three essential UNIX shell programming utilities, awk, sed and grep. This new Third Edition is better than ever, with hundreds of completely updated, classroom-proven examples from Silicon Valley's top UNIX and Linux instructor, Ellie Quigley. Starting with the basics, Quigley gets you all the way to expert-level techniques. Along the way, you'll learn what UNIX shells are, what they do, and how they integrate with other UNIX utilities and processes. You'll master creating, running, and debugging shell scripts; using grep, egrep and ggrep; working with sed, and much more. This edition contains extensive new coverage of bash and tcsh, as well as hundreds of updated and classroom-tested examples for all five leading shells. It contains hands-on exercises for every topic, an appendix with detailed syntax listings, comparison charts, and much more. For all.", acknowledgement = ack-nhfb, keywords = "UNIX (computer file); UNIX shells", tableofcontents = "1: Introduction to UNIX Shells \\ 2: The UNIX Toolbox \\ 3: The grep Family \\ 4: sed, the Streamlined Editor \\ 5: The awk Utility: awk as a UNIX Tool \\ 6: The awk Utility: awk Programming Constructs \\ 7: The awk Utility: awk Programming \\ 8: The Interactive Bourne Shell \\ 9: The C Shell \\ 10: The Korn Shell \\ 11: The Interactive bash Shell \\ 12: Programming with the bash Shell \\ 13: The Interactive TC Shell \\ A: Useful UNIX Utilities for Shell Programmers \\ B: Comparison of the Shells \\ C: Steps for Using Quoting Correctly", } @InProceedings{Rautio:2002:SMSa, author = "J. Rautio and J. Tanninen and J. Tarhio", title = "String matching with stopper compression", crossref = "Storer:2002:DPD", pages = "??--??", year = "2002", DOI = "https://doi.org/10.1109/DCC.2002.1000012", bibdate = "Tue Feb 5 14:07:05 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1000012", acknowledgement = ack-nhfb, } @Article{Rautio:2002:SMSb, author = "Jussi Rautio and Jani Tanninen and Jorma Tarhio", title = "String Matching with Stopper Encoding and Code Splitting", journal = j-LECT-NOTES-COMP-SCI, volume = "2373", pages = "42--??", year = "2002", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue Sep 10 19:09:57 MDT 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2373.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2373/23730042.htm; http://link.springer-ny.com/link/service/series/0558/papers/2373/23730042.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Robles-Kelly:2002:SED, author = "Antonio Robles-Kelly and Edwin R. Hancock", title = "String Edit Distance, Random Walks and Graph Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "2396", pages = "104--??", year = "2002", CODEN = "LNCSD9", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue Sep 10 19:10:12 MDT 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2396.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2396/23960104.htm; http://link.springer-ny.com/link/service/series/0558/papers/2396/23960104.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Sarmiento:2002:SAS, author = "Evan Sarmiento", title = "Systems Administration with {\tt scsh}", journal = j-SYS-ADMIN, volume = "11", number = "1", pages = "16, 18--22", month = jan, year = "2002", CODEN = "SYADE7", ISSN = "1061-2688", bibdate = "Fri Feb 08 11:17:41 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Sarmiento introduces a package called {\tt scsh} (the Scheme shell), which provides a set of macros for the Scheme programming language adding the ability to call on all standard UNIX system calls and add regular expressions.", acknowledgement = ack-nhfb, fjournal = "Sys admin: the journal for UNIX system administrators", } @Article{Sidi:2002:NCR, author = "Avram Sidi", title = "New convergence results on the generalized {Richardson} extrapolation process {GREP$^{(1)}$} for logarithmic sequences", journal = j-MATH-COMPUT, volume = "71", number = "240", pages = "1569--1596", month = oct, year = "2002", CODEN = "MCMPAF", ISSN = "0025-5718 (print), 1088-6842 (electronic)", ISSN-L = "0025-5718", bibdate = "Fri Nov 22 10:22:25 MST 2002", bibsource = "http://www.ams.org/mcom/2002-71-240; https://www.math.utah.edu/pub/tex/bib/mathcomp2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.ams.org/journal-getitem?pii=S0025-5718-01-01384-9; http://www.ams.org/mcom/2002-71-240/S0025-5718-01-01384-9/S0025-5718-01-01384-9.dvi; http://www.ams.org/mcom/2002-71-240/S0025-5718-01-01384-9/S0025-5718-01-01384-9.pdf; http://www.ams.org/mcom/2002-71-240/S0025-5718-01-01384-9/S0025-5718-01-01384-9.ps; http://www.ams.org/mcom/2002-71-240/S0025-5718-01-01384-9/S0025-5718-01-01384-9.tex", acknowledgement = ack-nhfb, fjournal = "Mathematics of Computation", journal-URL = "http://www.ams.org/mcom/", } @Article{Stomp:2002:CSP, author = "Frank Stomp", title = "Correctness of substring-preprocessing in {Boyer--Moore}'s pattern matching algorithm", journal = j-THEOR-COMP-SCI, volume = "290", number = "1", pages = "59--78", month = oct, year = "2002", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Wed Nov 20 18:15:29 MST 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2000.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Takeda:2002:PTF, author = "Masayuki Takeda and Satoru Miyamoto and Takuya Kida and Ayumi Shinohara and Shuichi Fukamachi and Takeshi Shinohara and Setsuo Arikawa", title = "Processing Text Files as Is: Pattern Matching over Compressed Texts, Multi-byte Character Texts, and Semi-structured Texts", journal = j-LECT-NOTES-COMP-SCI, volume = "2476", pages = "170--??", year = "2002", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Sat Nov 30 20:57:37 MST 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2476.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.de/link/service/series/0558/bibs/2476/24760170.htm; http://link.springer.de/link/service/series/0558/papers/2476/24760170.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Vialette:2002:PMP, author = "St{\'e}phane Vialette", title = "Pattern Matching Problems over $2$-Interval Sets", journal = j-LECT-NOTES-COMP-SCI, volume = "2373", pages = "53--??", year = "2002", CODEN = "LNCSD9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Tue Sep 10 19:09:57 MDT 2002", bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2373.htm; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2373/23730053.htm; http://link.springer-ny.com/link/service/series/0558/papers/2373/23730053.pdf", acknowledgement = ack-nhfb, fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Ager:2003:FPE, author = "Mads Sig Ager and Olivier Danvy and Henning Korsholm Rohde", title = "Fast partial evaluation of pattern matching in strings", journal = j-SIGPLAN, volume = "38", number = "10", pages = "243--249", month = oct, year = "2003", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Mon Dec 22 16:55:47 MST 2003", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", } @Article{Baba:2003:NRA, author = "K. Baba and A. Shinohara and M. Takeda and S. Inenaga and S. Arikawa", title = "A Note on Randomized Algorithm for String Matching with Mismatches", journal = j-NORDIC-J-COMPUT, volume = "10", number = "1", pages = "2--??", month = "Spring", year = "2003", CODEN = "NJCOFR", ISSN = "1236-6064", bibdate = "Wed Dec 24 09:24:58 2003", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Selected papers of the Prague Stringology Conference (PSC'02), September 23--24, 2002.", acknowledgement = ack-nhfb, fjournal = "Nordic Journal of Computing", } @Article{Benedikt:2003:DRF, author = "Michael Benedikt and Leonid Libkin and Thomas Schwentick and Luc Segoufin", title = "Definable relations and first-order query languages over strings", journal = j-J-ACM, volume = "50", number = "5", pages = "694--751", month = sep, year = "2003", CODEN = "JACOAH", DOI = "https://doi.org/10.1145/876638.876642", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Mon Sep 8 17:55:23 MDT 2003", bibsource = "http://portal.acm.org/; http://www.acm.org/pubs/toc/; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We study analogs of classical relational calculus in the context of strings. We start by studying string logics. Taking a classical model-theoretic approach, we fix a set of string operations and look at the resulting collection of definable relations. These form an algebra---a class of $n$-ary relations for every $n$, closed under projection and Boolean operations. We show that by choosing the string vocabulary carefully, we get string logics that have desirable properties: computable evaluation and normal forms. We identify five distinct models and study the differences in their model-theory and complexity of evaluation. We identify a subset of these models that have additional attractive properties, such as finite VC dimension and quantifier elimination.\par Once you have a logic, the addition of free predicate symbols gives you a string query language. The resulting languages have attractive closure properties from a database point of view: while SQL does not allow the full composition of string pattern-matching expressions with relational operators, these logics yield compositional query languages that can capture common string-matching queries while remaining tractable. For each of the logics studied in the first part of the article, we study properties of the corresponding query languages. We give bounds on the data complexity of queries, extend the normal form results from logics to queries, and show that the languages have corresponding algebras expressing safe queries.", acknowledgement = ack-nhfb, fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", } @Article{Buchsbaum:2003:FPM, author = "Adam L. Buchsbaum and Glenn S. Fowler and Balachannder Kirishnamurthy and Kiem-Phong Vo and Jia Wang", title = "Fast prefix matching of bounded strings", journal = j-ACM-J-EXP-ALGORITHMICS, volume = "8", pages = "1.3:1--1.3:??", month = "????", year = "2003", CODEN = "????", DOI = "https://doi.org/10.1145/996546.996550", ISSN = "1084-6654", ISSN-L = "1084-6654", bibdate = "Mon Oct 6 16:04:56 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/jea.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Longest Prefix Matching (LPM) is the problem of finding which string from a given set is the longest prefix of another, given string. LPM is a core problem in many applications, including IP routing, network data clustering, and telephone network management. These applications typically require very fast matching of bounded strings, i.e., strings that are short and based on small alphabets. We note a simple correspondence between bounded strings and natural numbers that maps prefixes to nested intervals so that computing the longest prefix matching a string is equivalent to finding the shortest interval containing its corresponding integer value. We then present {\em retries}, a fast and compact data structure for LPM on general alphabets. Performance results show that retries often outperform previously published data structures for IP look-up. By extending LPM to general alphabets, retries admit new applications that could not exploit prior LPM solutions designed for IP look-ups.", acknowledgement = ack-nhfb, articleno = "1.3", fjournal = "Journal of Experimental Algorithmics (JEA)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J430", keywords = "IP routing; prefix matching; table look-up; tries", } @Article{Campeanu:2003:FSP, author = "Cezar C{\^a}mpeanu and Kai Salomaa and Sheng Yu", title = "A Formal Study of Practical Regular Expressions", journal = j-INT-J-FOUND-COMP-SCI, volume = "14", number = "6", pages = "1007--??", month = dec, year = "2003", CODEN = "IFCSEN", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Thu Jan 06 08:16:34 2005", bibsource = "http://ejournals.wspc.com.sg/ijfcs/mkt/archive.shtml; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Chan:2003:RTE, author = "Chee-Yong Chan and Minos Garofalakis and Rajeev Rastogi", title = "{RE}-tree: an efficient index structure for regular expressions", journal = j-VLDB-J, volume = "12", number = "2", pages = "102--119", month = aug, year = "2003", CODEN = "VLDBFR", DOI = "https://doi.org/10.1007/s00778-003-0094-0", ISSN = "1066-8888 (print), 0949-877X (electronic)", ISSN-L = "1066-8888", bibdate = "Mon Jun 23 10:51:06 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbj.bib", abstract = "Due to their expressive power, regular expressions (REs) are quickly becoming an integral part of language specifications for several important application scenarios. Many of these applications have to manage huge databases of RE specifications and need to provide an effective matching mechanism that, given an input string, quickly identifies the REs in the database that match it. In this paper, we propose the RE-tree, a novel index structure for large databases of RE specifications. Given an input query string, the RE-tree speeds up the retrieval of matching REs by focusing the search and comparing the input string with only a small fraction of REs in the database. Even though the RE-tree is similar in spirit to other tree-based structures that have been proposed for indexing multidimensional data, RE indexing is significantly more challenging since REs typically represent infinite sets of strings with no well-defined notion of spatial locality. To address these new challenges, our RE-tree index structure relies on novel measures for comparing the relative sizes of infinite regular languages. We also propose innovative solutions for the various RE-tree operations including the effective splitting of RE-tree nodes and computing a `tight' bounding RE for a collection of REs. Finally, we demonstrate how sampling-based approximation algorithms can be used to significantly speed up the performance of RE-tree operations. Preliminary experimental results with moderately large synthetic data sets indicate that the RE-tree is effective in pruning the search space and easily outperforms naive sequential search approaches.", acknowledgement = ack-nhfb, fjournal = "VLDB Journal: Very Large Data Bases", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", keywords = "index structure; regular expressions; sampling-based approximations; size measures", } @Article{Cole:2003:TPM, author = "Richard Cole and Ramesh Hariharan", title = "Tree Pattern Matching to Subset Matching in Linear Time", journal = j-SIAM-J-COMPUT, volume = "32", number = "4", pages = "1056--1066", month = aug, year = "2003", CODEN = "SMJCAT", DOI = "https://doi.org/10.1137/S0097539700382704", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", bibdate = "Wed Aug 20 06:43:37 MDT 2003", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/32/4; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://epubs.siam.org/sam-bin/dbq/article/38270", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @Article{Crochemore:2003:OSH, author = "Maxime Crochemore and Costas S. Iliopoulos and Thierry Lecroq and Yoan J. Pinzon and Wojciech Plandowski and Wojciech Rytter", title = "Occurrence and Substring Heuristics for $ \delta $-Matching", journal = j-FUND-INFO, volume = "56", number = "1--2", pages = "1--21", month = jan, year = "2003", CODEN = "FUMAAJ", ISSN = "0169-2968 (print), 1875-8681 (electronic)", ISSN-L = "0169-2968", bibdate = "Sat Mar 5 17:00:54 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/fundinfo2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Fundamenta Informaticae", journal-URL = "http://content.iospress.com/journals/fundamenta-informaticae", } @TechReport{Davis:2003:URE, author = "Mark Davis", title = "{Unicode} Regular Expressions", type = "Proposed Update {Unicode} Technical Standard", number = "18", institution = pub-UNICODE, address = pub-UNICODE-SAN-JOSE:adr, day = "13", month = aug, year = "2003", bibdate = "Wed Aug 13 15:40:58 2003", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unicode.bib", URL = "http://www.unicode.org/reports/tr18/tr18-8.html", acknowledgement = ack-nhfb, } @Article{DeNicola:2003:NRE, author = "Rocco {De Nicola} and Anna Labella", title = "Nondeterministic regular expressions as solutions of equational systems", journal = j-THEOR-COMP-SCI, volume = "302", number = "1--3", pages = "179--189", day = "13", month = jun, year = "2003", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Wed Nov 5 08:45:40 MST 2003", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2000.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Fredriksson:2003:SSM, author = "Kimmo Fredriksson", title = "Shift-or string matching with super-alphabets", journal = j-INFO-PROC-LETT, volume = "87", number = "4", pages = "201--204", day = "31", month = aug, year = "2003", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon Jan 26 08:44:32 MST 2004", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Gasieniec:2003:TSE, author = "Leszek Gasieniec and Igor Potapov", title = "Time\slash Space Efficient Compressed Pattern Matching", journal = j-FUND-INFO, volume = "56", number = "1--2", pages = "137--154", month = jan, year = "2003", CODEN = "FUMAAJ", ISSN = "0169-2968 (print), 1875-8681 (electronic)", ISSN-L = "0169-2968", bibdate = "Sat Mar 5 17:00:54 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/fundinfo2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Fundamenta Informaticae", journal-URL = "http://content.iospress.com/journals/fundamenta-informaticae", } @Article{Gavrilov:2003:CEM, author = "Martin Gavrilov and Piotr Indyk and Rajeev Motwani and Suresh Venkatasubramanian", title = "Combinatorial and Experimental Methods for Approximate Point Pattern Matching", journal = j-ALGORITHMICA, volume = "38", number = "1", pages = "59--90", month = oct, year = "2003", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s00453-003-1043-4", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", MRclass = "68U05 (65D18 68T45)", MRnumber = "MR2056488 (2005a:68207)", bibdate = "Fri Jan 6 11:38:18 MST 2006", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0178-4617&volume=38&issue=1; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/index-table-a.html#algorithmica; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0178-4617&volume=38&issue=1&spage=59", acknowledgement = ack-nhfb, fjournal = "Algorithmica. An International Journal in Computer Science", journal-URL = "http://link.springer.com/journal/453", } @Article{Geffert:2003:TBR, author = "Viliam Geffert", title = "Translation of binary regular expressions into nondeterministic $ \epsilon $-free automata with {$ O(n \log n)$} transitions", journal = j-J-COMP-SYS-SCI, volume = "66", number = "3", pages = "451--472", month = may, year = "2003", CODEN = "JCSSBM", DOI = "https://doi.org/10.1016/S0022-0000(03)00036-9", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:26:50 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0022000003000369", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Book{Gennick:2003:ORE, author = "Jonathan Gennick and Peter Linsley", title = "{Oracle} regular expressions: pocket reference", publisher = pub-ORA-MEDIA, address = pub-ORA-MEDIA:adr, pages = "iv + 60", year = "2003", ISBN = "0-596-00601-2", ISBN-13 = "978-0-596-00601-3", LCCN = "QA76.9.T48 G46 2003", bibdate = "Thu Apr 21 09:25:42 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/ora.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; z3950.loc.gov:7090/Voyager", URL = "http://www.oreilly.com/catalog/9780596006013", acknowledgement = ack-nhfb, remark = "``Tutorial and quick reference'' --- cover. ``New in Oracle database 10g'' --- cover.", subject = "Oracle (Computer file); Handbooks, manuals, etc; Text processing (Computer science); Handbooks, manuals, etc; Electronic data processing; Handbooks, manuals, etc", } @Article{Hashiguchi:2003:RBE, author = "Kosaburo Hashiguchi and Yoshito Wada and Shuji Jimbo", title = "Regular binoid expressions and regular binoid languages", journal = j-THEOR-COMP-SCI, volume = "304", number = "1--3", pages = "291--313", day = "28", month = jul, year = "2003", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Wed Nov 5 08:45:44 MST 2003", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2000.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Heiberg:2003:TDF, author = "Einar Heiberg and Tino Ebbers and Lars Wigstr{\"o}m and Matts Karlsson", title = "Three-Dimensional Flow Characterization Using Vector Pattern Matching", journal = j-IEEE-TRANS-VIS-COMPUT-GRAPH, volume = "9", number = "3", pages = "313--319", month = jul # "\slash " # sep, year = "2003", CODEN = "ITVGEA", ISSN = "1077-2626 (print), 1941-0506 (electronic), 2160-9306", ISSN-L = "1077-2626", bibdate = "Sat Jan 3 13:59:27 MST 2004", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetransviscomputgraph.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://csdl.computer.org/comp/trans/tg/2003/03/v0313abs.htm; http://csdl.computer.org/dl/trans/tg/2003/03/v0313.pdf", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Visualization and Computer Graphics", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2945", } @Article{Hernandez:2003:DPD, author = "Manuel Hern{\'a}ndez and David A. Rosenblueth", title = "Disjunctive partial deduction of a right-to-left string-matching algorithm", journal = j-INFO-PROC-LETT, volume = "87", number = "5", pages = "235--241", day = "15", month = sep, year = "2003", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon Jan 26 08:44:32 MST 2004", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Hosoya:2003:REP, author = "Haruo Hosoya and Benjamin C. Pierce", title = "Regular expression pattern matching for {XML}", journal = j-J-FUNCT-PROGRAM, volume = "13", number = "6", pages = "961--1004", month = nov, year = "2003", CODEN = "JFPRES", DOI = "https://doi.org/10.1017/S0956796802004410", ISSN = "0956-7968 (print), 1469-7653 (electronic)", ISSN-L = "0956-7968", bibdate = "Tue Jul 11 18:02:37 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/jfunctprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.cambridge.org/core/product/C845B41E6B150FBD7731EE396FBCB911", acknowledgement = ack-nhfb, ajournal = "J. Funct. Program.", fjournal = "Journal of Functional Programming", journal-URL = "http://journals.cambridge.org/action/displayJournal?jid=JFP", onlinedate = "29 October 2003", } @Article{Kida:2003:CSU, author = "Takuya Kida and Tetsuya Matsumoto and Yusuke Shibata and Masayuki Takeda and Ayumi Shinohara and Setsuo Arikawa", title = "Collage system: a unifying framework for compressed pattern matching", journal = j-THEOR-COMP-SCI, volume = "298", number = "1", pages = "253--272", day = "4", month = apr, year = "2003", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Wed Nov 5 08:45:33 MST 2003", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2000.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Lee:2003:HOO, author = "Keunwoo Lee and Anthony LaMarca and Craig Chambers", title = "{HydroJ}: object-oriented pattern matching for evolvable distributed systems", journal = j-SIGPLAN, volume = "38", number = "11", pages = "205--223", month = nov, year = "2003", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sun Dec 14 09:18:34 MST 2003", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", } @Article{Lemstrom:2003:APM, author = "Kjell Lemstr{\"o}m and Lauri Hella", title = "Approximate pattern matching and transitive closure logics", journal = j-THEOR-COMP-SCI, volume = "299", number = "1--3", pages = "387--412", day = "18", month = apr, year = "2003", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Wed Nov 5 08:45:36 MST 2003", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2000.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Lemstrom:2003:TIP, author = "K. Lemstr{\"o}m and J. Tarhio", title = "Transposition Invariant Pattern Matching for Multi-Track Strings", journal = j-NORDIC-J-COMPUT, volume = "10", number = "3", pages = "185--??", month = "Fall", year = "2003", CODEN = "NJCOFR", ISSN = "1236-6064", bibdate = "Wed Dec 24 09:24:58 2003", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Nordic Journal of Computing", } @Article{Lifshits:2003:LBS, author = "Yuri Lifshits", title = "A lower bound on the size of $ \epsilon $-free {NFA} corresponding to a regular expression", journal = j-INFO-PROC-LETT, volume = "85", number = "6", pages = "293--299", day = "31", month = mar, year = "2003", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon Jan 26 08:44:31 MST 2004", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Michailidis:2003:PEL, author = "Panagiotis D. Michailidis and Konstantinos G. Margaritis", title = "Performance evaluation of load balancing strategies for approximate string matching application on an {MPI} cluster of heterogeneous workstations", journal = j-FUT-GEN-COMP-SYS, volume = "19", number = "7", pages = "1075--1104", month = oct, year = "2003", CODEN = "FGSEVI", ISSN = "0167-739X (print), 1872-7115 (electronic)", ISSN-L = "0167-739X", bibdate = "Sat Jan 10 10:03:37 MST 2004", bibsource = "https://www.math.utah.edu/pub/tex/bib/futgencompsys.bib; https://www.math.utah.edu/pub/tex/bib/pvm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Future Generation Computer Systems", journal-URL = "http://www.sciencedirect.com/science/journal/0167739X", remark = "Selected papers on Theoretical and Computational Aspects of Structural Dynamical Systems in Linear Algebra and Control.", } @Article{Misra:2003:DPS, author = "Jayadev Misra", title = "Derivation of a parallel string matching algorithm", journal = j-INFO-PROC-LETT, volume = "85", number = "5", pages = "255--260", day = "16", month = mar, year = "2003", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon Jan 26 08:44:31 MST 2004", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Mustafa:2003:MDS, author = "Suleiman H. Mustafa", title = "A morphology-driven string matching approach to {Arabic} text searching", journal = j-J-SYST-SOFTW, volume = "67", number = "2", pages = "77--87", day = "15", month = aug, year = "2003", CODEN = "JSSODM", ISSN = "0164-1212 (print), 1873-1228 (electronic)", ISSN-L = "0164-1212", bibdate = "Sat Oct 25 07:14:15 MDT 2003", bibsource = "http://www.sciencedirect.com/science/journal/01641212; https://www.math.utah.edu/pub/tex/bib/jsystsoftw.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "The Journal of systems and software", journal-URL = "http://www.sciencedirect.com/science/journal/01641212", } @Article{Navarro:2003:FSC, author = "Gonzalo Navarro and Mathieu Raffinot", title = "Fast and Simple Character Classes and Bounded Gaps Pattern Matching, with Applications to Protein Searching", journal = j-J-COMPUT-BIOL, volume = "10", number = "6", pages = "903--923", month = dec, year = "2003", CODEN = "JCOBEM", DOI = "https://doi.org/10.1089/106652703322756140", ISSN = "1066-5277 (print), 1557-8666 (electronic)", ISSN-L = "1066-5277", bibdate = "Sat Jun 1 09:47:34 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputbiol.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.liebertpub.com/doi/abs/10.1089/106652703322756140; https://www.liebertpub.com/doi/pdf/10.1089/106652703322756140", acknowledgement = ack-nhfb, fjournal = "Journal of Computational Biology", journal-URL = "https://www.liebertpub.com/loi/cmb/", onlinedate = "5 July 2004", } @Article{Nicodeme:2003:RSP, author = "Pierre Nicod{\`e}me", title = "Regexpcount, a symbolic package for counting problems on regular expressions and words", journal = j-FUND-INFO, volume = "56", number = "1--2", pages = "71--88", month = jan, year = "2003", CODEN = "FUMAAJ", ISSN = "0169-2968 (print), 1875-8681 (electronic)", ISSN-L = "0169-2968", bibdate = "Sat Mar 5 17:00:54 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/fundinfo2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Fundamenta Informaticae", journal-URL = "http://content.iospress.com/journals/fundamenta-informaticae", } @Article{Organtini:2003:LRE, author = "Giovanni Organtini", title = "Learning Regular Expressions", journal = j-LINUX-J, volume = "109", pages = "91--93", month = may, year = "2003", CODEN = "LIJOFX", ISSN = "1075-3583 (print), 1938-3827 (electronic)", ISSN-L = "1075-3583", bibdate = "Sat Apr 12 06:59:06 MDT 2003", bibsource = "http://noframes.linuxjournal.com/lj-issues/issue109/index.html; https://www.math.utah.edu/pub/tex/bib/linux-journal.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Discover a powerful, fast technique for text searching and filtering.", acknowledgement = ack-nhfb, fjournal = "Linux Journal", journal-URL = "http://portal.acm.org/citation.cfm?id=J508", } @InProceedings{Orpaz:2003:PMM, author = "A. Orpaz and S. Weiss", title = "Pattern matching by means of multi-resolution compression", crossref = "Storer:2003:DPD", pages = "??--??", year = "2003", DOI = "https://doi.org/10.1109/DCC.2003.1194060", bibdate = "Tue Feb 5 14:07:14 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1194060", acknowledgement = ack-nhfb, } @Article{Penna:2003:SRE, author = "Giuseppe Della Penna and Benedetto Intrigila and Enrico Tronci and others", title = "Synchronized regular expressions", journal = j-ACTA-INFO, volume = "39", number = "1", pages = "31--70", month = jan, year = "2003", CODEN = "AINFA2", DOI = "https://doi.org/10.1007/s00236-002-0099-y", ISSN = "0001-5903 (print), 1432-0525 (electronic)", ISSN-L = "0001-5903", bibdate = "Fri Jan 9 15:46:03 MST 2004", bibsource = "https://www.math.utah.edu/pub/tex/bib/actainfo.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Acta Informatica", journal-URL = "http://www.springerlink.com/content/0001-5903", } @Book{Reid:2003:BNS, author = "Paul Reid", title = "Biometrics and Network security", publisher = pub-PHPTR, address = pub-PHPTR:adr, pages = "320", year = "2003", ISBN = "0-13-101549-4", ISBN-13 = "978-0-13-101549-4", LCCN = "TK7882.B56 R45 2004", bibdate = "Wed Mar 13 13:43:08 MDT 2013", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = "Prentice Hall series in computer networking and distributed systems", acknowledgement = ack-nhfb, subject = "Computer security", tableofcontents = "Section 2: Biometric Technologies / 4 \\ Section 3: Implementing Biometrics for Network Security / 5 \\ Section 4: Future and Conclusions / 5 \\ Everything You Need to Know about Biometrics to Understand the First Three Chapters / 5 \\ What is a Biometric? / 5 \\ Enrollment, Template, Algorithm, and Verification / 6 \\ FAR, FRR, and FTE / 6 \\ Chapter 2: Authentication Technologies / 9 \\ Something You Have / 12 \\ Storage Tokens / 12 \\ Dynamic Tokens / 12 \\ Token Usability / 13 \\ Something You Are / 13 \\ The Need for Strong Authentication / 14 \\ Network Convergence Role in Password Proliferation / 14 \\ Mitigating Public Risk through Government Regulation / 16 \\ Mitigating the Risks from an Inside Threat / 18 \\ The Role of Strong Authentication with Single Sign-On (SSO) / 20 \\ Biometric Technologies: An Intelligent Solution / 21 \\ Chapter 3: Protecting Privacy with Biometrics and Policy / 23 \\ Employer's Right to Privacy / 25 \\ Protection of Trade Secrets and Proprietary Information / 25 \\ Protection of Personal Data about Employees and Customers / 26 \\ Background Checks / 28 \\ External Reporting and Auditing Requirements / 28 \\ Access Control / 32 \\ Employee's Right to Privacy / 32 \\ Protection of Personal Data Collected by the Employer / 32 \\ Creating a Positive Biometric Policy / 35 \\ Part 2: Biometric Technologies / 53 \\ Chapter 4: Biometric Technologies / 55 \\ User Interaction with Biometric Technology / 55 \\ Passive Biometrics / 55 \\ Active Biometrics / 56 \\ What Makes a Good Biometric? / 56 \\ User Acceptance / 57 \\ Ease of Use / 63 \\ Technology Cost / 64 \\ Deployability / 66 \\ Invasiveness of the Technology / 68 \\ Maturity of the Technology / 69 \\ Time It Takes for a User to Become Habituated / 69 \\ What Makes a Good Biometric for Network Security? / 70 \\ Chapter 5: Finger Biometric Technologies / 73 \\ General Description of Fingerprints / 74 \\ Macro Fingerprint Features / 74 \\ Micro Fingerprint Features / 77 \\ How Is the Finger Imaged? / 81 \\ Optical Scanners / 82 \\ Silicon Scanners / 83 \\ Types of Algorithms Used for Interpretation / 85 \\ Minutia-Based Algorithm / 85 \\ Pattern-Based Algorithm / 86 \\ Hybrid Algorithm / 86 \\ Which Algorithm Is Best? / 87 \\ How Can this Biometric be Spoofed? / 87 \\ Attacking the Physical Finger / 88 \\ Using Artifacts / 91 \\ Attacking the Communication Channels / 92 \\ Compromising the Template / 93 \\ Attacking the Fallback System / 94 \\ Chapter 6: Face Biometric Technologies / 97 \\ General Description of Face Biometrics / 98 \\ How Is the Face Imaged? / 98 \\ What Types of Algorithms Are Used for Facial Interpretation? / 98 \\ Eigenface / 99 \\ Local Feature Analysis / 100 \\ Neural Network / 100 \\ Automatic Face Processing / 102 \\ Which Algorithm Is Best? / 102 \\ How Can This Biometric Be Spoofed? / 105 \\ Attacking the Physical Face / 106 \\ Using Artifacts / 108 \\ Chapter 7: Voice Biometric Technologies / 109 \\ General Description of Voice Biometrics / 110 \\ How Is the Voice Captured? / 110 \\ Types of Algorithms Used for Voice Interpretation / 111 \\ Which Algorithm Is Best? / 113 \\ Recommended Voice Algorithm / 113 \\ How Can This Biometric Be Spoofed? / 114 \\ Attacking the Physical Voice / 114 \\ Chapter 8: Iris Biometric Technology / 117 \\ General Description of Iris Biometrics / 118 \\ How Is the Iris Captured? / 118 \\ Description of the Iris Algorithm / 118 \\ How Can This Biometric Be Spoofed? / 119 \\ Attacking the Physical Iris / 120 \\ Using Artifacts / 120 \\ Part 3: Implementing Biometrics for Network Security / 123 \\ Chapter 9: Recommended Biometric for Network Security / 125 \\ Finger Biometrics / 126 \\ Face Biometrics / 128 \\ Voice Biometrics / 132 \\ Iris Biometrics / 135 \\ The Choice of a Biometric for Network Access / 137 \\ Chapter 10: An Introduction to Statistical Measures of Biometrics / 141 \\ FAR / 141 \\ FRR / 144 \\ FTE / 146 \\ EER / 149 \\ The Simple Math / 150 \\ Why Is This Important? / 151 \\ What Measure Is Most Important? / 152 \\ Define the User Population / 152 \\ Is the Application for Verification or Identification? / 152 \\ Are Other Means of Authentication Available? / 153 \\ What Is the Importance of the Biometric Authentication? / 153 \\ Is It Driven by Convenience and Ease of Use? / 153 \\ Chapter 11: The Biometric Transaction / 155 \\ Securing and Trusting a Biometric Transaction / 155 \\ User / 156 \\ Biometric Reader / 157 \\ Matching Location / 166 \\ Local Host / 167 \\ Authentication Server / 168 \\ Match on Card (MOC) / 169 \\ Chapter 12: Preparing for the Proof of Concept and Selecting a Vendor / 173 \\ Define the Driver of the Project as Either Corporate IT or a Business Need / 174 \\ Define the Business Need or Objectives / 176 \\ Designate the Internal Sponsor of the Project / 178 \\ Define the Stakeholders / 180 \\ Define a Clear Set of Goals and Success Criteria for the Project / 182 \\ Form and Charter the POC Group / 184 \\ Based on the Goals and Success Criteria, Invite a Few Vendors to Pilot / 186 \\ Set the Timelines for the POC and Ensure That the Implementation Activities Are Done Within the Scope of the POC / 188 \\ Deploy the POC / 189 \\ Monitor and Evaluate the POC / 191 \\ Wrap Up the POC / 192 \\ Decide on the Validity of Each Vendor's Solution / 194 \\ Make a Go/No Go Decision to Move Ahead / 195 \\ Announce the Results and Lay the Groundwork for the Next Phase / 196 \\ Chapter 13: Preparing for the Pilot Deployment / 199 \\ Define the Group of Stakeholders / 200 \\ Put in Place a Project Management Team That Can See the Solution Through to Rollout / 200 \\ Form and Charter the Pilot Group / 201 \\ Develop Policy Documents / 203 \\ Summarize Daily Reports Weekly and Send Them Out / 205 \\ Address and Track Problems and Solutions As They Happen / 206 \\ Put a Training Plan in Place / 207 \\ Prepare Audit and Analysis Reports / 209 \\ Build and Test an Automated Install / 210 \\ Roll Out the Software and Hardware in a Practical Manner / 211 \\ Provide Mechanisms for Feedback / 212 \\ After Initial Pilot Rollout, Get the Executives Involved / 214 \\ Start Addressing Issues of Scalability and Manageability for Rollout / 215 \\ Near the End of the Pilot, Start Discussing the Next Steps / 217 \\ Wrap Up the Pilot / 217 \\ Make a Go/No Go Decision / 218 \\ Build a Transition Book / 219 \\ Chapter 14: Preparing for the Rollout / 223 \\ Part 4: Future and Conclusions / 227 \\ Chapter 15: The Future of Biometric Authentication / 229 \\ Will Biometrics Be Integrated Everywhere? / 229 \\ What Other Biometric Measures Will Exist? / 230 \\ A Futuristic Example: New Form of ``Caller ID'' 231", } @Book{Sklar:2003:PC, author = "David Sklar and Adam Trachtenberg", title = "{PHP} Cookbook", publisher = pub-ORA, address = pub-ORA:adr, pages = "xxi + 608", year = "2003", ISBN = "1-56592-681-1", ISBN-13 = "978-1-56592-681-3", LCCN = "QA76.73.P224 S56 2003", bibdate = "Mon Apr 18 14:58:00 MDT 2005", bibsource = "http://www.oreilly.com/catalog/prdindex.html; https://www.math.utah.edu/pub/tex/bib/ora.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; z3950.loc.gov:7090/Voyager", price = "US\$39.95", URL = "http://www.oreilly.com/catalog/9781565926813; http://www.oreilly.com/catalog/phpckbk", acknowledgement = ack-nhfb, publishersummary = "The PHP Cookbook is a collection of problems, solutions, and practical examples for PHP programmers. The book contains a unique and extensive collection of best practices for everyday PHP programming dilemmas. It contains over 250 recipes, ranging from simple tasks to entire programs that demonstrate complex tasks, such as printing HTML tables and generating bar charts -- a treasure trove of useful code for PHP programmers, from novices to advanced practitioners.", subject = "PHP (Computer program language); Internet programming; Web sites; Design", tableofcontents = "1. Strings / 1 \\ 1.1. Accessing Substrings / 3 \\ 1.2. Replacing Substrings / 5 \\ 1.3. Processing a String One Character at a Time / 6 \\ 1.4. Reversing a String by Word or Character / 7 \\ 1.5. Expanding and Compressing Tabs / 8 \\ 1.6. Controlling Case / 10 \\ 1.7. Interpolating Functions and Expressions Within Strings / 12 \\ 1.8. Trimming Blanks from a String / 13 \\ 1.9. Parsing Comma-Separated Data / 14 \\ 1.10. Parsing Fixed-Width Delimited Data / 15 \\ 1.11. Taking Strings Apart / 17 \\ 1.12. Wrapping Text at a Certain Line Length / 20 \\ 1.13. Storing Binary Data in Strings / 21 \\ 2. Numbers / 24 \\ 2.1. Checking Whether a String Contains a Valid Number / 25 \\ 2.2. Comparing Floating-Point Numbers / 26 \\ 2.3. Rounding Floating-Point Numbers / 27 \\ 2.4. Operating on a Series of Integers / 28 \\ 2.5. Generating Random Numbers Within a Range / 29 \\ 2.6. Generating Biased Random Numbers / 31 \\ 2.7. Taking Logarithms / 32 \\ 2.8. Calculating Exponents / 32 \\ 2.9. Formatting Numbers / 33 \\ 2.10. Printing Correct Plurals / 34 \\ 2.11. Calculating Trigonometric Functions / 36 \\ 2.12. Doing Trigonometry in Degrees, not Radians / 37 \\ 2.13. Handling Very Large or Very Small Numbers / 37 \\ 2.14. Converting Between Bases / 39 \\ 2.15. Calculating Using Numbers in Bases Other Than Decimal / 40 \\ 3. Dates and Times / 42 \\ 3.1. Finding the Current Date and Time / 43 \\ 3.2. Converting Time and Date Parts to an Epoch Timestamp / 46 \\ 3.3. Converting an Epoch Timestamp to Time and Date Parts / 47 \\ 3.4. Printing a Date or Time in a Specified Format / 48 \\ 3.5. Finding the Difference of Two Dates / 52 \\ 3.6. Finding the Difference of Two Dates with Julian Days / 54 \\ 3.7. Finding the Day in a Week, Month, Year, or the Week Number in a Year / 55 \\ 3.8. Validating a Date / 57 \\ 3.9. Parsing Dates and Times from Strings / 59 \\ 3.10. Adding to or Subtracting from a Date / 61 \\ 3.11. Calculating Time with Time Zones / 62 \\ 3.12. Accounting for Daylight Saving Time / 67 \\ 3.13. Generating a High-Precision Time / 68 \\ 3.14. Generating Time Ranges / 69 \\ 3.15. Using Non-Gregorian Calendars / 70 \\ 3.16. Program: Calendar / 71 \\ 4. Arrays / 75 \\ 4.1. Specifying an Array Not Beginning at Element 0 / 78 \\ 4.2. Storing Multiple Elements per Key in an Array / 79 \\ 4.3. Initializing an Array to a Range of Integers / 80 \\ 4.4. Iterating Through an Array / 81 \\ 4.5. Deleting Elements from an Array / 83 \\ 4.6. Changing Array Size / 85 \\ 4.7. Appending One Array to Another / 87 \\ 4.8. Turning an Array into a String / 89 \\ 4.9. Printing an Array with Commas / 91 \\ 4.10. Checking if a Key Is in an Array / 92 \\ 4.11. Checking if an Element Is in an Array / 92 \\ 4.12. Finding the Position of an Element in an Array / 94 \\ 4.13. Finding Elements That Pass a Certain Test / 95 \\ 4.14. Finding the Largest or Smallest Valued Element in an Array / 96 \\ 4.15. Reversing an Array / 97 \\ 4.16. Sorting an Array / 98 \\ 4.17. Sorting an Array by a Computable Field / 99 \\ 4.18. Sorting Multiple Arrays / 101 \\ 4.19. Sorting an Array Using a Method Instead of a Function / 103 \\ 4.20. Randomizing an Array / 104 \\ 4.21. Shuffling a Deck of Cards / 105 \\ 4.22. Removing Duplicate Elements from an Array / 106 \\ 4.23. Finding the Union, Intersection, or Difference of Two Arrays / 107 \\ 4.24. Finding All Element Combinations of an Array / 109 \\ 4.25. Finding All Permutations of an Array / 111 \\ 4.26. Program: Printing an Array in a Horizontally Columned HTML Table / 114 \\ 5. Variables / 117 \\ 5.1. Avoiding == Versus = Confusion / 118 \\ 5.2. Establishing a Default Value / 119 \\ 5.3. Exchanging Values Without Using Temporary Variables / 120 \\ 5.4. Creating a Dynamic Variable Name / 120 \\ 5.5. Using Static Variables / 122 \\ 5.6. Sharing Variables Between Processes / 123 \\ 5.7. Encapsulating Complex Data Types as a String / 125 \\ 5.8. Dumping Variable Contents as Strings / 127 \\ 6. Functions / 131 \\ 6.1. Accessing Function Parameters / 132 \\ 6.2. Setting Default Values for Function Parameters / 133 \\ 6.3. Passing Values by Reference / 135 \\ 6.4. Using Named Parameters / 136 \\ 6.5. Creating Functions That Take a Variable Number of Arguments / 137 \\ 6.6. Returning Values by Reference / 140 \\ 6.7. Returning More Than One Value / 140 \\ 6.8. Skipping Selected Return Values / 142 \\ 6.9. Returning Failure / 143 \\ 6.10. Calling Variable Functions / 144 \\ 6.11. Accessing a Global Variable Inside a Function / 145 \\ 6.12. Creating Dynamic Functions / 147 \\ 7. Classes and Objects / 148 \\ 7.1. Instantiating Objects / 152 \\ 7.2. Defining Object Constructors / 153 \\ 7.3. Destroying an Object / 154 \\ 7.4. Cloning Objects / 154 \\ 7.5. Assigning Object References / 155 \\ 7.6. Calling Methods on an Object Returned by Another Method / 156 \\ 7.7. Accessing Overridden Methods / 157 \\ 7.8. Using Property Overloading / 159 \\ 7.9. Using Method Polymorphism / 160 \\ 7.10. Finding the Methods and Properties of an Object / 163 \\ 7.11. Adding Properties to a Base Object / 164 \\ 7.12. Creating a Class Dynamically / 165 \\ 7.13. Instantiating an Object Dynamically / 166 \\ 8. Web Basics / 168 \\ 8.1. Setting Cookies / 169 \\ 8.2. Reading Cookie Values / 171 \\ 8.3. Deleting Cookies / 171 \\ 8.4. Redirecting to a Different Location / 172 \\ 8.5. Using Session Tracking / 173 \\ 8.6. Storing Sessions in a Database / 175 \\ 8.7. Detecting Different Browsers / 179 \\ 8.8. Building a GET Query String / 180 \\ 8.9. Using HTTP Basic Authentication / 182 \\ 8.10. Using Cookie Authentication / 184 \\ 8.11. Flushing Output to the Browser / 187 \\ 8.12. Buffering Output to the Browser / 187 \\ 8.13. Compressing Web Output with gzip / 189 \\ 8.14. Hiding Error Messages from Users / 190 \\ 8.15. Tuning Error Handling / 191 \\ 8.16. Using a Custom Error Handler / 193 \\ 8.17. Logging Errors / 194 \\ 8.18. Eliminating ``headers already sent'' Errors / 195 \\ 8.19. Logging Debugging Information / 197 \\ 8.20. Reading Environment Variables / 199 \\ 8.21. Setting Environment Variables / 200 \\ 8.22. Reading Configuration Variables / 201 \\ 8.23. Setting Configuration Variables / 202 \\ 8.24. Communicating Within Apache / 203 \\ 8.25. Profiling Code / 204 \\ 8.26. Program: Website Account (De)activator / 208 \\ 8.27. Program: Abusive User Checker / 210 \\ 9. Forms / 216 \\ 9.1. Processing Form Input / 218 \\ 9.2. Validating Form Input / 219 \\ 9.3. Working with Multipage Forms / 221 \\ 9.4. Redisplaying Forms with Preserved Information and Error Messages / 224 \\ 9.5. Guarding Against Multiple Submission of the Same Form / 227 \\ 9.6. Processing Uploaded Files / 229 \\ 9.7. Securing PHP's Form Processing / 231 \\ 9.8. Escaping Control Characters from User Data / 233 \\ 9.9. Handling Remote Variables with Periods in Their Names / 234 \\ 9.10. Using Form Elements with Multiple Options / 235 \\ 9.11. Creating Dropdown Menus Based on the Current Date / 236 \\ 10. Database Access / 238 \\ 10.1. Using Text-File Databases / 243 \\ 10.2. Using DBM Databases / 244 \\ 10.3. Connecting to a SQL Database / 248 \\ 10.4. Querying a SQL Database / 250 \\ 10.5. Retrieving Rows Without a Loop / 252 \\ 10.6. Modifying Data in a SQL Database / 254 \\ 10.7. Repeating Queries Efficiently / 255 \\ 10.8. Finding the Number of Rows Returned by a Query / 257 \\ 10.9. Escaping Quotes / 258 \\ 10.10. Logging Debugging Information and Errors / 259 \\ 10.11. Assigning Unique ID Values Automatically / 262 \\ 10.12. Building Queries Programmatically / 263 \\ 10.13. Making Paginated Links for a Series of Records / 267 \\ 10.14. Caching Queries and Results / 272 \\ 10.15. Program: Storing a Threaded Message Board / 274 \\ 11. Web Automation / 281 \\ 11.1. Fetching a URL with the GET Method / 283 \\ 11.2. Fetching a URL with the POST Method / 285 \\ 11.3. Fetching a URL with Cookies / 287 \\ 11.4. Fetching a URL with Headers / 289 \\ 11.5. Fetching an HTTPS URL / 290 \\ 11.6. Debugging the Raw HTTP Exchange / 290 \\ 11.7. Marking Up a Web Page / 293 \\ 11.8. Extracting Links from an HTML File / 295 \\ 11.9. Converting ASCII to HTML / 296 \\ 11.10. Converting HTML to ASCII / 297 \\ 11.11. Removing HTML and PHP Tags / 298 \\ 11.12. Using Smarty Templates / 299 \\ 11.13. Parsing a Web Server Log File / 301 \\ 11.14. Program: Finding Stale Links / 303 \\ 11.15. Program: Finding Fresh Links / 305 \\ 12. XML / 309 \\ 12.1. Generating XML Manually / 311 \\ 12.2. Generating XML with the DOM / 313 \\ 12.3. Parsing XML with the DOM / 316 \\ 12.4. Parsing XML with SAX / 319 \\ 12.5. Transforming XML with XSLT / 323 \\ 12.6. Sending XML-RPC Requests / 326 \\ 12.7. Receiving XML-RPC Requests / 329 \\ 12.8. Sending SOAP Requests / 333 \\ 12.9. Receiving SOAP Requests / 336 \\ 12.10. Exchanging Data with WDDX / 338 \\ 12.11. Reading RSS Feeds / 340 \\ 13. Regular Expressions / 343 \\ 13.1. Switching From ereg to preg / 346 \\ 13.2. Matching Words / 348 \\ 13.3. Finding the nth Occurrence of a Match / 349 \\ 13.4. Choosing Greedy or Nongreedy Matches / 350 \\ 13.5. Matching a Valid Email Address / 352 \\ 13.6. Finding All Lines in a File That Match a Pattern / 355 \\ 13.7. Capturing Text Inside HTML Tags / 355 \\ 13.8. Escaping Special Characters in a Regular Expression / 357 \\ 13.9. Reading Records with a Pattern Separator / 359 \\ 14. Encryption and Security / 361 \\ 14.1. Keeping Passwords Out of Your Site Files / 362 \\ 14.2. Obscuring Data with Encoding / 363 \\ 14.3. Verifying Data with Hashes / 364 \\ 14.4. Storing Passwords / 366 \\ 14.5. Checking Password Strength / 367 \\ 14.6. Dealing with Lost Passwords / 369 \\ 14.7. Encrypting and Decrypting Data / 371 \\ 14.8. Storing Encrypted Data in a File or Database / 375 \\ 14.9. Sharing Encrypted Data with Another Web Site / 378 \\ 14.10. Detecting SSL / 380 \\ 14.11. Encrypting Email with GPG / 381 \\ 15. Graphics / 383 \\ 15.1. Drawing Lines, Rectangles, and Polygons 386", xxauthor = "Adam Trachtenberg and David Sklar", } @Book{Stubblebine:2003:REP, author = "Tony Stubblebine", title = "Regular expression pocket reference", publisher = pub-ORA, address = pub-ORA:adr, pages = "vi + 93", year = "2003", ISBN = "0-596-00415-X", ISBN-13 = "978-0-596-00415-6", LCCN = "QA76.9.T48 S78 2003", bibdate = "Mon Apr 18 15:06:11 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/ora.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; z3950.loc.gov:7090/Voyager", URL = "http://www.oreilly.com/catalog/9780596004156", acknowledgement = ack-nhfb, remark = "Regular expressions for Perl, C, PHP, Python, Java, and .NET.", subject = "Text processing (Computer science); Programming languages (Electronic computers); Syntax", } @Article{Watson:2003:BMS, author = "Bruce W. Watson and Richard E. Watson", title = "A {Boyer--Moore}-style algorithm for regular expression pattern matching", journal = j-SCI-COMPUT-PROGRAM, volume = "48", number = "2--3", pages = "99--117", month = aug # "\slash " # sep, year = "2003", CODEN = "SCPGD4", ISSN = "0167-6423 (print), 1872-7964 (electronic)", ISSN-L = "0167-6423", bibdate = "Sun Jan 11 10:42:04 MST 2004", bibsource = "http://www.elsevier.com/locate/issn/01676423; http://www.sciencedirect.com/science/journal/01676423; https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Science of Computer Programming", journal-URL = "http://www.sciencedirect.com/science/journal/01676423", } @Article{Watson:2003:NRG, author = "Bruce W. Watson", title = "A new regular grammar pattern matching algorithm", journal = j-THEOR-COMP-SCI, volume = "299", number = "1--3", pages = "509--521", day = "18", month = apr, year = "2003", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Wed Nov 5 08:45:36 MST 2003", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2000.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Xi:2003:DTP, author = "H. Xi", title = "Dependently Typed Pattern Matching", journal = j-J-UCS, volume = "9", number = "8", pages = "851--872", day = "28", month = aug, year = "2003", CODEN = "????", ISSN = "0948-695X (print), 0948-6968 (electronic)", ISSN-L = "0948-6968", bibdate = "Tue Dec 16 10:06:15 MST 2003", bibsource = "http://www.jucs.org/jucs; https://www.math.utah.edu/pub/tex/bib/jucs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.jucs.org/jucs_9_8/dependently_typed_pattern_matching", acknowledgement = ack-nhfb, fjournal = "J.UCS: Journal of Universal Computer Science", journal-URL = "http://www.jucs.org/jucs", } @Article{Yeh:2003:CMS, author = "Yi-Shiung Yeh and Ta-Shan Tsui", title = "A concurrent multi-string matching from multi-text algorithm based on the algorithm of {Hamiltonian} path problem and {DNA} computation", journal = j-J-DISCR-MATH-SCI-CRYPTO, volume = "7", number = "1", pages = "71--96", year = "2003", CODEN = "????", ISSN = "0972-0529", ISSN-L = "0972-0529", MRclass = "68W05 (68Q05 68R10)", MRnumber = "2063306", bibdate = "Thu Feb 16 15:41:55 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/jdiscrmathscicrypto.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, ajournal = "J. Discr. Math. Sci. Crypto.", fjournal = "Journal of Discrete Mathematical Sciences and Cryptography", } @InProceedings{Zhang:2003:APM, author = "Nan Zhang and A. Mukherjee and D. Adjeroh and T. Bell", title = "Approximate pattern matching using the {Burrows--Wheeler} transform", crossref = "Storer:2003:DPD", pages = "??--??", year = "2003", DOI = "https://doi.org/10.1109/DCC.2003.1194077", bibdate = "Tue Feb 5 14:07:14 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1194077", acknowledgement = ack-nhfb, } @Article{Amir:2004:FAS, author = "Amihood Amir and Moshe Lewenstein and Ely Porat", title = "Faster algorithms for string matching with $k$ mismatches", journal = j-J-ALG, volume = "50", number = "2", pages = "257--275", month = feb, year = "2004", CODEN = "JOALDV", DOI = "https://doi.org/10.1016/S0196-6774(03)00097-X", ISSN = "0196-6774 (print), 1090-2678 (electronic)", ISSN-L = "0196-6774", bibdate = "Tue Dec 11 09:20:36 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/jalg.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S019667740300097X", acknowledgement = ack-nhfb, fjournal = "Journal of Algorithms", journal-URL = "http://www.sciencedirect.com/science/journal/01966774", } @Article{Amir:2004:TDP, author = "Amihood Amir and Ayelet Butman and Maxime Crochemore and Gad M. Landau and Mary Schaps", title = "Two-dimensional pattern matching with rotations", journal = j-THEOR-COMP-SCI, volume = "314", number = "1--2", pages = "173--187", day = "25", month = feb, year = "2004", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Feb 9 08:35:35 MST 2004", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2000.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Book{Archer:2004:EMA, author = "Tom Archer and Nishant Sivakumar", title = "Extending {MFC} applications with the {.NET} framework", publisher = pub-AW, address = pub-AW:adr, pages = "xxvii + 626", year = "2004", ISBN = "0-321-17352-X (paperback)", ISBN-13 = "978-0-321-17352-2 (paperback)", LCCN = "QA76.76.A65 A69 2004", bibdate = "Wed Mar 13 13:43:00 MDT 2013", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://catdir.loc.gov/catdir/toc/ecip049/2003020714.html", acknowledgement = ack-nhfb, subject = "Microsoft foundation class library; Application software; Development; Microsoft .NET Framework", tableofcontents = "Combining MFC and Managed Extensions \\ Writing a Managed Extensions Application \\ Writing an MFC Application That Accesses .NET \\ Mixed-Mode Programming Issues \\ Avoiding Inadvertent \#define Side Effects \\ Allocating Reference Objects in MFC Debug Builds \\ Using String Literals and Converting Strings \\ Working with .NET Types \\ Defining and Using Managed Types \\ Boxing and Unboxing \\ Managed and Unmanaged Pointers \\ Managed Arrays \\ Destructors \\ Regular Expressions \\ Using the Regex Class to Split Strings \\ Splitting a String \\ Searching Strings with the Match and MatchCollection Classes \\ Processing Groups and Captures \\ Named Captures \\ Noncapturing Groups \\ Working with Captures \\ Parsing and Replacing Strings \\ Replacing Matches Using Groups and Substitution Patterns \\ Putting It All Together: Writing an E-mail Parser \\ Retrieving E-mails from Text \\ Doing Domain Counts \\ Demo Application to Parse for E-mail Information \\ A More Advanced E-mail Regular Expression \\ File I/O and Registry \\ Stream, Readers, and Writers in .NET \\ Using the FileStream Class \\ Using the MemoryStream and BufferedStream Classes \\ Text File Processing with StreamReader and StreamWriter \\ String Processing with the StringWriter and StringReader \\ Using the BinaryWriter and BinaryReader Classes \\ File System Classes \\ Acquiring File Information \\ Enumerating Files and Directories \\ Searching for Files \\ Sampling Some Typical File Operations \\ Monitoring Directories and Files for Changes \\ Parsing Paths", } @Article{Broberg:2004:REP, author = "Niklas Broberg and Andreas Farre and Josef Svenningsson", title = "Regular expression patterns", journal = j-SIGPLAN, volume = "39", number = "9", pages = "67--78", month = sep, year = "2004", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Thu Dec 2 05:49:56 MST 2004", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", } @Article{Butman:2004:SPS, author = "Ayelet Butman and Revital Eres and Gad M. Landau", title = "Scaled and permuted string matching", journal = j-INFO-PROC-LETT, volume = "92", number = "6", pages = "293--297", day = "31", month = dec, year = "2004", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu Mar 31 18:40:57 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Cerrito:2004:PMC, author = "Serenella Cerrito and Delia Kesner", title = "Pattern matching as cut elimination", journal = j-THEOR-COMP-SCI, volume = "323", number = "1--3", pages = "71--127", month = sep, year = "2004", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Thu Nov 4 10:19:18 MST 2004", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2000.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Champarnaud:2004:RWE, author = "Jean-Marc Champarnaud and {\'E}ric Laugerotte and Faissal Ouardi and Djelloul Ziadi", title = "From Regular Weighted Expressions To Finite Automata", journal = j-INT-J-FOUND-COMP-SCI, volume = "15", number = "5", pages = "687--??", month = oct, year = "2004", CODEN = "IFCSEN", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Thu Jan 06 08:22:08 2005", bibsource = "http://ejournals.wspc.com.sg/ijfcs/mkt/archive.shtml; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Choffrut:2004:SMO, author = "Ch. Choffrut and Y. Haddad", title = "String-matching with {OBDDs}", journal = j-THEOR-COMP-SCI, volume = "320", number = "2--3", pages = "187--198", day = "14", month = jun, year = "2004", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Thu Nov 4 10:19:17 MST 2004", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2000.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @InProceedings{Daptardar:2004:AKM, author = "A. Daptardar and D. Shapira", title = "Adapting the {Knuth--Morris--Pratt} algorithm for pattern matching in {Huffman} encoded texts", crossref = "Storer:2004:DCC", pages = "??--??", year = "2004", DOI = "https://doi.org/10.1109/DCC.2004.1281511", bibdate = "Tue Feb 5 14:07:23 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1281511", acknowledgement = ack-nhfb, } @TechReport{Davis:2004:URE, author = "Mark Davis", title = "{Unicode} Regular Expressions", type = "{Unicode} Technical Standard", number = "18", institution = pub-UNICODE, address = pub-UNICODE-SAN-JOSE:adr, edition = "9", day = "9", month = jan, year = "2004", bibdate = "Tue Apr 18 12:23:24 2000", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unicode.bib", URL = "http://www.unicode.org/unicode/reports/tr18/", acknowledgement = ack-nhfb, } @Article{deKretser:2004:SSE, author = "Owen de Kretser and Alistair Moffat", title = "{SEFT}: a search engine for text", journal = j-SPE, volume = "34", number = "10", pages = "1011--1023", month = aug, year = "2004", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.601", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat Apr 16 07:26:31 MDT 2005", bibsource = "http://www.interscience.wiley.com/jpages/0038-0644; http://www3.interscience.wiley.com/journalfinder.html; https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We present a software tool called seft which balances the convenience of search tools such as grep with the functionality of full-text index-based information retrieval. Based on a novel retrieval heuristic which uses term locality as a guide to relevance, seft combines the freedom of natural language queries with the benefits of a ranked answer list and easy inspection of retrieval results. While not as fast as grep-style tools, seft provides a valuable facility for impromptu personal information retrieval tasks.", acknowledgement = ack-nhfb, ajournal = "Softw. Pract. Exp.", fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", keywords = "information retrieval; string searching; text retrieval", onlinedate = "21 May 2004", } @Article{Efrat:2004:PMS, author = "Alon Efrat and Piotr Indyk and Suresh Venkatasubramanian", title = "Pattern Matching for Sets of Segments", journal = j-ALGORITHMICA, volume = "40", number = "3", pages = "147--160", month = aug, year = "2004", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s00453-004-1089-y", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", MRclass = "52B55 (65D18 68T40 68U05)", MRnumber = "MR2080514 (2005d:52027)", bibdate = "Fri Jan 6 11:42:46 MST 2006", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0178-4617&volume=40&issue=3; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/index-table-a.html#algorithmica; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0178-4617&volume=40&issue=3&spage=147", acknowledgement = ack-nhfb, fjournal = "Algorithmica. An International Journal in Computer Science", journal-URL = "http://link.springer.com/journal/453", } @Article{Fredriksson:2004:AOS, author = "Kimmo Fredriksson and Gonzalo Navarro", title = "Average-optimal single and multiple approximate string matching", journal = j-ACM-J-EXP-ALGORITHMICS, volume = "9", pages = "1.4:1--1.4:??", month = "????", year = "2004", CODEN = "????", DOI = "https://doi.org/10.1145/1005813.1041513", ISSN = "1084-6654", ISSN-L = "1084-6654", bibdate = "Mon Oct 6 16:05:22 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/jea.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We present a new algorithm for multiple approximate string matching. It is based on reading backwards enough l-grams from text windows so as to prove that no occurrence can contain the part of the window read, and then shifting the window. We show analytically that our algorithm is optimal on average. Hence our first contribution is to fill an important gap in the area, since no average-optimal algorithm existed for multiple approximate string matching. We consider several variants and practical improvements to our algorithm, and show experimentally that they are resistant to the number of patterns and the fastest for low difference ratios, displacing the long-standing best algorithms. Hence our second contribution is to give a practical algorithm for this problem, by far better than any existing alternative in many cases of interest. On real-life texts, our algorithm is especially interesting for computational biology applications. In particular, we show that our algorithm can be successfully used to search for one pattern, where many more competing algorithms exist. Our algorithm is also average-optimal in this case, being the second after that of Chang and Marr. However, our algorithm permits higher difference ratios than Chang and Marr, and this is our third contribution. In practice, our algorithm is competitive in this scenario too, being the fastest for low difference ratios and moderate alphabet sizes. This is our fourth contribution, which also answers affirmatively the question of whether a practical average-optimal approximate string-matching algorithm existed.", acknowledgement = ack-nhfb, articleno = "1.4", fjournal = "Journal of Experimental Algorithmics (JEA)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J430", keywords = "algorithms; approximate string matching; biological sequences; multiple string matching; optimality", } @Article{Fredriksson:2004:ESM, author = "Kimmo Fredriksson and Jorma Tarhio", title = "Efficient String Matching in {Huffman} Compressed Texts", journal = j-FUND-INFO, volume = "63", number = "1", pages = "1--16", month = jan, year = "2004", CODEN = "FUMAAJ", ISSN = "0169-2968 (print), 1875-8681 (electronic)", ISSN-L = "0169-2968", bibdate = "Sat Mar 5 17:02:27 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/fundinfo2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Fundamenta Informaticae", journal-URL = "http://content.iospress.com/journals/fundamenta-informaticae", } @InProceedings{Frisch:2004:GRE, author = "Alain Frisch and Luca Cardelli", editor = "Josep D{\'\i}az and Juhani Karhum{\"a}ki and Arto Lepist{\"o} and Donald Sannella", booktitle = "Automata, Languages and Programming: {31st International Colloquium, ICALP 2004, Turku, Finland, July 12--16, 2004, Proceedings}", title = "Greedy Regular Expression Matching", volume = "3142", publisher = pub-SV, address = pub-SV:adr, pages = "618--629", year = "2004", DOI = "https://doi.org/10.1007/978-3-540-27836-8_53", bibdate = "Fri Sep 22 12:56:57 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/b99859", } @Article{Gaal:2004:DSF, author = "Tam{\'a}s Ga{\'a}l", title = "Deciding sequentiability of finite-state transducers by finite-state pattern-matching", journal = j-THEOR-COMP-SCI, volume = "313", number = "1", pages = "105--117", day = "16", month = feb, year = "2004", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Feb 9 08:35:35 MST 2004", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2000.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Galil:2004:TDP, author = "Zvi Galil and Jong Geun Park and Kunsoo Park", title = "Three-Dimensional Periodicity and Its Application to Pattern Matching", journal = j-SIAM-J-DISCR-MATH, volume = "18", number = "2", pages = "362--381", year = "2004", CODEN = "SJDMEC", DOI = "https://doi.org/10.1137/S0895480101390308", ISSN = "0895-4801 (print), 1095-7146 (electronic)", ISSN-L = "0895-4801", bibdate = "Sat Apr 16 11:16:33 MDT 2005", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SIDMA/18/2; https://www.math.utah.edu/pub/tex/bib/siamjdiscrmath.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://epubs.siam.org/sam-bin/dbq/article/39030", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Discrete Mathematics", journal-URL = "http://epubs.siam.org/sidma", } @Book{Habibi:2004:JRE, author = "Mehran Habibi", title = "{Java} Regular Expressions: Taming the {java.util.regex} Engine", publisher = pub-APRESS, address = pub-APRESS:adr, pages = "255 (est.)", year = "2004", ISBN = "1-59059-107-0", ISBN-13 = "978-1-59059-107-9", LCCN = "????", bibdate = "Sat Apr 03 08:05:36 2004", bibsource = "https://www.math.utah.edu/pub/tex/bib/java2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Hashiguchi:2004:ERB, author = "Kosaburo Hashiguchi and Naoto Sakakibara and Shuji Jimbo", title = "Equivalence of regular binoid expressions and regular expressions denoting binoid languages over free binoids", journal = j-THEOR-COMP-SCI, volume = "312", number = "2--3", pages = "251--266", day = "30", month = jan, year = "2004", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Feb 9 08:35:35 MST 2004", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2000.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Kerren:2004:GME, author = "Andreas Kerren", title = "Generation as method for explorative learning in computer science education", journal = j-SIGCSE, volume = "36", number = "3", pages = "77--81", month = sep, year = "2004", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/1026487.1008019", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sat Nov 17 16:57:09 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The use of generic and generative methods for the development and application of interactive educational software is a relatively unexplored area in industry and education. Advantages of generic and generative techniques are, among other things, the high degree of reusability of systems parts and the reduction of development costs. Furthermore, generative methods can be used for the development or realization of novel learning models. In this paper, we discuss such a learning model that propagates a new way of explorative learning in computer science education with the help of generators. A realization of this model represents the educational software GANIFA on the theory of generating finite automata from regular expressions. In addition to the educational system's description, we present an evaluation of this system.", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", } @Article{Lin:2004:ELP, author = "Ting-Yu Lin and Yu-Chee Tseng and Yuan-Ting Lu", title = "An Efficient Link Polling Policy by Pattern Matching for {Bluetooth Piconets}", journal = j-COMP-J, volume = "47", number = "2", pages = "169--178", month = mar, year = "2004", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/47.2.169", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Wed Feb 11 11:25:44 MST 2004", bibsource = "http://www3.oup.co.uk/computer_journal/hdb/Volume_47/Issue_02/; https://www.math.utah.edu/pub/tex/bib/compj2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www3.oup.co.uk/computer_journal/hdb/Volume_47/Issue_02/470169.sgm.abs.html; http://www3.oup.co.uk/computer_journal/hdb/Volume_47/Issue_02/pdf/470169.pdf", acknowledgement = ack-nhfb, fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", } @Article{Liu:2004:FSM, author = "Rong-Tai Liu and Nen-Fu Huang and Chih-Hao Chen and Chia-Nan Kao", title = "A fast string-matching algorithm for network processor-based intrusion detection system", journal = j-TECS, volume = "3", number = "3", pages = "614--633", month = aug, year = "2004", CODEN = "????", ISSN = "1539-9087 (print), 1558-3465 (electronic)", ISSN-L = "1539-9087", bibdate = "Fri Oct 29 06:35:47 MDT 2004", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tecs.bib", acknowledgement = ack-nhfb, fjournal = "ACM Transactions on Embedded Computing Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?&idx=J840", } @Article{McIlroy:2004:ESR, author = "M. Douglas McIlroy", title = "Enumerating the strings of regular languages", journal = j-J-FUNCT-PROGRAM, volume = "14", number = "5", pages = "503--518", month = sep, year = "2004", CODEN = "JFPRES", DOI = "https://doi.org/10.1017/S0956796803004982", ISSN = "0956-7968 (print), 1469-7653 (electronic)", ISSN-L = "0956-7968", bibdate = "Tue Jul 11 18:07:39 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/jfunctprogram.bib; https://www.math.utah.edu/pub/tex/bib/plan9.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.cs.dartmouth.edu/~doug/nfa.ps.gz; https://www.cambridge.org/core/product/1D46239B6CC6299AA385B3094EBC80E1", acknowledgement = ack-nhfb, ajournal = "J. Funct. Program.", fjournal = "Journal of Functional Programming", journal-URL = "http://journals.cambridge.org/action/displayJournal?jid=JFP", keywords = "regular expressions; string matching", onlinedate = "06 August 2004", } @Article{Navarro:2004:ACE, author = "Gonzalo Navarro and Kimmo Fredriksson", title = "Average complexity of exact and approximate multiple string matching", journal = j-THEOR-COMP-SCI, volume = "321", number = "2--3", pages = "283--290", month = aug, year = "2004", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Thu Nov 4 10:19:17 MST 2004", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2000.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Navarro:2004:ARE, author = "G. Navarro", title = "Approximate Regular Expression Searching with Arbitrary Integer Weights", journal = j-NORDIC-J-COMPUT, volume = "11", number = "4", pages = "356--??", month = "Winter", year = "2004", CODEN = "NJCOFR", ISSN = "1236-6064", bibdate = "Wed Apr 13 08:28:23 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Nordic Journal of Computing", } @Article{Navarro:2004:NTR, author = "Gonzalo Navarro and Mathieu Raffinot", title = "New Techniques for Regular Expression Searching", journal = j-ALGORITHMICA, volume = "41", number = "2", pages = "89--116", month = nov, year = "2004", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s00453-004-1120-3", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", MRclass = "68Q45", MRnumber = "MR2103259 (2005g:68085)", bibdate = "Fri Jan 6 11:42:47 MST 2006", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0178-4617&volume=41&issue=2; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/index-table-a.html#algorithmica; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0178-4617&volume=41&issue=2&spage=89", acknowledgement = ack-nhfb, fjournal = "Algorithmica. An International Journal in Computer Science", journal-URL = "http://link.springer.com/journal/453", } @Article{Navarro:2004:PM, author = "Gonzalo Navarro", title = "Pattern Matching", journal = j-J-APPL-STAT, volume = "31", number = "8", pages = "925--949", month = oct, year = "2004", CODEN = "????", ISSN = "0266-4763 (print), 1360-0532 (electronic)", ISSN-L = "0266-4763", bibdate = "Sat Dec 4 12:10:39 MST 2004", bibsource = "http://www.tandf.co.uk/journals/routledge/02664763.html; https://www.math.utah.edu/pub/tex/bib/japplstat.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Journal of Applied Statistics", journal-URL = "http://www.tandfonline.com/loi/cjas20", } @Article{Shibuya:2004:GST, author = "Tetsuo Shibuya", title = "Generalization of a Suffix Tree for {RNA} Structural Pattern Matching", journal = j-ALGORITHMICA, volume = "39", number = "1", pages = "1--19", month = jan, year = "2004", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s00453-003-1067-9", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", MRclass = "68P05 (68W05 92D20)", MRnumber = "MR2036440 (2004k:68033)", bibdate = "Fri Jan 6 11:42:46 MST 2006", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0178-4617&volume=39&issue=1; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/index-table-a.html#algorithmica; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0178-4617&volume=39&issue=1&spage=1", acknowledgement = ack-nhfb, fjournal = "Algorithmica. An International Journal in Computer Science", journal-URL = "http://link.springer.com/journal/453", } @Book{Stubblebine:2004:SHD, author = "Tony Stubblebine and Junko Mishima", title = "Seiki hyogen desukutoppu rifarensu: regular expressions for {Perl}, {C}, {PHP}, {Python}, {Java}, and {.NET}", publisher = "Orairi Japan", address = "Tokyo, Japan", pages = "vi + 96", year = "2004", ISBN = "4-87311-170-6", ISBN-13 = "978-4-87311-170-4", LCCN = "????", bibdate = "Wed Oct 14 08:00:43 MDT 2015", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/ora.bib; https://www.math.utah.edu/pub/tex/bib/python.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Sutinen:2004:ASM, author = "E. Sutinen and J. Tarhio", title = "Approximate String Matching with Ordered $q$-Grams", journal = j-NORDIC-J-COMPUT, volume = "11", number = "4", pages = "321--??", month = "Winter", year = "2004", CODEN = "NJCOFR", ISSN = "1236-6064", bibdate = "Wed Apr 13 08:28:23 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Nordic Journal of Computing", } @InProceedings{Tao:2004:LBC, author = "T. Tao and A. Mukherjee", title = "{LZW} based compressed pattern matching", crossref = "Storer:2004:DCC", pages = "??--??", year = "2004", DOI = "https://doi.org/10.1109/DCC.2004.1281544", bibdate = "Tue Feb 5 14:07:23 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1281544", acknowledgement = ack-nhfb, } @Article{Vialette:2004:CCI, author = "St{\'e}phane Vialette", title = "On the computational complexity of $2$-interval pattern matching problems", journal = j-THEOR-COMP-SCI, volume = "312", number = "2--3", pages = "223--249", day = "30", month = jan, year = "2004", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Feb 9 08:35:35 MST 2004", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2000.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Vieira:2004:LEH, author = "Luiz Filipe M. Vieira and Marcos Augusto M. Vieira and Newton J. Vieira", title = "Language emulator, a helpful toolkit in the learning process of computer theory", journal = j-SIGCSE, volume = "36", number = "1", pages = "135--139", month = mar, year = "2004", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/1028174.971348", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sat Nov 17 16:57:06 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/java2000.bib; https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Language Emulator, written in Java, is a toolkit to help undergraduate students to understand the concepts of Automata Theory. The software allows the manipulation of regular expressions, regular grammars, deterministic finite automata, nondeterministic finite automata with and without lambda transitions, and Moore and Mealy machines. Language Emulator introduces error-detecting and internationalization functionalities into automata tools. It has been accepted by 95\% of students in a recent survey, indicating that it is a helpful toolkit in learning Automata Theory.", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", } @Article{Xuandong:2004:DCR, author = "Li Xuandong and Zhao Jianhua and Zheng Tao and Li Yong and Zheng Guoliang", title = "Duration-constrained regular expressions", journal = j-FORM-ASP-COMPUT, volume = "16", number = "2", pages = "155--163", month = may, year = "2004", CODEN = "FACME5", DOI = "https://doi.org/10.1007/s00165-004-0033-x", ISSN = "0934-5043 (print), 1433-299X (electronic)", ISSN-L = "0934-5043", bibdate = "Tue Mar 17 20:58:13 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/formaspcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/s00165-004-0033-x", acknowledgement = ack-nhfb, fjournal = "Formal Aspects of Computing", journal-URL = "http://link.springer.com/journal/165", } @Article{Aldwairi:2005:CSM, author = "Monther Aldwairi and Thomas Conte and Paul Franzon", title = "Configurable string matching hardware for speeding up intrusion detection", journal = j-COMP-ARCH-NEWS, volume = "33", number = "1", pages = "99--107", month = mar, year = "2005", CODEN = "CANED2", ISSN = "0163-5964 (ACM), 0884-7495 (IEEE)", ISSN-L = "0163-5964", bibdate = "Fri May 12 09:40:37 MDT 2006", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigarch.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGARCH Computer Architecture News", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J89", remark = "Workshop on Architectural Support for Security and Anti-Virus (WASSA)", } @Article{Anselmo:2005:NOR, author = "Marcella Anselmo and Dora Giammarresi and Maria Madonia", title = "New operations and regular expressions for two-dimensional languages over one-letter alphabet", journal = j-THEOR-COMP-SCI, volume = "340", number = "2", pages = "408--431", day = "27", month = jun, year = "2005", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Thu Jul 7 14:28:20 MDT 2005", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2005.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Book{Babin:2005:PRP, author = "Lee Babin and others", title = "{PHP 5} recipes: a problem-solution approach", publisher = pub-APRESS, address = pub-APRESS:adr, pages = "xxi + 646", year = "2005", ISBN = "1-59059-509-2", ISBN-13 = "978-1-59059-509-1", LCCN = "QA76.73.P224 P455 2005", bibdate = "Wed Mar 13 13:43:08 MDT 2013", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, subject = "PHP (Computer program language); PHP (langage de programmation)", tableofcontents = "Chapter 1: Overview of PHP Data Types and Concepts / 1 \\ 1-1: Variables / 2 \\ 1-2: Numbers / 4 \\ 1-3: Arrays / 5 \\ 1-4: Strings / 6 \\ 1-5: Regular Expressions / 7 \\ 1-6: Functions / 8 \\ 1-7: Project: Finding the Data Type of a Value / 10 \\ 1-8: Project: Discovering What Variables, Constants, Functions, Classes, and Interfaces Are Available / 12 \\ 1-9: Getting Information About the Current Script / 14 \\ Chapter 2: Overview of Classes, Objects, and Interfaces / 21 \\ Understanding Basic Concepts / 22 \\ 2-1: Creating Instances Using Constructors / 24 \\ 2-2: Using Default Constructors / 26 \\ 2-3: Setting Object Properties / 27 \\ 2-4: Controlling Access to Class Members / 30 \\ 2-5: Using Static Members and the self Keyword / 33 \\ 2-6: Using Class Constants / 37 \\ 2-7: Extending Classes / 43 \\ 2-8: Using Abstract Classes and Methods / 50 \\ 2-9: Using Interfaces / 53 \\ 2-10: Using Class Destructors / 55 \\ 2-11: Using Exceptions / 56 \\ Getting Information About Classes and Objects / 61 \\ Using Class and Object Functions / 61 \\ 2-12: Checking for the Existence of Classes and Interfaces Using class\_exists() and interface\_exists() / 63 \\ 2-13: Listing Methods and Interfaces Using get\_class\_methods() / 65 \\ 2-14: Obtaining Variable Names / 66 \\ 2-15: Determining Whether an Object Is an Instance of a Particular Class / 67 \\ 2-16: Listing Currently Loaded Interfaces and Classes / 69 \\ Using the Class Reflection API / 71 \\ 2-17: Obtaining a Dump of the Reflection API / 73 \\ 2-18: Performing Dynamic Class Instantiation / 76 \\ 2-19: Using the Reflection API to Deconstruct the Shape Class / 77 \\ Chapter 3: Performing Math Operations / 85 \\ 3-1: Numeric Data Types / 85 \\ 3-2: Random Numbers / 95 \\ 3-3: Logarithms and Exponents / 100 \\ 3-4: Trigonometric Functions / 105 \\ 3-5: Formatting of Numeric Data / 108 \\ 3-6: Math Libraries / 113 \\ 3-7: A Static Math Class / 116 \\ Chapter 4: Working with Arrays / 121 \\ 4-1: Creating Arrays / 122 \\ 4-2: Accessing Array Elements / 122 \\ 4-3: Creating Multidimensional Arrays / 123 \\ 4-4: Using Array Keys / 124 \\ 4-5: Initializing an Array As a Range or Sequence of Values / 124 \\ Outputting Arrays / 126 \\ 4-6: Outputting an Array As a String / 126 \\ 4-7: Outputting Using array\_values() and array\_keys() for Backward Compatibility / 126 \\ 4-8: Outputting an Array As a Tree / 128 \\ Adding New Elements to Arrays / 131 \\ 4-9: Adding an Element to the End of an Array / 131 \\ 4-10: Appending One Array to Another / 132 \\ 4-11: Comparing Arrays / 135 \\ 4-12: Adding an Element to the Beginning of an Array / 137 \\ 4-13: Inserting New Values at an Arbitrary Point in an Indexed Array / 137 \\ Getting and Setting the Size of an Array / 139 \\ 4-14: Counting Array Elements / 139 \\ 4-15: Setting an Array's Size / 141 \\ Traversing Arrays / 144 \\ 4-16: Looping Through an Associative Array Using foreach / 144 \\ 4-17: Looping Through a Compact Indexed Array Using for and count() / 145 \\ 4-18: Looping Through a Sparse Array / 146 \\ Removing Elements from Arrays / 147 \\ 4-19: Removing the First or Last Element from an Array / 148 \\ 4-20: Removing One or More Arbitrary Array Elements / 150 \\ 4-21: Extracting a Portion of an Array / 152 \\ 4-22: Extracting Values from Arrays with extract() / 154 \\ 4-23: Extracting Values from an Array Using list() / 156 \\ 4-24: Combining Arrays / 158 \\ 4-25: Obtaining Array Keys and Values / 159 \\ 4-26: Working with Unique Values / 160 \\ 4-27: Getting and Displaying Counts of Array Values / 161 \\ Finding and Working with Array Values / 162 \\ 4-28: Determining Whether an Element Is in an Array / 163 \\ 4-29: Testing for the Existence of a Key in an Array / 164 \\ 4-30: Obtaining Array Keys with a Given Value / 165 \\ 4-31: Finding the Greatest and Least Values in an Array / 166 \\ 4-32: Finding the Sum and Average of the Values in an Array / 168 \\ Applying Functions to Arrays / 169 \\ 4-33: Applying Functions to Array Elements Using array\_walk() / 170 \\ 4-34: Applying Functions to Array Elements Using array\_map() / 173 \\ 4-35: Filtering Arrays Using array\_filter() / 175 \\ Sorting Arrays / 178 \\ 4-36: Sorting an Array by Its Values / 178 \\ 4-37: Sorting an Array by Its Keys / 180 \\ 4-38: Reversing an Array Using arsort() / 181 \\ 4-39: Reversing an Array Using krsort() / 182 \\ 4-40: Reversing an Array Using array\_reverse() / 182 \\ 4-41: Randomizing an Array Using shuffle(), kshuffle(), and array\_rand() / 183 \\ 4-42: Sorting an Array Using Comparison Functions / 184 \\ 4-43: Sorting Multidimensional Arrays / 186 \\ 4-44: Sorting Multiple Arrays / 189 \\ Finding Permutations and Combinations / 190 \\ 4-45: Finding All Permutations of an Array's Elements / 190 \\ 4-46: Finding All Combinations of an Array's Elements / 193 \\ Chapter 5: Working with Dates and Times / 197 \\ Overview of PHP 5's Date and Time Functions / 198 \\ Displaying Dates and Times / 200 \\ 5-1: Displaying Human-Readable Dates and Times / 201 \\ 5-2: Displaying Arbitrary Dates and Times / 204 \\ 5-3: Converting Human-Readable Dates Into Unix Timestamps Using strtotime() / 205 \\ 5-4: Finding the Date for a Weekday / 207 \\ 5-5: Getting the Day and Week of the Year / 211 \\ 5-6: Determining Whether a Given Year Is a Leap Year / 213 \\ 5-7: Getting Times and Dates of Files / 214 \\ 5-8: Setting Time Zones and GMT/UTC / 216 \\ 5-9: Displaying Times and Dates in Other Languages / 219 \\ 5-10: Generating Localized GMT/UTC Time and Date Strings / 224 \\ 5-11: Obtaining the Difference Between Two Dates / 225 \\ 5-12: Project: Constructing and Using a Date Class / 231 \\ 5-13: Extending the Date Class / 250 \\ Chapter 6: Working with Strings / 265 \\ Manipulating Substrings / 266 \\ 6-1: Testing for Substrings / 267 \\ 6-2: Counting the Occurrences of a Substring / 269 \\ 6-3: Accessing Substrings / 269 \\ 6-4: Using Substring Alternatives / 270 \\ 6-5: Replacing Substrings / 271 \\ Processing Strings / 273 \\ 6-6: Joining and Disassembling Strings / 273 \\ 6-7: Reversing Strings / 277 \\ 6-8: Controlling Case / 277 \\ 6-9: Trimming Blank Spaces / 279 \\ 6-10: Wrapping Text / 280 \\ 6-11: Checking String Length / 282 \\ 6-12: Comparing Strings / 283 \\ 6-13: Comparing Sound / 284 \\ Project: Creating and Using a String Class / 285 \\ 6-14: Using a Page Reader Class / 285 \\ Chapter 7: Working with Files and Directories / 291 \\ Working with Files / 291 \\ 7-1: Opening Files / 291 \\ 7-2: Reading from Files / 293 \\ 7-3: Writing to Files / 295 \\ 7-4: Closing Files / 296 \\ 7-5: Reading and Writing Comma-Separated Data / 298 \\ 7-6: Reading Fixed-Width Delimited Data / 300 \\ 7-7: Reading and Writing Binary Data in a File / 301 \\ 7-8: Getting the Number of Lines in a File / 303 \\ 7-9: Getting the Number of Characters, Words, or Paragraphs in a File / 304 \\ 7-10: Project: Creating and Using a File Class / 305 \\ Working with Directories / 309 \\ 7-11: Listing All Files in the Current Directory / 310 \\ 7-12: Listing All Files of a Certain Type / 311 \\ 7-13: Sorting Files by Date / 313 \\ 7-14: Generating a Recursive Directory Listing / 314 \\ 7-15: Using the SPL Directorylterator Object / 316 \\ Chapter 8: Working with Dynamic Imaging / 321 \\ Working with Image Types / 321 \\ 8-1: Working with JPGs / 321 \\ 8-2: Working with GIFs / 323 \\ 8-3: Working with PNGs / 325 \\ Working with Image Libraries / 327 \\ Creating an Image from Scratch / 327 \\ 8-4: Creating a Blank Canvas / 328 \\ 8-5: Creating and Using Colors / 329 \\ 8-6: Creating and Applying Different Shapes and Patterns / 331 \\ 8-7: Outputting an Image / 334 \\ Creating an Image from an Existing Image / 336 \\ 8-8: Loading an Existing Image / 337 \\ 8-9: Applying Modifications to an Existing Image / 338 \\ 8-10: Saving and Outputting the Modified Image / 340 \\ Using True Type Fonts / 341 \\ 8-11: Loading Fonts / 342 \\ 8-12: Applying True Type Fonts to an Image / 343 \\ 8-13: Project: Creating and Using a Dynamic Thumbnail Class / 345 \\ Chapter 9: Using Regular Expressions / 351 \\ Overview of Regular Expression Syntax / 351 \\ Qualifiers / 352 \\ Ranges / 352 \\ Line Anchors / 352 \\ An Escape / 353 \\ Saying OR / 353 \\ Character Classes / 353 \\ POSIX vs. PCRE / 353 \\ POSIX / 354 \\ PCRE / 355 \\ Putting Regular Expressions to Work / 356 \\ 9-1: Using String Matching vs. Pattern Matching / 356 \\ 9-2: Finding the nth Occurrence of a Match / 358 \\ 9-3: Matching with Greedy vs. Nongreedy Expressions / 358 \\ 9-4: Matching a Valid IP Address / 360 \\ 9-5: Validating Pascal Case Names / 361 \\ 9-6: Validating U.S. Currency / 363 \\ 9-7: Formatting a Phone Number / 365 \\ 9-8: Finding Repeated Words / 367 \\ 9-9: Finding Words Not Followed by Other Words / 368 \\ 9-10: Matching a Valid E-mail Address / 369 \\ 9-11: Finding All Matching Lines in a File / 371 \\ 9-12: Finding Lines with an Odd Number of Quotes / 372 \\ 9-13: Capturing Text Inside HTML or XML Tags / 373 \\ 9-14: Escaping Special Characters / 375 \\ 9-15: Replacing URLs with Links / 377 \\ 9-16: Replacing Smart Quotes with Straight Quotes / 380 \\ 9-17: Testing the Complexity of Passwords / 380 \\ 9-18: Matching GUIDs/UUIDs / 381 \\ 9-19: Reading Records with a Delimiter / 382 \\ 9-20: Creating Your Own RegExp Class / 385 \\ Chapter 10: Working with Variables / 393 \\ 10-1: Using Variable Types / 394 \\ 10-2: Assigning and Comparing / 396 \\ 10-3: Typecasting / 402 \\ 10-4: Using Constants / 408 \\ 10-5: Defining Variable Scope / 411 \\ 10-6: Parsing Values to Functions / 417 \\ 10-7: Using Dynamic Variable and Function Names / 421 \\ 10-8: Encapsulating Complex Data Types / 425 \\ 10-9: Sharing Variables Between Processes / 429 \\ 10-10: Debugging / 431 \\ Chapter 11: Using Functions / 437 \\ 11-1: Accessing Function Parameters / 437 \\ 11-2: Setting Default Values for Function Parameters / 438 \\ 11-3: Passing Values by Reference 439", } @InProceedings{Chen:2005:ESM, author = "S. Chen and S. Diggavi and S. Dusad and S. Muthukrishnan", title = "Efficient string matching algorithms for combinatorial universal denoising", crossref = "Storer:2005:DCC", pages = "153--162", year = "2005", DOI = "https://doi.org/10.1109/DCC.2005.37", bibdate = "Tue Feb 5 08:48:53 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1402176", acknowledgement = ack-nhfb, } @Article{dAmorim:2005:EBR, author = "Marcelo d'Amorim and Klaus Havelund", title = "Event-based runtime verification of {Java} programs", journal = j-SIGSOFT, volume = "30", number = "4", pages = "1--7", month = jul, year = "2005", CODEN = "SFENDP", DOI = "https://doi.org/10.1145/1082983.1083249", ISSN = "0163-5948 (print), 1943-5843 (electronic)", ISSN-L = "0163-5948", bibdate = "Wed Aug 1 17:14:51 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/java2000.bib; https://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We introduce the temporal logic HAWK and its supporting tool for runtime verification of Java programs. A monitor for a HAWK formula checks if a finite trace of program events satisfies the formula. HAWK is a programming-oriented extension of the rule-based EAGLE logic that has been shown capable of defining and implementing a range of finite trace monitoring logics, including future and past time temporal logic, metric (real-time) temporal logics, interval logics, forms of quantified temporal logics, extended regular expressions, state machines, and others. Monitoring is achieved on a state-by-state basis avoiding any need to store the input trace. HAWK extends EAGLE with constructs for capturing parameterized program events such as method calls and method returns. Parameters can be executing thread, the objects that methods are called upon, arguments to methods, and return values. HAWK allows one to refer to these in formulae. The tool synthesizes monitors from formulae and automates program instrumentation.", acknowledgement = ack-nhfb, fjournal = "ACM SIGSOFT Software Engineering Notes", journal-URL = "https://dl.acm.org/citation.cfm?id=J728", } @Article{Firth:2005:CBA, author = "Andrew Firth and Tim Bell and Amar Mukherjee and Don Adjeroh", title = "A comparison of {BWT} approaches to string pattern matching", journal = j-SPE, volume = "35", number = "13", pages = "1217--1258", day = "10", month = nov, year = "2005", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.669", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Tue Mar 14 11:54:23 MST 2006", bibsource = "http://www.interscience.wiley.com/jpages/0038-0644; http://www3.interscience.wiley.com/journalfinder.html; https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Recently a number of algorithms have been developed to search files compressed with the Burrows--Wheeler Transform (BWT) without the need for full decompression first. This allows the storage requirement of data to be reduced through the exceptionally good compression offered by BWT, while allowing fast access to the information for searching by taking advantage of the sorted nature of BWT files. We provide a detailed description of five of these algorithms: BWT-based Boyer--Moore, Binary Search, Suffix Arrays, q-grams and the FM-index, and also present results from a set of extensive experiments that were performed to evaluate and compare the algorithms. Furthermore, we introduce a technique to improve the search times of Binary Search, Suffix Arrays and q-grams by 22\% on average, as well as reduce the memory requirement of the latter two by 40\% and 31\%, respectively. Our results indicate that, while the compressed files of the FM-index are larger than those of the other approaches, it is able to perform searches with considerably less memory. Additionally, when only counting the occurrences of a pattern, or when locating the positions of a small number of matches, it is the fastest algorithm. For larger searches, Binary Search provides the fastest results. Comparative results with non-BWT based search methods are also included.", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", keywords = "binary search; Burrows--Wheeler Transform (BWT); compressed pattern matching; FM-index; q-grams; suffix arrays", onlinedate = "23 May 2005", } @Article{Geser:2005:TPS, author = "Alfons Geser and Dieter Hofbauer and Johannes Waldmann", title = "Termination Proofs for String Rewriting Systems via Inverse Match-Bounds", journal = j-J-AUTOM-REASON, volume = "34", number = "4", pages = "365--385", month = may, year = "2005", CODEN = "JAREEW", DOI = "https://doi.org/10.1007/s10817-005-9024-8", ISSN = "0168-7433 (print), 1573-0670 (electronic)", ISSN-L = "0168-7433", bibdate = "Sat Apr 2 10:50:31 MDT 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/jautomreason.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/s10817-005-9024-8", acknowledgement = ack-nhfb, ajournal = "J. Autom. Reason.", fjournal = "Journal of Automated Reasoning", journal-URL = "http://link.springer.com/journal/10817", } @Book{Good:2005:RER, author = "Nathan A. Good", title = "Regular expression recipes: a problem-solution approach", publisher = pub-APRESS, address = pub-APRESS:adr, pages = "xxix + 289", year = "2005", ISBN = "1-59059-441-X (paperback)", ISBN-13 = "978-1-59059-441-4 (paperback)", LCCN = "QA76.9.T48 G66 2005", bibdate = "Wed Mar 13 13:42:27 MDT 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; z3950.loc.gov:7090/Voyager", series = "The expert's voice in open source", acknowledgement = ack-nhfb, subject = "Text processing (Computer science); Open source software; Programming languages (Electronic computers)", } @Article{Grossi:2005:CSA, author = "Roberto Grossi and Jeffrey Scott Vitter", title = "Compressed Suffix Arrays and Suffix Trees with Applications to Text Indexing and String Matching", journal = j-SIAM-J-COMPUT, volume = "35", number = "2", pages = "378--407", month = "????", year = "2005", CODEN = "SMJCAT", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", bibdate = "Tue May 18 08:21:20 MDT 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/35/2; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @Article{He:2005:WWS, author = "Longtao He and Binxing Fang and Jie Sui", title = "The wide window string matching algorithm", journal = j-THEOR-COMP-SCI, volume = "332", number = "1--3", pages = "391--404", day = "28", month = feb, year = "2005", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Thu Jul 7 14:28:15 MDT 2005", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2005.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Hosoya:2005:RET, author = "Haruo Hosoya and J{\'e}r{\^o}me Vouillon and Benjamin C. Pierce", title = "Regular expression types for {XML}", journal = j-TOPLAS, volume = "27", number = "1", pages = "46--90", month = jan, year = "2005", CODEN = "ATPSDT", ISSN = "0164-0925 (print), 1558-4593 (electronic)", ISSN-L = "0164-0925", bibdate = "Thu Mar 24 15:57:47 MST 2005", bibsource = "http://www.acm.org/pubs/contents/journals/toplas/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/toplas.bib", acknowledgement = ack-nhfb, fjournal = "ACM Transactions on Programming Languages and Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783", } @Article{Hyyro:2005:BPW, author = "Heikki Hyyr{\"o} and Gonzalo Navarro", title = "Bit-Parallel Witnesses and Their Applications to Approximate String Matching", journal = j-ALGORITHMICA, volume = "41", number = "3", pages = "203--231", month = jan, year = "2005", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s00453-004-1108-z", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", MRclass = "68W05 (68W40)", MRnumber = "MR2108146 (2006b:68137)", MRreviewer = "Wojciech Rytter", bibdate = "Fri Jan 6 11:42:47 MST 2006", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0178-4617&volume=41&issue=3; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/index-table-a.html#algorithmica; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; MathSciNet database", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0178-4617&volume=41&issue=3&spage=203", acknowledgement = ack-nhfb, fjournal = "Algorithmica. An International Journal in Computer Science", journal-URL = "http://link.springer.com/journal/453", } @Article{Hyyro:2005:IBP, author = "Heikki Hyyr{\"o} and Kimmo Fredriksson and Gonzalo Navarro", title = "Increased bit-parallelism for approximate and multiple string matching", journal = j-ACM-J-EXP-ALGORITHMICS, volume = "10", pages = "2.6:1--2.6:??", month = "????", year = "2005", CODEN = "????", DOI = "https://doi.org/10.1145/1064546.1180617", ISSN = "1084-6654", ISSN-L = "1084-6654", bibdate = "Mon Oct 6 16:05:40 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/jea.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Bit-parallelism permits executing several operations simultaneously over a set of bits or numbers stored in a single computer word. This technique permits searching for the approximate occurrences of a pattern of length $m$ in a text of length $n$ in time {$ O(\lceil m / w \rceil n) $}, where $w$ is the number of bits in the computer word. Although this is asymptotically the optimal bit-parallel speedup over the basic {$ O(m n) $} time algorithm, it wastes bit-parallelism's power in the common case where $m$ is much smaller than $w$, since $ w - m $ bits in the computer words are unused. In this paper, we explore different ways to increase the bit-parallelism when the search pattern is short. First, we show how multiple patterns can be packed into a single computer word so as to search for all them simultaneously. Instead of spending {$ O(r n) $} time to search for $r$ patterns of length $ m \leq w / 2 $, we need {$ O(\lceil r m / w \rceil n) $} time. Second, we show how the mechanism permits boosting the search for a single pattern of length $ m \leq w / 2 $, which can be searched for in {$ O(\lceil n / \lfloor w / m \rfloor \rceil) $} bit-parallel steps instead of {$ O(n) $}. Third, we show how to extend these algorithms so that the time bounds essentially depend on $k$ instead of $m$, where $k$ is the maximum number of differences permitted. Finally, we show how the ideas can be applied to other problems such as multiple exact string matching and one-against-all computation of edit distance and longest common subsequences. Our experimental results show that the new algorithms work well in practice, obtaining significant speedups over the best existing alternatives, especially on short patterns and moderate number of differences allowed. This work fills an important gap in the field, where little work has focused on very short patterns.", acknowledgement = ack-nhfb, articleno = "2.6", fjournal = "Journal of Experimental Algorithmics (JEA)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J430", keywords = "approximate string matching; bit-parallelism; multiple string matching", } @Article{Inenaga:2005:FCP, author = "Shunsuke Inenaga and Ayumi Shinohara and Masayuki Takeda", title = "A Fully Compressed Pattern Matching Algorithm for Simple Collage Systems", journal = j-INT-J-FOUND-COMP-SCI, volume = "16", number = "6", pages = "1155--??", month = dec, year = "2005", CODEN = "IFCSEN", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Wed Aug 23 09:03:17 MDT 2006", bibsource = "http://ejournals.wspc.com.sg/ijfcs/mkt/archive.shtml; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Kato:2005:SSR, author = "Ryoichi Kato and Osamu Watanabe", title = "Substring search and repeat search using factor oracles", journal = j-INFO-PROC-LETT, volume = "93", number = "6", pages = "269--274", day = "31", month = mar, year = "2005", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu Mar 31 18:41:00 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190/", } @InProceedings{Klein:2005:CPM, author = "S. T. Klein and D. Shapira", title = "Compressed pattern matching in {JPEG} images", crossref = "Storer:2005:DCC", pages = "??--??", year = "2005", DOI = "https://doi.org/10.1109/DCC.2005.26", bibdate = "Tue Feb 5 08:48:53 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1402223", acknowledgement = ack-nhfb, } @Book{Knuth:2005:ACPb, author = "Donald E. Knuth", title = "The Art of Computer Programming: Volume 4, Fascicle 3. Generating All Combinations and Partitions", publisher = pub-AW, address = pub-AW:adr, pages = "iv + 150", year = "2005", ISBN = "0-201-85394-9", ISBN-13 = "978-0-201-85394-0", LCCN = "QA76.6 .K64 2005", bibdate = "Tue Oct 11 05:24:35 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/texbook2.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, subject = "Computer programming; Computer algorithms", tableofcontents = "7: Combinatorial Searching / 0 \\ 7.2. Generating All Possibilities / 0 \\ 7.2.1. Generating Basic Combinatorial Patterns / 0 \\ 7.2.1.1. Generating all n-tuples / 0 \\ 7.2.1.2. Generating all permutations / 0 \\ 7.2.1.3. Generating all combinations / 1 \\ 7.2.1.4. Generating all partitions / 36 \\ 7.2.1.5. Generating all set partitions / 61 \\ Answers to Exercises / 87 \\ Index and Glossary / 144", } @Article{Kumar:2005:PCO, author = "Rajeev Kumar and Amit Gupta and B. S. Pankaj and Mrinmoy Ghosh and P. P. Chakrabarti", title = "Post-compilation optimization for multiple gains with pattern matching", journal = j-SIGPLAN, volume = "40", number = "12", pages = "14--23", month = dec, year = "2005", CODEN = "SINODQ", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Mar 7 16:19:22 MST 2006", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", } @Article{Makinen:2005:TIS, author = "Veli M{\"a}kinen and Gonzalo Navarro and Esko Ukkonen", title = "Transposition invariant string matching", journal = j-J-ALG, volume = "56", number = "2", pages = "124--153", month = aug, year = "2005", CODEN = "JOALDV", DOI = "https://doi.org/10.1016/j.jalgor.2004.07.008", ISSN = "0196-6774 (print), 1090-2678 (electronic)", ISSN-L = "0196-6774", bibdate = "Tue Dec 11 09:22:01 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/jalg.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0196677404001427", acknowledgement = ack-nhfb, fjournal = "Journal of Algorithms", journal-URL = "http://www.sciencedirect.com/science/journal/01966774", } @Article{Mauri:2005:APM, author = "Giancarlo Mauri and Giulio Pavesi", title = "Algorithms for pattern matching and discovery in {RNA} secondary structure", journal = j-THEOR-COMP-SCI, volume = "335", number = "1", pages = "29--51", day = "20", month = may, year = "2005", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Thu Jul 7 14:28:17 MDT 2005", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2005.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Mhashi:2005:EMR, author = "Mahmoud Moh'd Mhashi", title = "The effect of multiple reference characters on detecting matches in string-searching algorithms", journal = j-SPE, volume = "35", number = "13", pages = "1299--1315", day = "10", month = nov, year = "2005", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.672", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Tue Mar 14 11:54:23 MST 2006", bibsource = "http://www.interscience.wiley.com/jpages/0038-0644; http://www3.interscience.wiley.com/journalfinder.html; https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The effect of multiple reference characters and the condition types on the performance of exact string-searching algorithms is tested. In order to perform such a test a new algorithm called the Multiple Reference Characters Algorithm (MRCA) is developed. An experiment is performed using English text; the results are compared with the known string-matching algorithms called Boyer--Moore--Horspool (BMH) and Straight Forward (Na{\"\i}ve). With the MRCA algorithm, the shift distance is increased up to $ 3 m + 1 $ positions in comparison with exactly one position in the Na{\"\i}ve algorithm and up to $m$ positions in BMH. Furthermore, by using the new algorithm MRCA, the results suggest that the evaluation criteria of the average number of comparisons, the average number of shifts, and the clock time required by BMH are improved up to 73.1\%, 64.7\%, and 49.6\%, respectively. The same evaluation criteria required by Na{\"\i}ve are improved by MRCA up to 98.1\%, 98\%, and 94.7\%, respectively.", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", keywords = "checking and skipping; condition type; multiple references; pattern matching; string-searching", onlinedate = "2 Jun 2005", } @Article{Moreira:2005:IMR, author = "Nelma Moreira and Rog{\'e}rio Reis", title = "Interactive manipulation of regular objects with {FAdo}", journal = j-SIGCSE, volume = "37", number = "3", pages = "335--339", month = sep, year = "2005", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/1151954.1067537", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sat Nov 17 16:57:19 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "FAdo$^1$ is an ongoing project which aims the development of an interactive environment for symbolic manipulation of formal languages. In this paper we focus in the description of interactive tools for teaching and assisting research on regular languages, and in particular finite automata and regular expressions. Those tools implement most standard automata operations, conversion between automata and regular expressions, and word recognition. We illustrate their use in training and automatic assessment. Finally we present a graphical environment for editing and interactive visualisation.", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", } @Article{Mustafa:2005:WOA, author = "Suleiman H. Mustafa", title = "Word-oriented approximate string matching using occurrence heuristic tables: a heuristic for searching {Arabic} text", journal = j-J-AM-SOC-INF-SCI-TECHNOL, volume = "56", number = "14", pages = "1504--1511", month = dec, year = "2005", CODEN = "JASIEF", DOI = "https://doi.org/10.1002/asi.20244", ISSN = "1532-2882 (print), 1532-2890 (electronic)", ISSN-L = "1532-2882", bibdate = "Fri Sep 11 10:42:23 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/jasist.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Journal of the American Society for Information Science and Technology: JASIST", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1532-2890", onlinedate = "9 Sep 2005", } @Article{Navarro:2005:LBM, author = "Gonzalo Navarro and Jorma Tarhio", title = "{LZgrep}: a {Boyer--Moore} string matching tool for {Ziv--Lempel} compressed text", journal = j-SPE, volume = "35", number = "12", pages = "1107--1130", month = oct, year = "2005", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.663", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Tue Oct 4 05:39:38 MDT 2005", bibsource = "http://www.interscience.wiley.com/jpages/0038-0644; http://www3.interscience.wiley.com/journalfinder.html; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", URL = "http://www.dcc.uchile.cl/~gnavarro/pubcode/", abstract = "We present a Boyer--Moore (BM) approach to string matching over LZ78 and LZW compressed text. The idea is to search the text directly in compressed form instead of decompressing and then searching it. We modify the BM approach so as to skip text using the characters explicitly represented in the LZ78\slash LZW formats, modifying the basic technique where the algorithm can choose which characters to inspect. We present and compare several solutions for single and multipattern searches. We show that our algorithms obtain speedups of up to 50\% compared to the simple decompress-then-search approach. Finally, we present a public tool, LZgrep, which uses our algorithms to offer grep-like capabilities directly searching files compressed using Unix's Compress, an LZW compressor. LZgrep can also search files compressed with Unix gzip, using new decompress-then-search techniques we develop, which are faster than the current tools. This way, users can always keep their files in compressed form and still search them, uncompressing only when they want to see them.", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", keywords = "compressed pattern matching; direct search on compressed text; text searching; Ziv--Lempel format", onlinedate = "6 May 2005", } @Book{Robbins:2005:CSS, author = "Arnold Robbins and Nelson H. F. Beebe", title = "Classic Shell Scripting", publisher = pub-ORA-MEDIA, address = pub-ORA-MEDIA:adr, pages = "xxii + 534", year = "2005", ISBN = "0-596-00595-4", ISBN-13 = "978-0-596-00595-5", LCCN = "QA76.76.O63 R633 2005", bibdate = "Tue Jul 12 16:13:16 2005", bibsource = "https://www.math.utah.edu/pub/bibnet/authors/b/beebe-nelson-h-f.bib; https://www.math.utah.edu/pub/tex/bib/css.bib; https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/mathcw.bib; https://www.math.utah.edu/pub/tex/bib/ora.bib; https://www.math.utah.edu/pub/tex/bib/spell.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib; https://www.math.utah.edu/pub/tex/bib/utah-math-dept-books.bib", URL = "http://www.oreilly.com/catalog/shellsrptg/", acknowledgement = ack-nhfb, ORCID-numbers = "Beebe, Nelson H. F./0000-0001-7281-4263", tableofcontents = "Foreword / ix \\ Preface / xi \\ 1 Background / 1 \\ 1.1 Unix History / 1 \\ 1.2 Software Tools Principles / 4 \\ 1.3 Summary / 6 \\ 2 Getting Started / 8 \\ 2.1 Scripting Languages Versus Compiled Languages / 8 \\ 2.2 Why Use a Shell Script? / 9 \\ 2.3 A Simple Script / 9 \\ 2.4 Self-Contained Scripts: The \#! First Line / 10 \\ 2.5 Basic Shell Constructs / 12 \\ 2.6 Accessing Shell Script Arguments / 23 \\ 2.7 Simple Execution Tracing / 24 \\ 2.8 Internationalization and Localization / 25 \\ 2.9 Summary / 28 \\ 3 Searching and Substitutions / 30 \\ 3.1 Searching for Text / 30 \\ 3.2 Regular Expressions / 31 \\ 3.3 Working with Fields / 56 \\ 3.4 Summary / 65 \\ 4 Text Processing Tools / 67 \\ 4.1 Sorting Text / 67 \\ 4.2 Removing Duplicates / 75 \\ 4.3 Reformatting Paragraphs / 76 \\ 4.4 Counting Lines, Words, and Characters / 77 \\ 4.5 Printing / 78 \\ 4.6 Extracting the First and Last Lines / 83 \\ 4.7 Summary / 86 \\ 5 Pipelines Can Do Amazing Things / 87 \\ 5.1 Extracting Data from Structured Text Files / 87 \\ 5.2 Structured Data for the Web / 94 \\ 5.3 Cheating at Word Puzzles / 100 \\ 5.4 Word Lists / 102 \\ 5.5 Tag Lists / 105 \\ 5.6 Summary / 107 \\ 6 Variables, Making Decisions, and Repeating Actions / 109 \\ 6.1 Variables and Arithmetic / 109 \\ 6.2 Exit Statuses / 120 \\ 6.3 The case Statement / 129 \\ 6.4 Looping / 130 \\ 6.5 Functions / 135 \\ 6.6 Summary / 138 \\ 7 Input and Output, Files, and Command Evaluation / 140 \\ 7.1 Standard Input, Output, and Error / 140 \\ 7.2 Reading Lines with read / 140 \\ 7.3 More About Redirections / 143 \\ 7.4 The Full Story on printf / 147 \\ 7.5 Tilde Expansion and Wildcards / 152 \\ 7.6 Command Substitution / 155 \\ 7.7 Quoting / 161 \\ 7.8 Evaluation Order and eval / 162 \\ 7.9 Built-in Commands / 168 \\ 7.10 Summary / 175 \\ 8 Production Scripts / 177 \\ 8.1 Path Searching / 177 \\ 8.2 Automating Software Builds / 192 \\ 8.3 Summary / 222 \\ 9 Enough awk to Be Dangerous / 223 \\ 9.1 The awk Command Line / 224 \\ 9.2 The awk Programming Model / 225 \\ 9.3 Program Elements / 226 \\ 9.4 Records and Fields / 236 \\ 9.5 Patterns and Actions / 238 \\ 9.6 One-Line Programs in awk / 240 \\ 9.7 Statements / 244 \\ 9.8 User-Defined Functions / 252 \\ 9.9 String Functions / 255 \\ 9.10 Numeric Functions / 264 \\ 9.11 Summary / 266 \\ 10 Working with Files / 267 \\ 10.1 Listing Files / 267 \\ 10.2 Updating Modification Times with touch / 273 \\ 10.3 Creating and Using Temporary Files / 274 \\ 10.4 Finding Files / 279 \\ 10.5 Running Commands: xargs / 293 \\ 10.6 Filesystem Space Information / 295 \\ 10.7 Comparing Files / 299 \\ 10.8 Summary / 307 \\ 11 Extend Example: Merging User Databases / 308 \\ 11.1 The Problem / 308 \\ 11.2 The Password Files / 309 \\ 11.3 Merging Password Files / 310 \\ 11.4 Changing File Ownership / 317 \\ 11.5 Other Real-World Issues / 321 \\ 11.6 Summary / 323 \\ 12 Spellchecking / 325 \\ 12.1 The spell Program / 325 \\ 12.2 The Original Unix Spellchecking Prototype / 326 \\ 12.3 Improving ispell and aspell / 327 \\ 12.4 A Spellchecker in awk / 331 \\ 12.5 Summary / 350 \\ 13 Processes / 352 \\ 13.1 Process Creation / 353 \\ 13.2 Process Listing / 354 \\ 13.3 Process Control and Deletion / 360 \\ 13.4 Process System-Call Tracing / 368 \\ 13.5 Process Accounting / 372 \\ 13.6 Delayed Scheduling of Processes / 373 \\ 13.7 The /proc Filesystem / 378 \\ 13.8 Summary / 379 \\ 14 Shell Portability Issues and Extensions / 381 \\ 14.1 Gotchas / 381 \\ 14.2 The bash shopt Command / 385 \\ 14.3 Common Extensions / 389 \\ 14.4 Download Information / 402 \\ 14.5 Other Extended Bourne-Style Shells / 405 \\ 14.6 Shell Versions / 405 \\ 14.7 Shell Initialization and Termination / 406 \\ 14.8 Summary / 412 \\ 15 Secure Shell Scripts: Getting Started / 413 \\ 15.1 Tips for Secure Shell Scripts / 413 \\ 15.2 Restricted Shell / 416 \\ 15.3 Trojan Horses / 418 \\ 15.4 Setuid Shell Scripts: A Bad Idea / 419 \\ 15.5 ksh93 and Privileged Mode / 21 \\ 15.6 Summary / 422 \\ A Writing Manual Pages / 423 \\ B Files and Filesystems / 437 \\ C Important Unix Commands / 473 \\ Bibliography / 478 \\ Glossary / 484 \\ Index / 509", xxnote = "Also available in Chinese \cite{Robbins:2008:SJB}, French \cite{Robbins:2005:ISS}, German \cite{Robbins:2006:KSP}, Japanese \cite{Robbins:2006:SSS}, and Polish \cite{Robbins:2006:PSP} translations.", } @Article{Schoenmeyr:2005:FBA, author = "Tor Schoenmeyr and David Yu Zhang", title = "{FFT}-based algorithms for the string matching with mismatches problem", journal = j-J-ALG, volume = "57", number = "2", pages = "130--139", month = nov, year = "2005", CODEN = "JOALDV", DOI = "https://doi.org/10.1016/j.jalgor.2005.01.001", ISSN = "0196-6774 (print), 1090-2678 (electronic)", ISSN-L = "0196-6774", bibdate = "Tue Dec 11 09:22:15 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/jalg.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0196677405000180", acknowledgement = ack-nhfb, fjournal = "Journal of Algorithms", journal-URL = "http://www.sciencedirect.com/science/journal/01966774", } @Article{Tan:2005:HTS, author = "Lin Tan and Timothy Sherwood", title = "A High Throughput String Matching Architecture for Intrusion Detection and Prevention", journal = j-COMP-ARCH-NEWS, volume = "33", number = "2", pages = "112--122", month = may, year = "2005", CODEN = "CANED2", ISSN = "0163-5964 (ACM), 0884-7495 (IEEE)", ISSN-L = "0163-5964", bibdate = "Fri May 12 09:40:51 MDT 2006", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigarch.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGARCH Computer Architecture News", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J89", } @InProceedings{Tao:2005:MPM, author = "Tao Tao and A. Mukherjee", title = "Multiple-pattern matching in {LZW} compressed files using {Aho--Corasick} algorithm", crossref = "Storer:2005:DCC", pages = "??--??", year = "2005", DOI = "https://doi.org/10.1109/DCC.2005.55", bibdate = "Tue Feb 5 08:48:53 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1402239", acknowledgement = ack-nhfb, } @Article{Tao:2005:PML, author = "T. Tao and Amar Mukherjee", title = "Pattern matching in {LZW} compressed files", journal = j-IEEE-TRANS-COMPUT, volume = "54", number = "8", pages = "929--938", month = aug, year = "2005", CODEN = "ITCOB4", DOI = "https://doi.org/10.1109/TC.2005.133", ISSN = "0018-9340 (print), 1557-9956 (electronic)", ISSN-L = "0018-9340", bibdate = "Mon Jul 4 16:17:18 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/ieeetranscomput2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1453495", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12", } @Article{Tian:2005:PMC, author = "Yuanyuan Tian and Sandeep Tata and Richard A. Hankins and Jignesh M. Patel", title = "Practical methods for constructing suffix trees", journal = j-VLDB-J, volume = "14", number = "3", pages = "281--299", month = sep, year = "2005", CODEN = "VLDBFR", DOI = "https://doi.org/10.1007/s00778-005-0154-8", ISSN = "1066-8888 (print), 0949-877X (electronic)", ISSN-L = "1066-8888", bibdate = "Mon Jun 23 10:51:16 MDT 2008", bibsource = "http://portal.acm.org/; http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0938-1287&volume=14&issue=3; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbj.bib", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0938-1287&volume=14&issue=3&spage=281", abstract = "Sequence datasets are ubiquitous in modern life-science applications, and querying sequences is a common and critical operation in many of these applications. The suffix tree is a versatile data structure that can be used to evaluate a wide variety of queries on sequence datasets, including evaluating exact and approximate string matches, and finding repeat patterns. However, methods for constructing suffix trees are often very time-consuming, especially for suffix trees that are large and do not fit in the available main memory. Even when the suffix tree fits in memory, it turns out that the processor cache behavior of theoretically optimal suffix tree construction methods is poor, resulting in poor performance. Currently, there are a large number of algorithms for constructing suffix trees, but the practical tradeoffs in using these algorithms for different scenarios are not well characterized. In this paper, we explore suffix tree construction algorithms over a wide spectrum of data sources and sizes. First, we show that on modern processors, a cache-efficient algorithm with {$ O(n^2) $} worst-case complexity outperforms popular linear time algorithms like Ukkonen and McCreight, even for in-memory construction. For larger datasets, the disk I/O requirement quickly becomes the bottleneck in each algorithm's performance. To address this problem, we describe two approaches. First, we present a buffer management strategy for the {$ O(n^2) $} algorithm. The resulting new algorithm, which we call ``Top Down Disk-based'' (TDD), scales to sizes much larger than have been previously described in literature. This approach far outperforms the best known disk-based construction methods. Second, we present a new disk-based suffix tree construction algorithm that is based on a sort-merge paradigm, and show that for constructing very large suffix trees with very little resources, this algorithm is more efficient than TDD.", acknowledgement = ack-nhfb, fjournal = "VLDB Journal: Very Large Data Bases", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", keywords = "sequence matching; suffix tree construction", } @Article{Ager:2006:FPE, author = "Mads Sig Ager and Olivier Danvy and Henning Korsholm Rohde", title = "Fast partial evaluation of pattern matching in strings", journal = j-TOPLAS, volume = "28", number = "4", pages = "696--714", month = jul, year = "2006", CODEN = "ATPSDT", DOI = "https://doi.org/10.1145/1146809.1146812", ISSN = "0164-0925 (print), 1558-4593 (electronic)", ISSN-L = "0164-0925", bibdate = "Wed Aug 23 15:21:57 MDT 2006", bibsource = "http://www.acm.org/pubs/contents/journals/toplas/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/toplas.bib", abstract = "We show how to obtain all of Knuth, Morris, and Pratt's linear-time string matcher by specializing a quadratic-time string matcher with respect to a pattern string. Although it has been known for fifteen years how to obtain this linear matcher by partial evaluation of a quadratic one, how to obtain it in linear time has remained an open problem. Obtaining a linear matcher by the partial evaluation of a quadratic one is achieved by performing its backtracking at specialization time and memoizing its results. We show (1) how to rewrite the source matcher such that its static intermediate computations can be shared at specialization time and (2) how to extend the memoization capabilities of a partial evaluator to static functions. Such an extended partial evaluator, if its memoization is implemented efficiently, specializes the rewritten source matcher in linear time. Finally, we show that the method also applies to a variant of Boyer and Moore's string matcher.", acknowledgement = ack-nhfb, fjournal = "ACM Transactions on Programming Languages and Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783", } @Article{Amir:2006:FTD, author = "Amihood Amir and Oren Kapah and Dekel Tsur", title = "Faster two-dimensional pattern matching with rotations", journal = j-THEOR-COMP-SCI, volume = "368", number = "3", pages = "196--204", day = "10", month = dec, year = "2006", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Tue Mar 29 08:55:30 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2005.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Amir:2006:SME, author = "Amihood Amir and Estrella Eisenberg and Ely Porat", title = "Swap and mismatch edit distance", journal = j-ALGORITHMICA, volume = "45", number = "1", pages = "109--120", month = mar, year = "2006", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s00453-005-1192-8", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", bibdate = "Wed Jul 9 22:25:02 MDT 2008", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0178-4617&volume=45&issue=1; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0178-4617&volume=45&issue=1&spage=109", acknowledgement = ack-nhfb, fjournal = "Algorithmica", journal-URL = "http://link.springer.com/journal/453", keywords = "Approximate pattern matching; Edit distance; Hamming distance; Key Words; Swap matching", } @Article{Atkinson:2006:EPM, author = "Darren C. Atkinson and William G. Griswold", title = "Effective pattern matching of source code using abstract syntax patterns", journal = j-SPE, volume = "36", number = "4", pages = "413--447", month = "????", year = "2006", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.704", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Tue Mar 14 11:39:21 MST 2006", bibsource = "http://www.interscience.wiley.com/jpages/0038-0644; http://www3.interscience.wiley.com/journalfinder.html; https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.cse.scu.edu/~atkinson/papers/spe-06.html", abstract = "Program understanding can be assisted by tools that match patterns in the program source. Lexical pattern matchers provide excellent performance and ease of use, but have a limited vocabulary. Syntactic matchers provide more precision, but may sacrifice performance, robustness, or power. To achieve more of the benefits of both models, we extend the pattern syntax of AWK to support matching of abstract syntax trees, as demonstrated in a tool called TAWK. Its pattern syntax is language-independent, based on abstract tree patterns. As in AWK, patterns can have associated actions, which in TAWK are written in C for generality, familiarity, and performance. The use of C is simplified by high-level libraries and dynamic linking. To allow processing of program files containing non-syntactic constructs such as textual macros, mechanisms have been designed that allow matching of language-like macros in a syntactic fashion. We survey and apply prototypical approaches to concretely demonstrate the tradeoffs in program processing. Our results indicate that TAWK can be used to quickly and easily perform a variety of common software engineering tasks, and the extensions to accommodate non-syntactic features significantly extend the generality of syntactic matchers.", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", keywords = "abstract syntax trees; call-graphs; pattern matching; program analysis; program understanding", onlinedate = "13 Dec 2005", } @Article{Bansal:2006:AGP, author = "Sorav Bansal and Alex Aiken", title = "Automatic generation of peephole superoptimizers", journal = j-SIGPLAN, volume = "41", number = "11", pages = "394--403", month = nov, year = "2006", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1168918.1168906", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 10:49:40 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Peephole optimizers are typically constructed using human-written pattern matching rules, an approach that requires expertise and time, as well as being less than systematic at exploiting all opportunities for optimization. We explore fully automatic construction of peephole optimizers using brute force superoptimization. While the optimizations discovered by our automatic system may be less general than human-written counterparts, our approach has the potential to automatically learn a database of thousands to millions of optimizations, in contrast to the hundreds found in current peephole optimizers. We show experimentally that our optimizer is able to exploit performance opportunities not found by existing compilers; in particular, we show speedups from 1.7 to a factor of 10 on some compute intensive kernels over a conventional optimizing compiler.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "code selection; peephole optimization; superoptimization", } @Article{Ben-Amram:2006:BSL, author = "Amir M. Ben-Amram and Holger Petersen", title = "Backing up in singly linked lists", journal = j-J-ACM, volume = "53", number = "4", pages = "681--705", month = jul, year = "2006", CODEN = "JACOAH", DOI = "https://doi.org/10.1145/1162349.1162353", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Thu Sep 21 07:53:28 MDT 2006", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We show how to reduce the time overhead for implementing two-way movement on a singly linked list to {$ O(n^\epsilon) $} per operation without modifying the list and without making use of storage other than a finite number of pointers into the list. We also prove a matching lower bound. These results add precision to the intuitive feeling that doubly linked lists are more efficient than singly linked lists, and quantify the efficiency gap in a read-only situation. We further analyze the number of points of access into the list (pointers) necessary for obtaining a desired value of $ \epsilon $. We obtain tight tradeoffs which also separate the amortized and worst-case settings. Our upper bound implies that read-only programs with singly-linked input can do string matching much faster than previously expected.", acknowledgement = ack-nhfb, fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", } @Article{Bird:2006:BSE, author = "Steven Bird and James R. Curran", title = "Building a search engine to drive problem-based learning", journal = j-SIGCSE, volume = "38", number = "3", pages = "153--157", month = sep, year = "2006", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/1140123.1140166", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sat Nov 17 16:57:28 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Search engines pervade the digital world, mediating most access to information instantaneously. We have found that students can build search engine components, and even entire search engines, in the context of problem-based learning in introductory and intermediate computer science courses. The courses cover a broad range of topics in algorithms, data structures, and web design, with a heavy emphasis on programming. Additionally, the internet is coupled with the syllabus at many places, from web design and HTML to graph algorithms and pattern matching. This connection enlivens the discussion of otherwise dry topics like searching, sorting, indexing and hashing. Moreover, the challenge of web-scale computing motivates the continuing students in their later study of formal topics like algorithmic complexity, while non-continuing students acquire transferable analytical skills. We report on the experience in search engine projects for driving problem-based learning in computer science courses, for both high school and university students. Our experience shows that such projects are effective in both introductory and intermediate courses, and readily encompass student groups with diverse programming abilities.", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", } @Article{Blume:2006:EPF, author = "Matthias Blume and Umut A. Acar and Wonseok Chae", title = "Extensible programming with first-class cases", journal = j-SIGPLAN, volume = "41", number = "9", pages = "239--250", month = sep, year = "2006", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1160074.1159836", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 10:46:22 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We present language mechanisms for polymorphic, extensible records and their exact dual, polymorphic sums with extensible first-class cases. These features make it possible to easily extend existing code with new cases. In fact, such extensions do not require any changes to code that adheres to a particular programming style. Using that style, individual extensions can be written independently and later be composed to form larger components. These language mechanisms provide a solution to the expression problem. We study the proposed mechanisms in the context of an implicitly typed, purely functional language PolyR. We give a type system for the language and provide rules for a 2-phase transformation: first into an explicitly typed \lambda -calculus with record polymorphism, and finally to efficient index-passing code. The first phase eliminates sums and cases by taking advantage of the duality with records. We implement a version of PolyR extended with imperative features and pattern matching --- we call this language MLPolyR. Programs in MLPolyR require no type annotations --- the implementation employs a reconstruction algorithm to infer all types. The compiler generates machine code (currently for PowerPC) and optimizes the representation of sums by eliminating closures generated by the dual construction.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "duality; first-class cases; records; sums", } @Article{Brodie:2006:SAH, author = "Benjamin C. Brodie and David E. Taylor and Ron K. Cytron", title = "A Scalable Architecture For High-Throughput Regular-Expression Pattern Matching", journal = j-COMP-ARCH-NEWS, volume = "34", number = "2", pages = "191--202", year = "2006", CODEN = "CANED2", ISSN = "0163-5964 (ACM), 0884-7495 (IEEE)", ISSN-L = "0163-5964", bibdate = "Mon Aug 21 15:00:05 MDT 2006", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigarch.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGARCH Computer Architecture News", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J89", } @Article{Cantone:2006:SEB, author = "Domenico Cantone and Simone Faro", title = "A Space Efficient Bit-Parallel Algorithm for the Multiple String Matching Problem", journal = j-INT-J-FOUND-COMP-SCI, volume = "17", number = "6", pages = "1235--1251", month = dec, year = "2006", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S0129054106004388", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Tue Aug 31 07:37:14 MDT 2010", bibsource = "http://ejournals.wspc.com.sg/ijfcs/mkt/archive.shtml; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Chazottes:2006:APM, author = "Jean-Rene Chazottes and Frank Redig and Evgeny Verbitskiy", title = "On approximate pattern matching for a class of {Gibbs} random fields", journal = j-ANN-APPL-PROBAB, volume = "16", number = "2", pages = "670--684", month = may, year = "2006", CODEN = "????", ISSN = "1050-5164", ISSN-L = "1050-5164", bibdate = "Fri Jun 6 11:37:51 MDT 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/annapplprobab.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://projecteuclid.org/euclid.aoap/1151592247", acknowledgement = ack-nhfb, fjournal = "Annals of Applied Probability", journal-URL = "http://projecteuclid.org/all/euclid.aoap/; http://www.jstor.org/journals/10505164.html", } @Article{Cleophas:2006:TRA, author = "Loek Cleophas and Kees Hemerik and Gerard Zwaan", title = "Two Related Algorithms for Root-To-Frontier Tree Pattern Matching", journal = j-INT-J-FOUND-COMP-SCI, volume = "17", number = "6", pages = "1253--1272", month = dec, year = "2006", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S012905410600439X", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Tue Aug 31 07:37:14 MDT 2010", bibsource = "http://ejournals.wspc.com.sg/ijfcs/mkt/archive.shtml; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Cohen:2006:JJTa, author = "Tal Cohen and Joseph (Yossi) Gil and Itay Maman", title = "{JTL}: the {Java} tools language", journal = j-SIGPLAN, volume = "41", number = "10", pages = "89--108", month = oct, year = "2006", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1167515.1167481", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 10:47:35 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/java2000.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We present an overview of JTL (the Java Tools Language, pronounced 'Gee-tel'), a novel language for querying JAVA [8] programs. JTL was designed to serve the development of source code software tools for JAVA, and as a small language which to aid programming language extensions to JAVA. Applications include definition of pointcuts for aspect-oriented programming, fixing type constraints for generic programming, specification of encapsulation policies, definition of micro-patterns, etc. We argue that the JTL expression of each of these is systematic, concise, intuitive and general. JTL relies on a simply-typed relational database for program representation, rather than an abstract syntax tree. The underlying semantics of the language is restricted to queries formulated in First Order Predicate Logic augmented with transitive closure (FOPL). Special effort was taken to ensure terse, yet readable expression of logical conditions. The JTL pattern public abstract class, for example, matches all abstract classes which are publicly accessible, while class (public clone();) matches all classes in which method clone is public. To this end, JTL relies on a DATALOG-like syntax and semantics, enriched with quantifiers and pattern matching which all but entirely eliminate the need for recursive calls. JTL's query analyzer gives special attention to the fragility of the 'closed world assumption' in examining JAVA software, and determines whether a query relies on such an assumption. The performance of the JTL interpreter is comparable to that of JQuery after it generated its database cache, and at least an order of magnitude faster when the cache has to be rebuilt.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "https://dl.acm.org/loi/sigplan", keywords = "declarative programming; reverse engineering", } @Article{Danvy:2006:OBM, author = "Olivier Danvy and Henning Korsholm Rohde", title = "On obtaining the {Boyer--Moore} string-matching algorithm by partial evaluation", journal = j-INFO-PROC-LETT, volume = "99", number = "4", pages = "158--162", day = "31", month = aug, year = "2006", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu Mar 31 18:41:12 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Deorowicz:2006:STI, author = "Sebastian Deorowicz", title = "Speeding up transposition-invariant string matching", journal = j-INFO-PROC-LETT, volume = "100", number = "1", pages = "14--20", day = "16", month = oct, year = "2006", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu Mar 31 15:52:27 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Ducasse:2006:ECD, author = "St{\'e}phane Ducasse and Oscar Nierstrasz and Matthias Rieger", title = "On the effectiveness of clone detection by string matching", journal = j-J-SOFTW-MAINT-EVOL, volume = "18", number = "1", pages = "37--58", month = jan, year = "2006", CODEN = "JSMECT", DOI = "https://doi.org/10.1002/smr.317", ISSN = "1532-060X (print), 1532-0618 (electronic)", ISSN-L = "1532-060X", bibdate = "Wed Jan 31 10:00:17 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/jsoftwmaintevol.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Journal of Software Maintenance and Evolution: Research and Practice", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)2047-7481", } @Article{Farfeleder:2006:ECG, author = "Stefan Farfeleder and Andreas Krall and Edwin Steiner and Florian Brandner", title = "Effective compiler generation by architecture description", journal = j-SIGPLAN, volume = "41", number = "7", pages = "145--152", month = jul, year = "2006", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1134650.1134671", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 10:44:55 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Embedded systems have an extremely short time to market and therefore require easily retargetable compilers. Architecture description languages (ADLs) provide a single concise architecture specification for the generation of hardware, instruction set simulators and compilers. In this article, we present an ADL for compiler generation. From a specification, we can derive an optimized tree pattern matching instruction selector, a register allocator and an instruction scheduler. Compared to a hand-crafted back end, the generated compiler produces smaller and faster code. The ADL is rich enough that other tools, such as assemblers, linkers, simulators and documentation, can all be obtained from a single specification.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "architecture description language; code generation; compiler generation", } @Article{Fredriksson:2006:EPS, author = "Kimmo Fredriksson and Maxim Mozgovoy", title = "Efficient parameterized string matching", journal = j-INFO-PROC-LETT, volume = "100", number = "3", pages = "91--96", day = "15", month = nov, year = "2006", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu Mar 31 15:52:29 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Fredriksson:2006:LAS, author = "Kimmo Fredriksson", title = "On-line Approximate String Matching in Natural Language", journal = j-FUND-INFO, volume = "72", number = "4", pages = "453--466", month = sep, year = "2006", CODEN = "FUMAAJ", ISSN = "0169-2968 (print), 1875-8681 (electronic)", ISSN-L = "0169-2968", bibdate = "Sat Mar 5 17:04:34 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/fundinfo2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://content.iospress.com/articles/fundamenta-informaticae/fi72-4-02; http://www.cs.uku.fi/~fredriks/pub/papers/fi06.pdf", acknowledgement = ack-nhfb, fjournal = "Fundamenta Informaticae", journal-URL = "http://content.iospress.com/journals/fundamenta-informaticae", } @Book{Friedl:2006:MRE, author = "Jeffrey E. F. Friedl", title = "Mastering regular expressions", publisher = pub-ORA, address = pub-ORA:adr, edition = "Third", pages = "xxiv + 515", year = "2006", ISBN = "0-596-52812-4 (paperback)", ISBN-13 = "978-0-596-52812-6 (paperback)", LCCN = "QA76.9.T48 F75 2006", bibdate = "Mon Aug 4 15:33:41 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/ora.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib; z3950.loc.gov:7090/Voyager", URL = "http://www.loc.gov/catdir/enhancements/fy0715/2007272426-d.html; http://www.oreilly.com/catalog/9780596528126", abstract = "A regular expression (regex) is a pattern that describes a set of strings. Regular expressions are used for advanced context-sensitive searches (e.g. parsing data streams, data mining) and text modifications. They can be found in many advanced editors (e.g. vi, Emacs), in parser programs (e.g. grep) and in languages (e.g. Perl), mostly in a UNIX environment. This book is the standard work on regexes.", acknowledgement = ack-nhfb, subject = "text processing (computer science); perl (computer program language); computer programming", } @Article{Frisch:2006:OX, author = "Alain Frisch", title = "{OCaml} + {XDuce}", journal = j-SIGPLAN, volume = "41", number = "9", pages = "192--200", month = sep, year = "2006", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1160074.1159829", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 10:46:22 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "This paper presents the core type system and type inference algorithm of OCamlDuce, a merger between OCaml and XDuce. The challenge was to combine two type checkers of very different natures while preserving the best properties of both (principality and automatic type reconstruction on one side; very precise types and implicit subtyping on the other side). Type inference can be described by two successive passes: the first one is an ML-like unification-based algorithm which also extracts data flow constraints about XML values; the second one is an XDuce-like algorithm which computes XML types in a direct way. An optional preprocessing pass, called strengthening, can be added to allow more implicit use of XML subtyping. This pass is also very similar to an ML type checker.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "CDuce; OCaml; regular expression types; type inference; XDuce; XML", } @Article{Gramm:2006:PMA, author = "Jens Gramm and Jiong Guo and Rolf Niedermeier", title = "Pattern matching for arc-annotated sequences", journal = j-TALG, volume = "2", number = "1", pages = "44--65", month = jan, year = "2006", CODEN = "????", ISSN = "1549-6325 (print), 1549-6333 (electronic)", ISSN-L = "1549-6325", bibdate = "Fri May 26 08:40:43 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/talg.bib", acknowledgement = ack-nhfb, fjournal = "ACM Transactions on Algorithms (TALG)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J982", } @Article{Gustafsson:2006:EMB, author = "Per Gustafsson and Konstantinos Sagonas", title = "Efficient manipulation of binary data using pattern matching", journal = j-J-FUNCT-PROGRAM, volume = "16", number = "1", pages = "35--74", month = jan, year = "2006", CODEN = "JFPRES", DOI = "https://doi.org/10.1017/S0956796805005745", ISSN = "0956-7968 (print), 1469-7653 (electronic)", ISSN-L = "0956-7968", bibdate = "Tue Jul 11 18:07:45 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/jfunctprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.cambridge.org/core/product/5FC43829285903225B3BD0A52B1AD975", acknowledgement = ack-nhfb, ajournal = "J. Funct. Program.", fjournal = "Journal of Functional Programming", journal-URL = "http://journals.cambridge.org/action/displayJournal?jid=JFP", onlinedate = "12 September 2005", } @Article{Han:2006:IFR, author = "Yo-Sub Han and Yajun Wang and Derick Wood", title = "Infix-Free Regular Expressions and Languages", journal = j-INT-J-FOUND-COMP-SCI, volume = "17", number = "2", pages = "379--??", month = apr, year = "2006", CODEN = "IFCSEN", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Wed Aug 23 09:03:17 MDT 2006", bibsource = "http://ejournals.wspc.com.sg/ijfcs/mkt/archive.shtml; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Hosaya:2006:REF, author = "Haruo Hosaya", title = "Regular expression filters for {XML}", journal = j-J-FUNCT-PROGRAM, volume = "16", number = "6", pages = "711--750", month = nov, year = "2006", CODEN = "JFPRES", DOI = "https://doi.org/10.1017/S0956796806005909", ISSN = "0956-7968 (print), 1469-7653 (electronic)", ISSN-L = "0956-7968", bibdate = "Tue Jul 11 18:07:48 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/jfunctprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.cambridge.org/core/product/F27B4BABC2160A54AF14D9B76D6CC999", acknowledgement = ack-nhfb, ajournal = "J. Funct. Program.", fjournal = "Journal of Functional Programming", journal-URL = "http://journals.cambridge.org/action/displayJournal?jid=JFP", onlinedate = "09 June 2006", } @Article{Huynh:2006:ASM, author = "Trinh N. D. Huynh and Wing-Kai Hon and Tak-Wah Lam and Wing-Kin Sung", title = "Approximate string matching using compressed suffix arrays", journal = j-THEOR-COMP-SCI, volume = "352", number = "1--3", pages = "240--249", day = "7", month = mar, year = "2006", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Tue Mar 29 06:48:56 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2005.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Book{Kahrel:2006:AIR, author = "Peter Kahrel", title = "Automating {InDesign} with regular expressions", publisher = pub-ORA, address = pub-ORA:adr, year = "2006", ISBN = "0-596-52937-6", ISBN-13 = "978-0-596-52937-6", LCCN = "Z253.532.A34; Z253.532.A34 K34 2006eb", bibdate = "Tue Aug 5 18:11:25 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/java2000.bib; https://www.math.utah.edu/pub/tex/bib/ora.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; melvyl.cdlib.org:210/CDL90", URL = "http://www.oreilly.com/catalog/9780596529376", acknowledgement = ack-nhfb, subject = "Adobe InDesign; Desktop publishing; JavaScript (Computer program language)", } @Article{Kaminski:2006:REL, author = "Michael Kaminski and Tony Tan", title = "Regular Expressions for Languages over Infinite Alphabets", journal = j-FUND-INFO, volume = "69", number = "3", pages = "301--318", month = feb, year = "2006", CODEN = "FUMAAJ", ISSN = "0169-2968 (print), 1875-8681 (electronic)", ISSN-L = "0169-2968", bibdate = "Sat Mar 5 17:04:00 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/fundinfo2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Fundamenta Informaticae", journal-URL = "http://content.iospress.com/journals/fundamenta-informaticae", } @Article{Kawahito:2006:NIR, author = "Motohiro Kawahito and Hideaki Komatsu and Takao Moriyama and Hiroshi Inoue and Toshio Nakatani", title = "A new idiom recognition framework for exploiting hardware-assist instructions", journal = j-SIGPLAN, volume = "41", number = "11", pages = "382--393", month = nov, year = "2006", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1168917.1168905", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 10:49:40 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/java2000.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Modern processors support hardware-assist instructions (such as TRT and TROT instructions on IBM zSeries) to accelerate certain functions such as delimiter search and character conversion. Such special instructions have often been used in high performance libraries, but they have not been exploited well in optimizing compilers except for some limited cases. We propose a new idiom recognition technique derived from a topological embedding algorithm [4] to detect idiom patterns in the input program more aggressively than in previous approaches. Our approach can detect a pattern even if the code segment does not exactly match the idiom. For example, we can detect a code segment that includes additional code within the idiom pattern. We implemented our new idiom recognition approach based on the Java Just-In-Time (JIT) compiler that is part of the J9 Java Virtual Machine, and we supported several important idioms for special hardware-assist instructions on the IBM zSeries and on some models of the IBM pSeries. To demonstrate the effectiveness of our technique, we performed two experiments. The first one is to see how many more patterns we can detect compared to the previous approach. The second one is to see how much performance improvement we can achieve over the previous approach. For the first experiment, we used the Java Compatibility Kit (JCK) API tests. For the second one we used IBM XML parser, SPECjvm98, and SPCjbb2000. In summary, relative to a baseline implementation using exact pattern matching, our algorithm converted 75\% more loops in JCK tests. We also observed significant performance improvement of the XML parser by 64\%, of SPECjvm98 by 1\%, and of SPECjbb2000 by 2\% on average on a z990. Finally, we observed the JIT compilation time increases by only 0.32\% to 0.44\%.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "hardware-assist instructions; idiom recognition; Java; JIT; topological embedding; VMX", } @Article{Kawanaka:2006:BBT, author = "Shinya Kawanaka and Haruo Hosoya", title = "{biXid}: a bidirectional transformation language for {XML}", journal = j-SIGPLAN, volume = "41", number = "9", pages = "201--214", month = sep, year = "2006", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1160074.1159830", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 10:46:22 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Often, independent organizations define and advocate different XML formats for a similar purpose and, as a result, application programs need to mutually convert between such formats. Existng XML transformation languages, such as XSLT and XDuce, are unsatisfactory for this purpose since we would have to write, e.g., two programs for the forward and the backward transformations in case of two formats, incur high developing and maintenance costs. This paper proposes the bidirectional XML transformation language biXid, allowing us to write only one program for both directions of conversion. Our language adopts a common paradigm programming-by-relation, where a program defines a relation over documents and transforms a document to another in a way satisfying this relation. Our contributions here are specific language features for facilitating realistic conversions whose target formats are loosely in parallel but have many discrepancies in details. Concretely, we (1) adopt XDuce-style regular expression patterns for describing and analyzing XML structures, (2) fully permit ambiguity for treating formats that do not have equivalent expressivenesses, and (3) allow non-linear pattern variables for expressing non-trivial transformations that cannot be written only with linear patterns, such as conversion between unordered and ordered data. We further develop an efficient evaluation algorithm for biXid, consisting of the 'parsing' phase that transforms the input document to an intermediate 'parse tree' structure and the 'unparsing' phase that transforms it to an output document. Both phases use a variant of finite tree automata for performing a one-pass scan on the input or the parse tree by using a standard technique that 'maintains the set of all transitable states.' However, the construction of the 'unparsing' phase is challenging since ambiguity causes different ways of consuming the parse tree and thus results in multiple possible outputs that may have different structures. We have implemented a prototype system of biXid and confirmed that it has enough expressiveness and a linear-time performance from experiments with several realistic bidirectional transformations including one between vCard-XML and ContactXML.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "tree automata; XML", } @Article{Klein:2006:CPM, author = "Shmuel T. Klein and Dana Shapira", title = "Compressed Pattern Matching in {JPEG} Images", journal = j-INT-J-FOUND-COMP-SCI, volume = "17", number = "6", pages = "1297--1306", month = dec, year = "2006", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S012905410600442X", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Tue Aug 31 07:37:14 MDT 2010", bibsource = "http://ejournals.wspc.com.sg/ijfcs/mkt/archive.shtml; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Laird:2006:RER, author = "Cameron Laird and Kathryn Soraiz", title = "Regular Expressions: {Rexx} Still Going Strong", journal = j-UNIX-REVIEW, volume = "??", number = "??", pages = "??--??", month = jan, year = "2006", CODEN = "UNRED5", ISSN = "0742-3136", bibdate = "Fri Jan 27 14:54:59 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.unixreview.com/documents/s=9953/ur0601h/ur0601h.html", acknowledgement = ack-nhfb, fjournal = "UNIX review", } @Article{Lenka:2006:SML, author = "Dillip Kumar Lenka and Pawan Kumar", title = "States merging in {LR} parser", journal = j-SIGPLAN, volume = "41", number = "4", pages = "24--29", month = apr, year = "2006", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1147214.1147219", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 10:42:17 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Here a scheme is presented, which reduces the size of an LR parser. It is accomplished by merging two states, which do not perform differently on the same input symbol or non-terminal. This state merging has following advantages:1. The reduction in number of states is greater than the reduction in an LALR parser.2. The power of parser is not reduced as it would be in an LALR parser. The above merging scheme has following disadvantages:1. Even erroneous inputs are accepted. However, it is stopped by changing the notion of acceptance.2. Errors are report late and in a misleading manner.3. Parsing takes more time because string matching is done during reduction.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", } @Article{Lu:2006:PFS, author = "Shiyong Lu and Feng Cao and Yi Lu", title = "{PAMA}: a Fast String Matching Algorithm", journal = j-INT-J-FOUND-COMP-SCI, volume = "17", number = "2", pages = "357--378", month = apr, year = "2006", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S0129054106003875", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Wed Aug 23 09:03:17 MDT 2006", bibsource = "http://ejournals.wspc.com.sg/ijfcs/mkt/archive.shtml; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "String matching is a fundamental operation in computer science, and its performance has great impact on many applications including database query, text processing, DNA and protein sequence analysis. In this paper, we propose a fast string matching algorithm, PAMA (PAttern MAtching). The shift rule used by PAMA not only subsumes both the bad character rule and the good suffix rule employed by the well-known Boyer--Moore algorithm, but also employs an additional key observation to enable faster shifting during the string matching process. Theoretically, we prove that from the same alignment, the next shift of PAMA will be at least as much as that of the Boyer--Moore algorithm. Experimentally, we show that PAMA indeed significantly outperforms the original Boyer--Moore algorithm in almost all cases, and outperforms other Boyer--Moore variants such as Tuned-BM, Turbo-BM and Horspool for long patterns (length $ \geq 128 $ ) or for small alphabets (size $ < 8 $ ).", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Maass:2006:MSE, author = "Moritz G. Maa{\ss}", title = "Matching statistics: efficient computation and a new practical algorithm for the multiple common substring problem", journal = j-SPE, volume = "36", number = "3", pages = "305--331", month = mar, year = "2006", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.698", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Tue Mar 14 11:39:21 MST 2006", bibsource = "http://www.interscience.wiley.com/jpages/0038-0644; http://www3.interscience.wiley.com/journalfinder.html; https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We present new algorithms for computing matching statistics with suffix arrays. We show how the Multiple Common Substring Problem can be solved efficiently in practice with a new approach using matching statistics. This problem consists of finding the common substrings of a set of strings. For the computation of matching statistics we compare seven different methods based on suffix trees and suffix arrays. Most of the suffix array algorithms have an inferior asymptotic worst case running time but a very low memory overhead and small constants in the running time complexity. Our experiments show a good performance in practice.", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", keywords = "algorithms and data structures; common substring problem; matching statistics; pattern matching; suffix array; suffix tree", onlinedate = "22 Nov 2005", } @Article{Mann:2006:TBG, author = "Paul B. Mann", title = "A translational {BNF} grammar notation {(TBNF)}", journal = j-SIGPLAN, volume = "41", number = "4", pages = "16--23", month = apr, year = "2006", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1147214.1147218", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 10:42:17 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "BNF grammar notation came into existence about 1960 for the specification of programming languages. It was first used for the automatic generation of parsers about 1972. BNF was later replaced with EBNF offering regular expression notation in the right side of grammar rules. EBNF is powerful, however, it describes only the recognition phase, which is only 1/3 of the process of language translation. The second phase is the construction of an abstract-syntax tree and the third phase is the creation of an instruction code sequence. Some parser generators automate the construction of an AST, but none, that I know of, automate the output of instruction codes. Certainly if these second and third phases are to be automated, a suitable notation is required in the grammar. This paper proposes a notation that permits the construction of the AST in the correct order and the creation of instruction codes. In effect, the complete translation process can be described in the grammar and correct translators generated automatically. A working system has been implemented and tested with good results. The generator is called LRgen and the new grammar notation is called TBNF.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "AST; BNF; compiler compiler; EBNF; grammar; grammarware; intermediate code; LALR; language recognition; LL; LR; parser; parser generator; syntax", } @Article{Navarro:2006:MIA, author = "Gonzalo Navarro and Edgar Ch{\'a}vez", title = "A metric index for approximate string matching", journal = j-THEOR-COMP-SCI, volume = "352", number = "1--3", pages = "266--279", day = "7", month = mar, year = "2006", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Tue Mar 29 06:48:56 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2005.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Nebel:2006:FSM, author = "Markus E. Nebel", title = "Fast string matching by using probabilities: {On} an optimal mismatch variant of {Horspool}'s algorithm", journal = j-THEOR-COMP-SCI, volume = "359", number = "1--3", pages = "329--343", day = "14", month = aug, year = "2006", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Tue Mar 29 06:49:00 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2005.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Paul:2006:SSC, author = "Souradyuti Paul and Bart Preneel", title = "On the (In)security of Stream Ciphers Based on Arrays and Modular Addition", journal = j-LECT-NOTES-COMP-SCI, volume = "4284", pages = "69--83", year = "2006", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/11935230_5", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Fri Mar 13 08:42:37 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/cryptography2000.bib; https://www.math.utah.edu/pub/tex/bib/lncs2006a.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/content/pdf/10.1007/11935230_5.pdf", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/11935230", book-URL = "http://www.springerlink.com/content/978-3-540-49476-8", fjournal = "Lecture Notes in Computer Science", } @TechReport{Pike:2006:SRE, author = "Rob Pike", title = "Structural Regular Expressions", type = "Report", institution = inst-ATT-BELL, address = inst-ATT-BELL:adr, pages = "7", day = "23", month = mar, year = "2006", bibdate = "Mon Mar 04 17:08:47 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", URL = "https://doc.cat-v.org/bell_labs/structural_regexps/se.pdf", acknowledgement = ack-nhfb, } @Article{Plumlee:2006:ZVM, author = "Matthew D. Plumlee and Colin Ware", title = "Zooming versus multiple window interfaces: {Cognitive} costs of visual comparisons", journal = j-TOCHI, volume = "13", number = "2", pages = "179--209", month = jun, year = "2006", CODEN = "ATCIF4", DOI = "https://doi.org/10.1145/1165734.1165736", ISSN = "1073-0516 (print), 1557-7325 (electronic)", ISSN-L = "1073-0516", bibdate = "Sat Oct 7 09:34:20 MDT 2006", bibsource = "http://www.acm.org/pubs/contents/journals/tochi/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tochi.bib", abstract = "In order to investigate large information spaces effectively, it is often necessary to employ navigation mechanisms that allow users to view information at different scales. Some tasks require frequent movements and scale changes to search for details and compare them. We present a model that makes predictions about user performance on such comparison tasks with different interface options. A critical factor embodied in this model is the limited capacity of visual working memory, allowing for the cost of visits via fixating eye movements to be compared to the cost of visits that require user interaction with the mouse. This model is tested with an experiment that compares a zooming user interface with a multi-window interface for a multiscale pattern matching task. The results closely matched predictions in task performance times; however error rates were much higher with zooming than with multiple windows. We hypothesized that subjects made more visits in the multi-window condition, and ran a second experiment using an eye tracker to record the pattern of fixations. This revealed that subjects made far more visits back and forth between pattern locations when able to use eye movements than they made with the zooming interface. The results suggest that only a single graphical object was held in visual working memory for comparisons mediated by eye movements, reducing errors by reducing the load on visual working memory. Finally we propose a design heuristic: extra windows are needed when visual comparisons must be made involving patterns of a greater complexity than can be held in visual working memory.", acknowledgement = ack-nhfb, fjournal = "ACM Transactions on Computer-Human Interaction", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J756", } @Article{Rao:2006:SXD, author = "Praveen Rao and Bongki Moon", title = "Sequencing {XML} data and query twigs for fast pattern matching", journal = j-TODS, volume = "31", number = "1", pages = "299--345", month = mar, year = "2006", CODEN = "ATDSD3", ISSN = "0362-5915 (print), 1557-4644 (electronic)", ISSN-L = "0362-5915", bibdate = "Fri May 26 08:20:49 MDT 2006", bibsource = "http://www.acm.org/pubs/contents/journals/tods/; https://www.math.utah.edu/pub/tex/bib/sgml2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tods.bib", acknowledgement = ack-nhfb, fjournal = "ACM Transactions on Database Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J777", } @Article{Salmela:2006:MSM, author = "Leena Salmela and Jorma Tarhio and Jari Kyt{\"o}joki", title = "Multipattern string matching with $q$-grams", journal = j-ACM-J-EXP-ALGORITHMICS, volume = "11", pages = "1.1:1--1.1:??", month = "????", year = "2006", CODEN = "????", DOI = "https://doi.org/10.1145/1187436.1187438", ISSN = "1084-6654", ISSN-L = "1084-6654", bibdate = "Mon Oct 6 16:06:20 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/jea.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We present three algorithms for exact string matching of multiple patterns. Our algorithms are filtering methods, which apply $q$-grams and bit parallelism. We ran extensive experiments with them and compared them with various versions of earlier algorithms, e.g., different trie implementations of the Aho--Corasick algorithm. All of our algorithms appeared to be substantially faster than earlier solutions for sets of 1,000--10,000 patterns and the good performance of two of them continues to 100,000 patterns. The gain is because of the improved filtering efficiency caused by $q$-grams.", acknowledgement = ack-nhfb, articleno = "1.1", fjournal = "Journal of Experimental Algorithmics (JEA)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J430", keywords = "content scanning; intrusion detection; multiple string matching", } @Article{Solar-Lezama:2006:CSF, author = "Armando Solar-Lezama and Liviu Tancau and Rastislav Bodik and Sanjit Seshia and Vijay Saraswat", title = "Combinatorial sketching for finite programs", journal = j-SIGPLAN, volume = "41", number = "11", pages = "404--415", month = nov, year = "2006", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1168917.1168907", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 10:49:40 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/cryptography2000.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Sketching is a software synthesis approach where the programmer develops a partial implementation --- a sketch --- and a separate specification of the desired functionality. The synthesizer then completes the sketch to behave like the specification. The correctness of the synthesized implementation is guaranteed by the compiler, which allows, among other benefits, rapid development of highly tuned implementations without the fear of introducing bugs. We develop SKETCH, a language for finite programs with linguistic support for sketching. Finite programs include many high-performance kernels, including cryptocodes. In contrast to prior synthesizers, which had to be equipped with domain-specific rules, SKETCH completes sketches by means of a combinatorial search based on generalized boolean satisfiability. Consequently, our combinatorial synthesizer is complete for the class of finite programs: it is guaranteed to complete any sketch in theory, and in practice has scaled to realistic programming problems. Freed from domain rules, we can now write sketches as simple-to-understand partial programs, which are regular programs in which difficult code fragments are replaced with holes to be filled by the synthesizer. Holes may stand for index expressions, lookup tables, or bitmasks, but the programmer can easily define new kinds of holes using a single versatile synthesis operator. We have used SKETCH to synthesize an efficient implementation of the AES cipher standard. The synthesizer produces the most complex part of the implementation and runs in about an hour.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "SAT; sketching", } @Article{Tan:2006:BSS, author = "Lin Tan and Brett Brotherton and Timothy Sherwood", title = "Bit-split string-matching engines for intrusion detection and prevention", journal = j-TACO, volume = "3", number = "1", pages = "3--34", month = mar, year = "2006", CODEN = "????", ISSN = "1544-3566 (print), 1544-3973 (electronic)", ISSN-L = "1544-3566", bibdate = "Thu May 18 08:38:26 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/taco.bib", acknowledgement = ack-nhfb, fjournal = "ACM Transactions on Architecture and Code Optimization (TACO)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J924", } @Article{Vansummeren:2006:TIU, author = "Stijn Vansummeren", title = "Type inference for unique pattern matching", journal = j-TOPLAS, volume = "28", number = "3", pages = "389--428", month = may, year = "2006", CODEN = "ATPSDT", DOI = "https://doi.org/10.1145/1133651.1133652", ISSN = "0164-0925 (print), 1558-4593 (electronic)", ISSN-L = "0164-0925", bibdate = "Tue May 30 16:33:23 MDT 2006", bibsource = "http://www.acm.org/pubs/contents/journals/toplas/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/toplas.bib", abstract = "Regular expression patterns provide a natural, declarative way to express constraints on semistructured data and to extract relevant information from it. Indeed, it is a core feature of the programming language Perl, surfaces in various UNIX tools such as sed and awk, and has recently been proposed in the context of the XML programming language XDuce. Since regular expressions can be ambiguous in general, different disambiguation policies have been proposed to get a unique matching strategy. We formally define the matching semantics under both (1) the POSIX, and (2) the first and longest match disambiguation strategies. We show that the generally accepted method of defining the longest match in terms of the first match and recursion does not conform to the natural notion of longest match. We continue by solving the type inference problem for both disambiguation strategies, which consists of calculating the set of all subparts of input values a subexpression can match under the given policy.", acknowledgement = ack-nhfb, ajournal = "ACM Trans. Program. Lang. Syst.", fjournal = "ACM Transactions on Programming Languages and Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783", } @Article{Vouillon:2006:PRT, author = "J{\'e}r{\^o}me Vouillon", title = "Polymorphic regular tree types and patterns", journal = j-SIGPLAN, volume = "41", number = "1", pages = "103--114", month = jan, year = "2006", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1111037.1111047", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 10:39:41 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We propose a type system based on regular tree grammars, where algebraic datatypes are interpreted in a structural way. Thus, the same constructors can be reused for different types and a flexible subtyping relation can be defined between types, corresponding to the inclusion of their semantics. For instance, one can define a type for lists and a subtype of this type corresponding to lists of even length. Patterns are simply types annotated with binders. This provides a generalization of algebraic patterns with the ability of matching arbitrarily deep in a value. Our main contribution, compared to languages such as XDuce and CDuce, is that we are able to deal with both polymorphism and function types.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "polymorphism; subtyping; tree automata", } @Article{Amir:2007:DTS, author = "Amihood Amir and Gad M. Landau and Moshe Lewenstein and Dina Sokol", title = "Dynamic text and static pattern matching", journal = j-TALG, volume = "3", number = "2", pages = "19:1--19:??", month = may, year = "2007", CODEN = "????", DOI = "https://doi.org/10.1145/1240233.1240242", ISSN = "1549-6325 (print), 1549-6333 (electronic)", ISSN-L = "1549-6325", bibdate = "Mon Jun 16 11:54:42 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/talg.bib", abstract = "In this article, we address a new version of dynamic pattern matching. The dynamic text and static pattern matching problem is the problem of finding a static pattern in a text that is continuously being updated. The goal is to report all new occurrences of the pattern in the text after each text update. We present an algorithm for solving the problem where the text update operation is changing the symbol value of a text location. Given a text of length $n$ and a pattern of length $m$, our algorithm preprocesses the text in time {$ O(n \log \log m) $}, and the pattern in time {$ O(m \log m) $}. The extra space used is {$ O(n + m \log m) $}. Following each text update, the algorithm deletes all prior occurrences of the pattern that no longer match, and reports all new occurrences of the pattern in the text in {$ O(\log \log m) $} time. We note that the complexity is not proportional to the number of pattern occurrences, since all new occurrences can be reported in a succinct form.", acknowledgement = ack-nhfb, articleno = "19", fjournal = "ACM Transactions on Algorithms (TALG)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J982", keywords = "border trees; Dynamic text; static pattern", } @Article{Arbe:2007:FLT, author = "Jos{\'e} Miguel Blanco Arbe and Ana S{\'a}nchez Ortega and Jes{\'u}s Ib{\'a}{\~n}ez M{\'a}rtinez-Conde", title = "Formal languages through {Web} forms and regular expressions", journal = j-SIGCSE, volume = "39", number = "4", pages = "100--104", month = dec, year = "2007", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/1345375.1345424", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sat Nov 17 16:57:39 MST 2012", bibsource = "DBLP; http://dblp.uni-trier.de/db/journals/sigcse/sigcse39.html#ArbeOM07; http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/java2000.bib; https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2007.bib", abstract = "We present a practical and up-to-date proposal to teach formal languages. It takes advantage of frequent use of regular-expressions to specify entry data forms in different contexts and, particularly, in three-layer web applications. Compared to more classical approaches our method improves significantly the acquainting of students with the immediate practical utility of the concepts involved in formal language definition. Students must develop code fragments based on JavaScript notation of regular-expressions. Accordingly, any web browser can be a suitable platform for the execution of solutions. The experience has proved to be effective and well-accepted by students and teachers.", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", } @Article{Avgustinov:2007:MTM, author = "Pavel Avgustinov and Julian Tibble and Oege de Moor", title = "Making trace monitors feasible", journal = j-SIGPLAN, volume = "42", number = "10", pages = "589--608", month = oct, year = "2007", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1297105.1297070", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 11:00:28 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "A trace monitor observes an execution trace at runtime; when it recognises a specified sequence of events, the monitor runs extra code. In the aspect-oriented programming community, the idea originated as a generalisation of the advice-trigger mechanism: instead of matching on single events (joinpoints), one matches on a sequence of events. The runtime verification community has been investigating similar mechanisms for a number of years, specifying the event patterns in terms of temporal logic, and applying the monitors to hardware and software.\par In recent years trace monitors have been adapted for use with mainstream object-oriented languages. In this setting, a crucial feature is to allow the programmer to quantify over groups of related objects when expressing the sequence of events to match. While many language proposals exist for allowing such features, until now no implementation had scalable performance: execution on all but very simple examples was infeasible.\par This paper rectifies that situation, by identifying two optimisations for generating feasible trace monitors from declarative specifications of the relevant event pattern. We restrict ourselves to optimisations that do not have a significant impact on compile-time: they only analyse the event pattern, and not the monitored code itself.\par The first optimisation is an important improvement over an earlier proposal in [2] to avoid space leaks. The second optimisation is a form of indexing for partial matches. Such indexing needs to be very carefully designed to avoid introducing new space leaks, and the resulting data structure is highly non-trivial.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "program analysis; program monitors; runtime verification", } @Article{Baeten:2007:CRE, author = "J. C. M. Baeten and F. Corradini and C. A. Grabmayer", title = "A characterization of regular expressions under bisimulation", journal = j-J-ACM, volume = "54", number = "2", pages = "6:1--6:28", month = apr, year = "2007", CODEN = "JACOAH", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Sat Apr 14 10:54:02 MDT 2007", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, articleno = "6", fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", } @Article{Bontempi:2007:BSI, author = "Gianluca Bontempi", title = "A Blocking Strategy to Improve Gene Selection for Classification of Gene Expression Data", journal = j-TCBB, volume = "4", number = "2", pages = "293--300", month = apr, year = "2007", CODEN = "ITCBCY", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Thu Jun 12 16:57:55 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "Because of high dimensionality, machine learning algorithms typically rely on feature selection techniques in order to perform effective classification in microarray gene expression data sets. However, the large number of features compared to the number of samples makes the task of feature selection computationally hard and prone to errors. This paper interprets feature selection as a task of stochastic optimization, where the goal is to select among an exponential number of alternative gene subsets the one expected to return the highest generalization in classification. Blocking is an experimental design strategy which produces similar experimental conditions to compare alternative stochastic configurations in order to be confident that observed differences in accuracy are due to actual differences rather than to fluctuations and noise effects. We propose an original blocking strategy for improving feature selection which aggregates in a paired way the validation outcomes of several learning algorithms to assess a gene subset and compare it to others. This is a novelty with respect to conventional wrappers, which commonly adopt a sole learning algorithm to evaluate the relevance of a given set of variables. The rationale of the approach is that, by increasing the amount of experimental conditions under which we validate a feature subset, we can lessen the problems related to the scarcity of samples and consequently come up with a better selection. The paper shows that the blocking strategy significantly improves the performance of a conventional forward selection for a set of 16 publicly available cancer expression data sets. The experiments involve six different classifiers and show that improvements take place independent of the classification algorithm used after the selection step. Two further validations based on available biological annotation support the claim that blocking strategies in feature selection may improve the accuracy and the quality of the solution. The first validation is based on retrieving PubMEd abstracts associated to the selected genes and matching them to regular expressions describing the biological phenomenon underlying the expression data sets. The biological validation that follows is based on the use of the Bioconductor package GoStats in order to perform Gene Ontology statistical analysis.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", keywords = "bioinformatics (genome or protein) databases; data mining; feature evaluation and selection; machine learning", } @Book{Bourret:2007:AXA, author = "Ronald Bourret and others", title = "Advanced {XML} applications from the experts at {The XML Guild}", publisher = "Thomson Course Technology", address = "Boston, MA, USA", pages = "xxii + 362", year = "2007", ISBN = "1-59863-214-0 (paperback)", ISBN-13 = "978-1-59863-214-9 (paperback)", LCCN = "QA76.76.H94 A32 2007", bibdate = "Wed Mar 13 13:43:00 MDT 2013", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, subject = "XML (Document markup language)", tableofcontents = "Chapter 1: XML Namespaces / 1 \\ Understanding Namespaces / 1 \\ Motivation for Using XML Namespaces / 1 \\ Namespaces Grafted into the Foundation / 2 \\ A Namespaces Primer / 3 \\ QNames in Content / 9 \\ Un-Declaring Namespaces / 12 \\ Using Namespaces in XSLT / 15 \\ Processing Namespaces / 15 \\ Constructing Namespaces / 21 \\ Chapter 2: XML Schema Languages / 37 \\ XML Schema Technology Overview / 37 \\ Co-Occurrence Constraints / 39 \\ The Use Case (Example) / 39 \\ W3C XML Schema / 40 \\ RELAX NG Alone / 56 \\ W3C XML Schema and the Schematron Constraint / 64 \\ Constraint on Repeated Elements / 69 \\ The Use Case / 69 \\ W3C XML Schema / 70 \\ RELAX NG Alone / 71 \\ W3C XML Schema or RELAX NG with Schematron / 72 \\ Microformats / 76 \\ The Use Case / 76 \\ W3C XML Schema / 77 \\ RELAX NG / 77 \\ Schematron / 81 \\ Transformations Needed / 82 \\ Wrapping Up / 86 \\ Confirm That You've Really Hit a Limitation / 86 \\ Consider Using a Workaround / 88 \\ Look at Other Schema Languages / 89 \\ Think Differently / 89 \\ Chapter 3: XSLT / 91 \\ XPath / 91 \\ Running XSLT / 91 \\ XSLT 1.0 / 92 \\ XSLT 1.0 Elements / 93 \\ Document Elements / 93 \\ Top-Level Elements / 94 \\ Instruction Elements / 95 \\ Push versus Pull / 96 \\ Using XSLT to Convert XML to HTML / 96 \\ The ``Pull'' Method / 96 \\ The ``Push'' Method / 97 \\ Tips and Tricks for XSLT 1.0 / 99 \\ Dynamic XML Transformation Using XSLT / 99 \\ xml-to-string.xsl / 100 \\ Namespace Declaration Normalizer / 100 \\ Excel Spreadsheet Cleanup / 102 \\ Reversing a Table / 104 \\ Generating XSLT with XSLT / 106 \\ Building a Data Mapping Stylesheet from a Mapping Expressed in XML / 107 \\ Parsing Strings with XSLT / 110 \\ Using XSLT to Convert XML to Java/C\# Code / 115 \\ XSLT Example of ``for i=1 to n do'' / 119 \\ Muenchian Method for Grouping / 119 \\ Handling Character Entities in XSLT 1.0 / 122 \\ XPath 1.0 Subtleties / 128 \\ Using position() Properly / 128 \\ Using Variables to Store Literal or Numeric Values / 130 \\ XSLT 2.0 / 130 \\ XSLT 2.0 Features Overview / 132 \\ Temporary Trees / 132 \\ Grouping / 133 \\ Regular Expressions / 138 \\ Sequences / 139 \\ Multiple Output Files / 140 \\ Stylesheet Functions / 141 \\ Schema Awareness and Type Checking / 142 \\ Handling Special Characters / 142 \\ Tunnel Parameters / 144 \\ Next Match / 144 \\ Chapter 4: Web Services / 147 \\ Functional Overview / 147 \\ Web Services Technology Overview / 150 \\ Examples of Web Services / 150 \\ SOAP / 152 \\ SOAP Messaging and HTTP Binding / 152 \\ SMTP Bindings / 152 \\ Example SOAP Messages / 153 \\ SOAP and RPCs / 154 \\ WSDL and SOAP / 154 \\ WSDL Message / 155 \\ WSDL Binding / 155 \\ WSDL Service / 155 \\ Example WSDL Message / 156 \\ UDDI / 159 \\ WS-I / 163 \\ WS-I Profiles / 164 \\ WS-I Sample Applications / 164 \\ WS-I Testing Tools / 164 \\ Alternatives: REST and ebXML / 165 \\ REST / 165 \\ ebXML / 166 \\ Chapter 5: XML APIs / 167 \\ Comparison of XML APIs / 168 \\ Streaming APIs / 168 \\ SAX / 169 \\ XMLReader / 179 \\ StAX / 182 \\ Random-Access APIs / 185 \\ DOM / 186 \\ dom4i, JDOM, and XOM / 189 \\ VTD-XML / 189 \\ JAXP XPath / 189 \\ XPathDocument (.NET, Mono) / 191 \\ Schema Compilers / 193 \\ JAXB / 195 \\ .NET XML Schema Definition Tool / 203 \\ C24 10 / 206 \\ Relaxer / 209 \\ XML-Object Mappers / 209 \\ Object Serializers / 210 \\ Transformers / 211 \\ JAXP Transformation API (TrAX) / 211 \\ System.XmI.XsI / 214 \\ XQJ / 216 \\ Selecting the Right XML API for the Job / 216 \\ Choose the Right Kind of Efficiency / 216 \\ Use Multiple XML APIs When Appropriate / 217 \\ Robustness of XML APIs / 218 \\ Chapter 6: XML and Databases / 221 \\ Approaches to Storing XML Data / 222 \\ Using Blob Storage / 224 \\ Using Shredded Storage / 225 \\ Using Native Storage / 228 \\ The Role of Schemas in XML Storage and Query / 229 \\ Schema-Awareness in XQuery / 231 \\ Managing Schema Variety and Change / 234 \\ When Not to Use a Schema / 237 \\ Choosing a Database Product / 238 \\ Chapter 7: XQuery / 243 \\ XQuery Data Model / 243 \\ Atomic Values / 244 \\ Nodes / 244 \\ Sequences / 245 \\ Constructs Not in XQuery Data Model / 246 \\ Grammar Notes / 246 \\ Constructors / 246 \\ Expressions / 247 \\ Enclosed Expressions / 248 \\ Comma Operators / 250 \\ Path Expressions / 250 \\ Selecting the Root Element / 251 \\ Selecting Child Elements / 251 \\ Selecting Attributes / 252 \\ Restricting the Selection / 253 \\ How Do Path Expressions Work? / 253 \\ FLWOR Expressions / 259 \\ For Clauses / 260 \\ Let Clauses / 261 \\ Where Clauses / 264 \\ Order By Clauses / 265 \\ Joining Documents with FLWOR Expressions / 266 \\ Other Expressions / 269 \\ Arithmetic Expressions / 269 \\ Comparison Expressions / 269 \\ Conditional Expressions (if-then-else) / 270 \\ Set Expressions / 271 \\ Functions / 271 \\ Input Functions / 271 \\ String and Data Functions / 272 \\ User-Defined Functions / 274 \\ Datatypes / 276 \\ Using XQuery without Datatypes / 276 \\ Using XQuery with Datatypes / 278 \\ Expressions That Use Datatypes / 280 \\ Some Important Details / 281 \\ Atomization / 281 \\ Effective Boolean Values / 282 \\ Modules and Prologs / 283 \\ Library Modules / 283 \\ Global Variables / 285 \\ Namespaces / 285 \\ Chapter 8: XML Authoring / 289 \\ Defining an XML Authoring Environment / 290 \\ Using a WYSIWYG Authoring Tool / 290 \\ Using XML IDE / 291 \\ Using Standard Word Processing / 291 \\ Converting Data into XML / 292 \\ Selecting an Appropriate Schema / 292 \\ Schema Constructs That Affect Authors / 293 \\ Approaches for Difficult Schema Structures / 297 \\ Common Standard Schemas / 302 \\ Form-Based Authoring / 303 \\ HTML Custom Forms / 303 \\ Creating Forms with XForms / 307 \\ Chapter 9: XSL-FO / 311 \\ XML Transformation and Rendering Using HTML / 313 \\ XML Transformation and Pagination Using XSL-FO / 313 \\ The XSL-FO Processing Model / 314 \\ Bordering and Area Tree Rectangles / 316 \\ Un-Bordered and Bordered Areas / 316 \\ Area Placement for Block-Level Constructs / 320 \\ Area Placement for Inline-Level Constructs / 323 \\ Area Backgrounds / 325 \\ Bidirectional Text Protection / 326 \\ Unicode Directionality / 326 \\ Formatting Without Consideration for Direction / 328 \\ Formatting with Consideration for Direction / 330 \\ Disambiguation and Aggregation in Area Tree References / 333 \\ A Problem of Ambiguity / 334 \\ Adding Stylesheet References / 336 \\ Making Numerous References / 337 \\ Retrieve-Marker Arbitration / 338 \\ Appendix A: XML Tools and Implementations / 343", } @Article{Breslav:2007:DPS, author = "Simon Breslav and Karol Szerszen and Lee Markosian and Pascal Barla and Jo{\"e}lle Thollot", title = "Dynamic {$2$D} patterns for shading {$3$D} scenes", journal = j-TOG, volume = "26", number = "3", pages = "20:1--20:??", month = jul, year = "2007", CODEN = "ATGRDF", DOI = "https://doi.org/10.1145/1276377.1276402", ISSN = "0730-0301 (print), 1557-7368 (electronic)", ISSN-L = "0730-0301", bibdate = "Fri Jun 13 19:09:11 MDT 2008", bibsource = "http://www.acm.org/pubs/contents/journals/tog/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tog.bib", abstract = "We describe a new way to render 3D scenes in a variety of non-photorealistic styles, based on patterns whose structure and motion are defined in 2D. In doing so, we sacrifice the ability of patterns that wrap onto 3D surfaces to convey shape through their structure and motion. In return, we gain several advantages, chiefly that 2D patterns are more visually abstract - a quality often sought by artists, which explains their widespread use in hand-drawn images.\par Extending such styles to 3D graphics presents a challenge: how should a 2D pattern move? Our solution is to transform it each frame by a 2D similarity transform that closely follows the underlying 3D shape. The resulting motion is often surprisingly effective, and has a striking cartoon quality that matches the visual style.", acknowledgement = ack-nhfb, articleno = "20", fjournal = "ACM Transactions on Graphics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J778", } @Article{Brown:2007:RIS, author = "Christopher W. Brown and Eric A. Hardisty", title = "{RegeXeX}: an interactive system providing regular expression exercises", journal = j-SIGCSE, volume = "39", number = "1", pages = "445--449", month = mar, year = "2007", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/1227504.1227462", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sat Nov 17 16:57:32 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "This paper presents RegeXeX (Regular expression exercises), an interactive system for teaching students to write regular expressions. The system poses problems (prose descriptions of languages), students enter solutions (regular expressions defining these languages), and the system provides feedback. What is novel in this system is the type of feedback: students are not merely told that a submitted regular expression is wrong, they are given examples of strings that the expression either matches and shouldn't or does not match and should, and asked to try again. Additionally, student responses need only be equivalent to the solution, not identical. Results of classroom experience with this system are also reported, and demonstrate its effectiveness in teaching students to write regular expressions with little or no instructor interaction. RegeXeX is a freely available, portable system, written in C++ and using the Qt library for its GUI. It is distributed with several exercise sets, but is designed so instructors can easily write their own. The system logs student work and offers facilities for submitting log-files to instructors as well, allowing for automatic grading, or in-depth analysis of student performance and evolution of responses throughout the exercise set.", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", } @Article{Chan:2007:CID, author = "Ho-Leung Chan and Wing-Kai Hon and Tak-Wah Lam and Kunihiko Sadakane", title = "Compressed indexes for dynamic text collections", journal = j-TALG, volume = "3", number = "2", pages = "21:1--21:??", month = may, year = "2007", CODEN = "????", DOI = "https://doi.org/10.1145/1240233.1240244", ISSN = "1549-6325 (print), 1549-6333 (electronic)", ISSN-L = "1549-6325", bibdate = "Mon Jun 16 11:54:42 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/talg.bib", abstract = "Let {$T$} be a string with {$n$} characters over an alphabet of constant size. A recent breakthrough on compressed indexing allows us to build an index for {$T$} in optimal space (i.e., {$ O(n) $} bits), while supporting very efficient pattern matching [Ferragina and Manzini 2000; Grossi and Vitter 2000]. Yet the compressed nature of such indexes also makes them difficult to update dynamically.\par This article extends the work on optimal-space indexing to a dynamic collection of texts. Our first result is a compressed solution to the library management problem, where we show an index of {$ O(n) $} bits for a text collection {$L$} of total length {$n$}, which can be updated in {$ O(| T | \log n) $} time when a text {$T$} is inserted or deleted from {$L$}; also, the index supports searching the occurrences of any pattern {$P$} in all texts in {$L$} in {$ O(|P| \log n + {\rm occ} \log 2 n) $} time, where {\rm occ} is the number of occurrences.\par Our second result is a compressed solution to the dictionary matching problem, where we show an index of {$ O(d) $} bits for a pattern collection {$D$} of total length {$d$}, which can be updated in {$ O(|P| \log 2 d) $} time when a pattern {$P$} is inserted or deleted from {$D$}; also, the index supports searching the occurrences of all patterns of {$D$} in any text {$T$} in {$ O((|T| + {\rm occ}) \log 2 d) $} time. When compared with the {$ O(d \log d) $}-bit suffix-tree-based solution of Amir et al. [1995], the compact solution increases the query time by roughly a factor of {$ \log d $} only.\par The solution to the dictionary matching problem is based on a new compressed representation of a suffix tree. Precisely, we give an {$ O(n) $}-bit representation of a suffix tree for a dynamic collection of texts whose total length is {$n$}, which supports insertion and deletion of a text {$T$} in {$ O(|T| \log 2 n) $} time, as well as all suffix tree traversal operations, including forward and backward suffix links. This work can be regarded as a generalization of the compressed representation of static texts. In the study of the aforementioned result, we also derive the first {$ O(n) $}-bit representation for maintaining {$n$} pairs of balanced parentheses in {$ O(\log n / \log \log n) $} time per operation, matching the time complexity of the previous {$ O(n \log n) $}-bit solution.", acknowledgement = ack-nhfb, articleno = "21", fjournal = "ACM Transactions on Algorithms (TALG)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J982", keywords = "Compressed suffix tree; string matching", } @Article{Chung:2007:EAR, author = "Yun-Sheng Chung and Chin Lung Lu and Chuan Yi Tang", title = "Efficient algorithms for regular expression constrained sequence alignment", journal = j-INFO-PROC-LETT, volume = "103", number = "6", pages = "240--246", day = "15", month = sep, year = "2007", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu Mar 31 15:52:48 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Cirstea:2007:CEC, author = "Horatiu Cirstea and Germain Faure and Claude Kirchner", title = "A $ \rho $-calculus of explicit constraint application", journal = j-HIGHER-ORDER-SYMB-COMPUT, volume = "20", number = "1--2", pages = "37--72", month = jun, year = "2007", CODEN = "LSCOEX", DOI = "https://doi.org/10.1007/s10990-007-9004-2", ISSN = "1388-3690 (print), 2212-0793 (electronic)", ISSN-L = "1388-3690", bibdate = "Wed Jul 9 12:34:45 MDT 2008", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=1388-3690&volume=20&issue=1; https://www.math.utah.edu/pub/tex/bib/higherordersymbcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=1388-3690&volume=20&issue=1&spage=37", acknowledgement = ack-nhfb, fjournal = "Higher-Order and Symbolic Computation", journal-URL = "http://link.springer.com/journal/10990", keywords = "Explicit matching; Explicit substitution; Pattern matching; Rewriting calculus", } @Article{Cormode:2007:SED, author = "Graham Cormode and S. Muthukrishnan", title = "The string edit distance matching problem with moves", journal = j-TALG, volume = "3", number = "1", pages = "??--??", month = feb, year = "2007", CODEN = "????", ISSN = "1549-6325 (print), 1549-6333 (electronic)", ISSN-L = "1549-6325", bibdate = "Sat Apr 14 10:58:14 MDT 2007", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/talg.bib", abstract = "The edit distance between two strings {$S$} and {$R$} is defined to be the minimum number of character inserts, deletes, and changes needed to convert {$R$} to S. Given a text string $t$ of length $n$, and a pattern string $p$ of length $m$, informally, the string edit distance matching problem is to compute the smallest edit distance between $p$ and substrings of $t$. We relax the problem so that: (a) we allow an additional operation, namely, substring moves; and (b) we allow approximation of this string edit distance. Our result is a near-linear time deterministic algorithm to produce a factor of {$ O(\log n \log \star n) $} approximation to the string edit distance with moves. This is the first known significantly subquadratic algorithm for a string edit distance problem in which the distance involves nontrivial alignments. Our results are obtained by embedding strings into {$ L_1 $} vector space using a simplified parsing technique, which we call edit-sensitive parsing (ESP).", acknowledgement = ack-nhfb, articleno = "2", fjournal = "ACM Transactions on Algorithms (TALG)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J982", } @TechReport{Cox:2007:REM, author = "Russ Cox", title = "Regular Expression Matching Can Be Simple And Fast", type = "Report", institution = "swtch.com", address = "Cambridge, MA, USA", month = jan, year = "2007", bibdate = "Tue Mar 27 11:39:17 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/plan9.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib; https://www.math.utah.edu/pub/tex/bib/virtual-machines.bib", note = "See also \cite{Thompson:1968:PTR,Kernighan:1999:REL,Cox:2009:REM,Cox:2010:REM,Cox:2012:REM}", URL = "http://swtch.com/~rsc/regexp/regexp1.html", acknowledgement = ack-nhfb, } @Article{Cui:2007:SPM, author = "Hang Cui and Min-Yen Kan and Tat-Seng Chua", title = "Soft pattern matching models for definitional question answering", journal = j-TOIS, volume = "25", number = "2", pages = "8:1--8:??", month = apr, year = "2007", CODEN = "ATISET", DOI = "https://doi.org/10.1145/1229179.1229182", ISSN = "1046-8188", ISSN-L = "0734-2047", bibdate = "Thu Jun 12 16:51:57 MDT 2008", bibsource = "http://www.acm.org/pubs/contents/journals/tois/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tois.bib", abstract = "We explore probabilistic lexico-syntactic pattern matching, also known as soft pattern matching, in a definitional question answering system. Most current systems use regular expression-based hard matching patterns to identify definition sentences. Such rigid surface matching often fares poorly when faced with language variations. We propose two soft matching models to address this problem: one based on bigrams and the other on the Profile Hidden Markov Model (PHMM). Both models provide a theoretically sound method to model pattern matching as a probabilistic process that generates token sequences. We demonstrate the effectiveness of the models on definition sentence retrieval for definitional question answering. We show that both models significantly outperform the state-of-the-art manually constructed hard matching patterns on recent TREC data.\par A critical difference between the two models is that the PHMM has a more complex topology. We experimentally show that the PHMM can handle language variations more effectively but requires more training data to converge.\par While we evaluate soft pattern models only on definitional question answering, we believe that both models are generic and can be extended to other areas where lexico-syntactic pattern matching can be applied.", acknowledgement = ack-nhfb, articleno = "8", fjournal = "ACM Transactions on Information Systems (TOIS)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J779", keywords = "definitional question answering; Soft patterns", } @Article{daLuz:2007:RET, author = "Robson da Luz and M{\'\i}rian Halfeld Ferrari and Martin A. Musicante", title = "Regular expression transformations to extend regular languages (with application to a {Datalog XML} schema validator)", journal = j-J-ALG, volume = "62", number = "3--4", pages = "148--167", month = jul # "\slash " # oct, year = "2007", CODEN = "JOALDV", DOI = "https://doi.org/10.1016/j.jalgor.2007.04.004", ISSN = "0196-6774 (print), 1090-2678 (electronic)", ISSN-L = "0196-6774", bibdate = "Tue Dec 11 09:23:26 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/jalg.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0196677407000326", acknowledgement = ack-nhfb, fjournal = "Journal of Algorithms", journal-URL = "http://www.sciencedirect.com/science/journal/01966774", } @Article{Edwards:2007:NIA, author = "Jonathan Edwards", title = "No ifs, ands, or buts: uncovering the simplicity of conditionals", journal = j-SIGPLAN, volume = "42", number = "10", pages = "639--658", month = oct, year = "2007", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1297027.1297075", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 11:00:28 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Schematic tables are a new representation for conditionals. Roughly a cross between decision tables and data flowgraphs, they represent computation and decision-making orthogonally. They unify the full range of conditional constructs, from if statements through pattern matching to polymorphic predicate dispatch. Program logic is maintained in a declarative canonical form that enforces completeness and disjointness among choices. Schematic tables can be used either as a code specification/generation tool, or as a self-contained diagrammatic programming language. They give program logic the clarity of truth tables, and support high-level direct manipulation of that logic, avoiding much of the mental computation demanded by conventional conditionals.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "control structures; decision tables; polymorphism; refactoring; visual programming", } @InProceedings{Engelfriet:2007:XTT, author = "Joost Engelfriet and Hendrik Jan Hoogeboom and Bart Samwel", title = "{XML} transformation by tree-walking transducers with invisible pebbles", crossref = "ACM:2007:PTS", pages = "63--72", year = "2007", DOI = "https://doi.org/10.1145/1265530.1265540", bibdate = "Fri Jun 20 14:06:25 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The pebble tree automaton and the pebble tree transducer are enhanced by additionally allowing an unbounded number of 'invisible' pebbles (as opposed to the usual ('visible' ones)). The resulting pebble tree automata recognize the regular tree languages (i.e., can validate all generalized DTD's) and hence can find all matches of MSO definable $n$-ary patterns. Moreover, when viewed as a navigational device, they lead to an XPath-like formalism that has a path expression for every MSO definable binary pattern. The resulting pebble tree transducers can apply arbitrary MSO definable tests to (the observable part of) their configurations, they (still) have a decidable typechecking problem, and they can model the recursion mechanism of XSLT. The time complexity of the typechecking problem for conjunctive queries that use MSO definable binary patterns can often be reduced through the use of invisible pebbles.", acknowledgement = ack-nhfb, keywords = "pebble; tree transducer; XML", } @Article{Farach-Colton:2007:OSS, author = "Martin Farach-Colton and Gad M. Landau and S. Cenk Sahinalp and Dekel Tsur", title = "Optimal spaced seeds for faster approximate string matching", journal = j-J-COMP-SYS-SCI, volume = "73", number = "7", pages = "1035--1044", month = nov, year = "2007", CODEN = "JCSSBM", DOI = "https://doi.org/10.1016/j.jcss.2007.03.007", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:27:05 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0022000007000256", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Article{Geneves:2007:ESA, author = "Pierre Genev{\`e}s and Nabil Laya{\"\i}da and Alan Schmitt", title = "Efficient static analysis of {XML} paths and types", journal = j-SIGPLAN, volume = "42", number = "6", pages = "342--351", month = jun, year = "2007", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1273442.1250773", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 10:55:30 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We present an algorithm to solve XPath decision problems under regular tree type constraints and show its use to statically type-check XPath queries. To this end, we prove the decidability of a logic with converse for finite ordered trees whose time complexity is a simple exponential of the size of a formula. The logic corresponds to the alternation free modal $ \mu $-calculus without greatest fixpoint, restricted to finite trees, and where formulas are cycle-free.\par Our proof method is based on two auxiliary results. First, XML regular tree types and XPath expressions have a linear translation to cycle-free formulas. Second, the least and greatest fixpoints are equivalent for finite trees, hence the logic is closed under negation.\par Building on these results, we describe a practical, effective system for solving the satisfiability of a formula. The system has been experimented with some decision problems such as XPath emptiness, containment, overlap, and coverage, with or without type constraints. The benefit of the approach is that our system can be effectively used in static analyzers for programming languages manipulating both XPath expressions and XML type annotations (as input and output types).", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "modal logic; satisfiability; type checking; XPath", } @Article{Gramlich:2007:MNR, author = "Gregor Gramlich and Georg Schnitger", title = "Minimizing {NFA}'s and regular expressions", journal = j-J-COMP-SYS-SCI, volume = "73", number = "6", pages = "908--923", month = sep, year = "2007", CODEN = "JCSSBM", DOI = "https://doi.org/10.1016/j.jcss.2006.11.002", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:27:05 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0022000006001735", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Article{Han:2007:OSR, author = "Yo-Sub Han and Derick Wood", title = "Obtaining shorter regular expressions from finite-state automata", journal = j-THEOR-COMP-SCI, volume = "370", number = "1--3", pages = "110--120", day = "12", month = feb, year = "2007", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Tue Mar 29 08:55:33 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2005.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Han:2007:PFR, author = "Yo-Sub Han and Yajun Wang and Derick Wood", title = "Prefix-free regular languages and pattern matching", journal = j-THEOR-COMP-SCI, volume = "389", number = "1--2", pages = "307--317", day = "10", month = dec, year = "2007", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Mar 28 22:11:59 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2005.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Hazay:2007:APM, author = "Carmit Hazay and Moshe Lewenstein and Dina Sokol", title = "Approximate parameterized matching", journal = j-TALG, volume = "3", number = "3", pages = "29:1--29:??", month = aug, year = "2007", CODEN = "????", DOI = "https://doi.org/10.1145/1273340.1273345", ISSN = "1549-6325 (print), 1549-6333 (electronic)", ISSN-L = "1549-6325", bibdate = "Mon Jun 16 11:55:11 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/talg.bib", abstract = "Two equal length strings $s$ and $ s \prime $, over alphabets {$ \Sigma s $} and {$ \Sigma s \prime $}, parameterize match if there exists a bijection {$ \pi : \Sigma s \rightarrow \Sigma s \prime $} such that {$ \pi (s) = s \prime $}, where {$ \pi (s) $} is the renaming of each character of {$s$} via $ \pi $. Parameterized matching is the problem of finding all parameterized matches of a pattern string $p$ in a text $t$, and approximate parameterized matching is the problem of finding at each location a bijection $ \pi $ that maximizes the number of characters that are mapped from $p$ to the appropriate $ |p| $-length substring of $t$.\par Parameterized matching was introduced as a model for software duplication detection in software maintenance systems and also has applications in image processing and computational biology. For example, approximate parameterized matching models image searching with variable color maps in the presence of errors.\par We consider the problem for which an error threshold, $k$, is given, and the goal is to find all locations in $t$ for which there exists a bijection $ \pi $ which maps $p$ into the appropriate $ |p| $-length substring of $t$ with at most $k$ mismatched mapped elements. Our main result is an algorithm for this problem with {$ O(n k^{1.5} + m k \log m) $} time complexity, where {$ m = | p | $} and {$ n = | t | $}. We also show that when {$ | p | = | t | = m $}, the problem is equivalent to the maximum matching problem on graphs, yielding a {$ O(m + k^{1.5}) $} solution.", acknowledgement = ack-nhfb, articleno = "29", fjournal = "ACM Transactions on Algorithms (TALG)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J982", keywords = "Hamming distance; maximum matching; mismatch pair; parameterize match", } @Book{Hopcroft:2007:IAT, author = "John E. (John Edward) Hopcroft and Rajeev Motwani and Jeffrey D. (Jeffrey David) Ullman", title = "Introduction to Automata Theory, Languages, and Computation", publisher = "Pearson Education", address = "Boston, MA, USA", edition = "Third", pages = "xvii + 535", year = "2007", ISBN = "0-321-45536-3 (hardcover), 0-321-45537-1 (student access kit), 0-321-47617-4 (paperback), 0-321-51448-3 (complete edition)", ISBN-13 = "978-0-321-45536-9 (hardcover), 978-0-321-45537-6 (student access kit), 978-0-321-47617-3 (paperback), 978-0-321-51448-6 (complete edition)", LCCN = "QA76.9 .A73H67", bibdate = "Wed Sep 9 09:41:10 MDT 2020", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, author-dates = "1939--", shorttableofcontents = "1: Automata: the methods and the madness \\ 2: Finite automata \\ 3: Regular expressions and languages \\ 4: Properties of regular languages \\ 5: Context-free grammars and languages \\ 6: Pushdown automata \\ 7: Properties of context-free languages \\ 8: Introduction to Turing machines \\ 9: Undecidability \\ 10: Intractable problems \\ 11: Additional classes of problems", subject = "Machine theory; Formal languages; Computational complexity; Th{\'e}orie des automates; Langages formels; Complexit{\'e} de calcul (Informatique); Computational complexity.; Formal languages.; Machine theory.; Programmation (math{\'e}matiques); Complexit{\'e} de calcul (informatique); Langages formels.; Automates math{\'e}matiques, Th{\'e}orie des.; th{\'e}orie des langages (informatique); manuel.; automate (informatique); th{\'e}orie des langages (informatique); automate (informatique); Teor{\'i}a de las m{\'a}quinas; Lenguajes formales", tableofcontents = "1 Automata: The Methods and the Madness / 1 \\ 1.1 Why Study Automata Theory? / 2 \\ 1.1.1 Introduction to Finite Automata / 2 \\ 1.1.2 Structural Representations / 4 \\ 1.1.3 Automata and Complexity / 5 \\ 1.2 Introduction to Formal Proof / 5 \\ 1.2.1 Deductive Proofs / 6 \\ 1.2.2 Reduction to Definitions / 8 \\ 1.2.3 Other Theorem Forms / 10 \\ 1.2.4 Theorems That Appear Not to Be If-Then Statements / 13 \\ 1.3 Additional Forms of Proof / 13 \\ 1.3.1 Proving Equivalences About Sets / 14 \\ 1.3.2 The Contrapositive / 14 \\ 1.3.3 Proof by Contradiction / 16 \\ 1.3.4 Counterexamples / 17 \\ 1.4 Inductive Proofs / 19 \\ 1.4.1 Inductions on Integers / 19 \\ 1.4.2 More General Forms of Integer Inductions / 22 \\ 1.4.3 Structural Inductions / 23 \\ 1.4.4 Mutual Inductions / 26 \\ 1.5 The Central Concepts of Automata Theory / 28 \\ 1.5.1 Alphabets / 28 \\ 1.5.2 Strings / 29 \\ 1.5.3 Languages / 30 \\ 1.5.4 Problems / 31 \\ 1.6 Summary of Chapter 1 / 33 \\ 1.7 Gradiance Problems for Chapter 1 / 35 \\ 1.8 References for Chapter 1 / 36 \\ 2 Finite Automata / 37 \\ 2.1 An Informal Picture of Finite Automata / 38 \\ 2.1.1 The Ground Rules / 38 \\ 2.1.2 The Protocol / 39 \\ 2.1.3 Enabling the Automata to Ignore Actions / 41 \\ 2.1.4 The Entire System as an Automaton / 43 \\ 2.1.5 Using the Product Automaton to Validate the Protocol / 44 \\ 2.2 Deterministic Finite Automata / 45 \\ 2.2.1 Definition of a Deterministic Finite Automaton / 45 \\ 2.2.2 How a DFA Processes Strings / 46 \\ 2.2.3 Simpler Notations for DFA's / 47 \\ 2.2.4 Extending the Transition Function to Strings / 49 \\ 2.2.5 The Language of a DFA / 52 \\ 2.2.6 Exercises for Section 2.2 / 52 \\ 2.3 Nondeterministic Finite Automata / 55 \\ 2.3.1 An Informal View of Nondeterministic Finite Automata / 55 \\ 2.3.2 Definition of Nondeterministic Finite Automata / 57 \\ 2.3.3 The Extended Transition Function / 58 \\ 2.3.4 The Language of an NFA / 59 \\ 2.3.5 Equivalence of Deterministic and Nondeterministic Finite Automata / 60 \\ 2.3.6 A Bad Case for the Subset Construction / 64 \\ 2.3.7 Exercises for Section 2.3 / 65 \\ 2.4 An Application: Text Search / 68 \\ 2.4.1 Finding Strings in Text / 68 \\ 2.4.2 Nondeterministic Finite Automata for Text Search / 69 \\ 2.4.3 A DFA to Recognize a Set of Keywords / 70 \\ 2.4.4 Exercises for Section 2.4 / 71 \\ 2.5 Finite Automata With Epsilon-Transitions / 72 \\ 2.5.1 Uses of e-Transitions / 72 \\ 2.5.2 The Formal Notation for an e-NFA / 73 \\ 2.5.3 Epsilon-Closures / 74 \\ 2.5.4 Extended Transitions and Languages for e-NFA's / 75 \\ 2.5.5 Eliminating e-Transitions / 77 \\ 2.5.6 Exercises for Section 2.5 / 79 \\ 2.6 Summary of Chapter 2 / 80 \\ 2.7 Gradiance Problems for Chapter 2 / 80 \\ 2.8 References for Chapter 2 / 83 \\ 3 Regular Expressions and Languages / 85 \\ 3.1 Regular Expressions / 85 \\ 3.1.1 The Operators of Regular Expressions / 86 \\ 3.1.2 Building Regular Expressions / 87 \\ 3.1.3 Precedence of Regular-Expression Operators / 90 \\ 3.1.4 Exercises for Section 3.1 / 91 \\ 3.2 Finite Automata and Regular Expressions / 92 \\ 3.2.1 From DFA's to Regular Expressions / 93 \\ 3.2.2 Converting DFA's to Regular Expressions by Eliminating States / 98 \\ 3.2.3 Converting Regular Expressions to Automata / 102 \\ 3.2.4 Exercises for Section 3.2 / 107 \\ 3.3 Applications of Regular Expressions / 109 \\ 3.3.1 Regular Expressions in UNIX / 109 \\ 3.3.2 Lexical Analysis / 110 \\ 3.3.3 Finding Patterns in Text / 112 \\ 3.3.4 Exercises for Section 3.3 / 114 \\ 3.4 Algebraic Laws for Regular Expressions / 115 \\ 3.4.1 Associativity and Commutativity / 115 \\ 3.4.2 Identities and Annihilators / 116 \\ 3.4.3 Distributive Laws / 116 \\ 3.4.4 The Idempotent Law / 117 \\ 3.4.5 Laws Involving Closures / 118 \\ 3.4.6 Discovering Laws for Regular Expressions / 118 \\ 3.4.7 The Test for a Regular-Expression Algebraic Law / 120 \\ 3.4.8 Exercises for Section 3.4 / 121 \\ 3.5 Summary of Chapter 3 / 123 \\ 3.6 Gradiance Problems for Chapter 3 / 123 \\ 3.7 References for Chapter 3 / 125 \\ 4 Properties of Regular Languages / 127 \\ 4.1 Proving Languages Not to Be Regular / 128 \\ 4.1.1 The Pumping Lemma for Regular Languages / 128 \\ 4.1.2 Applications of the Pumping Lemma / 129 \\ 4.1.3 Exercises for Section 4.1 / 131 \\ 4.2 Closure Properties of Regular Languages / 133 \\ 4.2.1 Closure of Regular Languages Under Boolean Operations / 133 \\ 4.2.2 Reversal / 139 \\ 4.2.3 Homomorphisms / 140 \\ 4.2.4 Inverse Homomorphisms / 142 \\ 4.2.5 Exercises for Section 4.2 / 147 \\ 4.3 Decision Properties of Regular Languages / 150 \\ 4.3.1 Converting Among Representations / 151 \\ 4.3.2 Testing Emptiness of Regular Languages / 153 \\ 4.3.3 Testing Membership in a Regular Language / 154 \\ 4.3.4 Exercises for Section 4.3 / 155 \\ 4.4 Equivalence and Minimization of Automata / 155 \\ 4.4.1 Testing Equivalence of States / 155 \\ 4.4.2 Testing Equivalence of Regular Languages / 159 \\ 4.4.3 Minimization of DFA's / 160 \\ 4.4.4 Why the Minimized DFA Can't Be Beaten / 163 \\ 4.4.5 Exercises for Section 4.4 / 165 \\ 4.5 Summary of Chapter 4 / 166 \\ 4.6 Gradiance Problems for Chapter 4 / 167 \\ 4.7 References for Chapter 4 / 169 \\ 5 Context-Free Grammars and Languages / 171 \\ 5.1 Context-Free Grammars / 171 \\ 5.1.1 An Informal Example / 172 \\ 5.1.2 Definition of Context-Free Grammars / 173 \\ 5.1.3 Derivations Using a Grammar / 175 \\ 5.1.4 Leftmost and Rightmost Derivations 177j 5.1.5 The Language of a Grammar / 179 \\ 5.1.6 Sentential Forms / 180 \\ 5.1.7 Exercises for Section 5.1 / 181 \\ 5.2 Parse Trees / 183 \\ 5.2.1 Constructing Parse Trees / 183 \\ 5.2.2 The Yield of a Parse Tree / 185 \\ 5.2.3 Inference, Derivations, and Parse Trees / 185 \\ 5.2.4 From Inferences to Trees / 187 \\ 5.2.5 From Trees to Derivations / 188 \\ 5.2.6 From Derivations to Recursive Inferences / 191 \\ 5.2.7 Exercises for Section 5.2 / 193 \\ 5.3 Applications of Context-Free Grammars / 193 \\ 5.3.1 Parsers / 194 \\ 5.3.2 The YACC Parser-Generator / 196 \\ 5.3.3 Markup Languages / 197 \\ 5.3.4 XML and Document-Type Definitions / 200 \\ 5.3.5 Exercises for Section 5.3 / 206 \\ 5.4 Ambiguity in Grammars and Languages / 207 \\ 5.4.1 Ambiguous Grammars / 207 \\ 5.4.2 Removing Ambiguity From Grammars / 209 \\ 5.4.3 Leftmost Derivations as a Way to Express Ambiguity / 212 \\ 5.4.4 Inherent Ambiguity / 213 \\ 5.4.5 Exercises for Section 5.4 / 215 \\ 5.5 Summary of Chapter 5 / 216 \\ 5.6 Gradiance Problems for Chapter 5 / 218 \\ 5.7 References for Chapter 5 / 224 \\ 6 Pushdown Automata / 225 \\ 6.1 Definition of the Pushdown Automaton / 225 \\ 6.1.1 Informal Introduction / 225 \\ 6.1.2 The Formal Definition of Pushdown Automata / 227 \\ 6.1.3 A Graphical Notation for PDA's / 229 \\ 6.1.4 Instantaneous Descriptions of a PDA / 230 \\ 6.1.5 Exercises for Section 6.1 / 233 \\ 6.2 The Languages of a PDA / 234 \\ 6.2.1 Acceptance by Final State / 235 \\ 6.2.2 Acceptance by Empty Stack / 236 \\ 6.2.3 From Empty Stack to Final State / 237 \\ 6.2.4 From Final State to Empty Stack / 240 \\ 6.2.5 Exercises for Section 6.2 / 241 \\ 6.3 Equivalence of PDA's and CFG's / 243 \\ 6.3.1 From Grammars to Pushdown Automata / 243 \\ 6.3.2 From PDA's to Grammars / 247 \\ 6.3.3 Exercises for Section 6.3 / 251 \\ 6.4 Deterministic Pushdown Automata / 252 \\ 6.4.1 Definition of a Deterministic PDA / 252 \\ 6.4.2 Regular Languages and Deterministic PDA's / 253 \\ 6.4.3 DPDA's and Context-Free Languages / 254 \\ 6.4.4 DPDA's and Ambiguous Grammars / 255 \\ 6.4.5 Exercises for Section 6.4 / 256 \\ 6.5 Summary of Chapter 6 / 257 \\ 6.6 Gradiance Problems for Chapter 6 / 258 \\ 6.7 References for Chapter 6 / 260 \\ 7 Properties of Context-Free Languages / 261 \\ 7.1 Normal Forms for Context-Free Grammars / 261 \\ 7.1.1 Eliminating Useless Symbols / 262 \\ 7.1.2 Computing the Generating and Reachable Symbols / 264 \\ 7.1.3 Eliminating e-Productions / 265 \\ 7.1.4 Eliminating Unit Productions / 268 \\ 7.1.5 Chomsky Normal Form / 272 \\ 7.1.6 Exercises for Section 7.1 / 275 \\ 7.2 The Pumping Lemma for Context-Free Languages / 279 \\ 7.2.1 The Size of Parse Trees / 280 \\ 7.2.2 Statement of the Pumping Lemma / 280 \\ 7.2.3 Applications of the Pumping Lemma for CFL's / 283 \\ 7.2.4 Exercises for Section 7.2 / 286 \\ 7.3 Closure Properties of Context-Free Languages / 287 \\ 7.3.1 Substitutions / 287 \\ 7.3.2 Applications of the Substitution Theorem / 289 \\ 7.3.3 Reversal / 290 \\ 7.3.4 Intersection With a Regular Language / 291 \\ 7.3.5 Inverse Homomorphism / 295 \\ 7.3.6 Exercises for Section 7.3 / 297 \\ 7.4 Decision Properties of CFL's / 299 \\ 7.4.1 Complexity of Converting Among CFG's and PDA's / 299 \\ 7.4.2 Running Time of Conversion to Chomsky Normal Form / 301 \\ 7.4.3 Testing Emptiness of CFL's / 302 \\ 7.4.4 Testing Membership in a CFL / 303 \\ 7.4.5 Preview of Undecidable CFL Problems / 307 \\ 7.4.6 Exercises for Section 7.4 / 307 \\ 7.5 Summary of Chapter 7 / 308 \\ 7.6 Gradiance Problems for Chapter 7 / 309 \\ 7.7 References for Chapter 7 / 314 \\ 8 Introduction to Turing Machines / 315 \\ 8.1 Problems That Computers Cannot Solve / 315 \\ 8.1.1 Programs that Print ``Hello, World'' / 316 \\ 8.1.2 The Hypothetical ``Hello, World'' Tester / 318 \\ 8.1.3 Reducing One Problem to Another / 321 \\ 8.1.4 Exercises for Section 8.1 / 324 \\ 8.2 The Turing Machine / 324 \\ 8.2.1 The Quest to Decide All Mathematical Questions / 325 \\ 8.2.2 Notation for the Turing Machine / 326 \\ 8.2.3 Instantaneous Descriptions for Turing Machines / 327 \\ 8.2.4 Transition Diagrams for Turing Machines / 331 \\ 8.2.5 The Language of a Turing Machine / 334 \\ 8.2.6 Turing Machines and Halting / 334 \\ 8.2.7 Exercises for Section 8.2 / 335 \\ 8.3 Programming Techniques for Turing Machines / 337 \\ 8.3.1 Storage in the State / 337 \\ 8.3.2 Multiple Tracks / 339 \\ 8.3.3 Subroutines / 341 \\ 8.3.4 Exercises for Section 8.3 / 343 \\ 8.4 Extensions to the Basic Turing Machine / 343 \\ 8.4.1 Multitape Turing Machines / 344 \\ 8.4.2 Equivalence of One-Tape and Multitape TM's / 345 \\ 8.4.3 Running Time and the Many-Tapes-to-One Construction / 346 \\ 8.4.4 Nondeterministic Turing Machines / 347 \\ 8.4.5 Exercises for Section 8.4 / 349 \\ 8.5 Restricted Turing Machines / 352 \\ 8.5.1 Turing Machines With Semi-infinite Tapes a / 352 \\ 8.5.2 Multistack Machines / 355 \\ 8.5.3 Counter Machines / 358 \\ 8.5.4 The Power of Counter Machines / 359 \\ 8.5.5 Exercises for Section 8.5 / 361 \\ 8.6 Turing Machines and Computers / 362 \\ 8.6.1 Simulating a Turing Machine by Computer / 362 \\ 8.6.2 Simulating a Computer by a Turing Machine / 363 \\ 8.6.3 Comparing the Running Times of Computers and Turing Machines / 368 \\ 8.7 Summary of Chapter 8 / 370 \\ 8.8 Gradiance Problems for Chapter 8 / 372 \\ 8.9 References for Chapter 8 / 374 \\ 9 Undecidability / 377 \\ 9.1 A Language That Is Not Recursively Enumerable / 378 \\ 9.1.1 Enumerating the Binary Strings / 379 \\ 9.1.2 Codes for Turing Machines / 379 \\ 9.1.3 The Diagonalization Language / 380 \\ 9.1.4 Proof That $L_d$ Is Not Recursively Enumerable / 382 \\ 9.1.5 Exercises for Section 9.1 / 382 \\ 9.2 An Undecidable Problem That Is RE / 383 \\ 9.2.1 Recursive Languages / 383 \\ 9.2.2 Complements of Recursive and RE languages / 384 \\ 9.2.3 The Universal Language / 387 \\ 9.2.4 Undecidability of the Universal Language / 389 \\ 9.2.5 Exercises for Section 9.2 / 390 \\ 9.3 Undecidable Problems About Turing Machines / 392 \\ 9.3.1 Reductions / 392 \\ 9.3.2 Turing Machines That Accept the Empty Language / 394 \\ 9.3.3 Rice's Theorem and Properties of the RE Languages / 397 \\ 9.3.4 Problems about Turing-Machine Specifications / 399 \\ 9.3.5 Exercises for Section 9.3 / 400 \\ 9.4 Post's Correspondence Problem / 401 \\ 9.4.1 Definition of Post's Correspondence Problem / 401 \\ 9.4.2 The ``Modified'' PCP / 404 \\ 9.4.3 Completion of the Proof of PCP Undecidability / 407 \\ 9.4.4 Exercises for Section 9.4 / 412 \\ 9.5 Other Undecidable Problems / 412 \\ 9.5.1 Problems About Programs / 413 \\ 9.5.2 Undecidability of Ambiguity for CFG's / 413 \\ 9.5.3 The Complement of a List Language / 415 \\ 9.5.4 Exercises for Section 9.5 / 418 \\ 9.6 Summary of Chapter 9 / 419 \\ 9.7 Gradiance Problems for Chapter 9 / 420 \\ 9.8 References for Chapter 9 / 422 \\ 10 Intractable Problems / 425 \\ 10.1 The Classes $\cal P$ and $\cal NP$ / 426 \\ 10.1.1 Problems Solvable in Polynomial Time / 426 \\ 10.1.2 An Example: Kruskal's Algorithm / 426 \\ 10.1.3 Nondeterministic Polynomial Time / 431 \\ 10.1.4 An $\cal NP$ Example: The Traveling Salesman Problem / 431 \\ 10.1.5 Polynomial-Time Reductions / 433 \\ 10.1.6 NP-Complete Problems / 434 \\ 10.1.7 Exercises for Section 10.1 / 435 \\ 10.2 An NP-Complete Problem / 438 \\ 10.2.1 The Satisfiability Problem / 438 \\ 10.2.2 Representing SAT Instances / 439 \\ 10.2.3 NP-Completeness of the SAT Problem / 440 \\ 10.2.4 Exercises for Section 10.2 / 447 \\ 10.3 A Restricted Satisfiability Problem / 447 \\ 10.3.1 Normal Forms for Boolean Expressions / 448 10.3.2 Converting Expressions to CNF / 449 \\ 10.3.3 NP-Completeness of CSAT / 452 \\ 10.3.4 NP-Completeness of 3SAT / 456 \\ 10.3.5 Exercises for Section 10.3 / 458 \\ 10.4 Additional NP-Complete Problems / 458 \\ 10.4.1 Describing NP-complete Problems / 459 \\ 10.4.2 The Problem of Independent Sets / 459 \\ 10.4.3 The Node-Cover Problem / 463 \\ 10.4.4 The Directed Hamilton-Circuit Problem / 465 \\ 10.4.5 Undirected Hamilton Circuits and the TSP / 471 \\ 10.4.6 Summary of NP-Complete Problems / 473 \\ 10.4.7 Exercises for Section 10.4 / 473 \\ 10.5 Summary of Chapter 10 / 477 \\ 10.6 Gradiance Problems for Chapter 10 / 478 \\ 10.7 References for Chapter 10 / 481 \\ 11 Additional Classes of Problems / 483 \\ 11.1 Complements of Languages in $\cal NP$ / 484 \\ 11.1.1 The Class of Languages Co-$\cal NP$ / 484 \\ 11.1.2 NP-Complete Problems and Qo-$\cal NP$ / 485 \\ 11.1.3 Exercises for Section 11.1 / 486 \\ 11.2 Problems Solvable in Polynomial Space / 487 \\ 11.2.1 Polynomial-Space Turing Machines / 487 \\ 11.2.2 Relationship of $\cal PS$ and $\cal NPS$ to Previously Defined Classes488 11.2.3 Deterministic and Nondeterministic Polynomial Space / 490 \\ 11.3 A Problem That Is Complete for $\cal PS$ / 492 \\ 11.3.1 PS-Completeness / 492 \\ 11.3.2 Quantified Boolean Formulas / 493 \\ 11.3.3 Evaluating Quantified Boolean Formulas / 494 \\ 11.3.4 PS-Completeness of the QBF Problem / 496 \\ 11.3.5 Exercises for Section 11.3 / 501 \\ 11.4 Language Classes Based on Randomization / 501 \\ 11.4.1 Quicksort: an Example of a Randomized Algorithm / 502 \\ 11.4.2 A Turing-Machine Model Using Randomization / 503 \\ 11.4.3 The Language of a Randomized Turing Machine / 504 \\ 11.4.4 The Class $\cal RP$ / 506 \\ 11.4.5 Recognizing Languages in $\cal RP$ / 508 \\ 11.4.6 The Class $\cal ZPP$ / 509 \\ 11.4.7 Relationship Between $\cal RP$ and $\cal ZPP$ / 510 \\ 11.4.8 Relationships to the Classes $\cal P$ and $\cal NP$ / 511 \\ 11.5 The Complexity of Primality Testing / 512 \\ 11.5.1 The Importance of Testing Primality / 512 \\ 11.5.2 Introduction to Modular Arithmetic / 514 \\ 11.5.3 The Complexity of Modular-Arithmetic Computations / 516 \\ 11.5.4 Random-Polynomial Primality Testing / 517 \\ 11.5.5 Nondeterministic Primality Tests / 518 \\ 11.5.6 Exercises for Section 11.5 / 521 \\ 11.6 Summary of Chapter 11 / 522 \\ 11.7 Gradiance Problems for Chapter 11 / 523 \\ 11.8 References for Chapter 11 / 524 \\ Index / 527", } @Article{Jones:2007:CPS, author = "Simon Peyton Jones", title = "Call-pattern specialisation for {Haskell} programs", journal = j-SIGPLAN, volume = "42", number = "9", pages = "327--337", month = sep, year = "2007", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1291220.1291200", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 10:59:28 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "User-defined data types, pattern-matching, and recursion are ubiquitous features of Haskell programs. Sometimes a function is called with arguments that are statically known to be in constructor form, so that the work of pattern-matching is wasted. Even worse, the argument is sometimes freshly-allocated, only to be immediately decomposed by the function.\par In this paper we describe a simple, modular transformation that specialises recursive functions according to their argument 'shapes'. We describe our implementation of this transformation in the Glasgow Haskell Compiler, and give measurements that demonstrate substantial performance improvements: a worthwhile 10\% on average, with a factor of 10 in particular cases.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "compilers; Haskell; optimisation; specialisation", } @Book{Kahrel:2007:GIC, author = "Peter Kahrel", title = "{GREP} in {InDesign CS3}", publisher = pub-ORA, address = pub-ORA:adr, year = "2007", ISBN = "0-596-51706-8", ISBN-13 = "978-0-596-51706-9", LCCN = "Z253.532.A34; Z253.532.A34 K34 2007eb", bibdate = "Tue Aug 5 18:01:04 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/ora.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; melvyl.cdlib.org:210/CDL90", series = "O'Reilly shortcuts", URL = "http://www.oreilly.com/catalog/9780596517069", acknowledgement = ack-nhfb, subject = "Adobe InDesign; Desktop publishing", } @InProceedings{Kasneci:2007:CRA, author = "Gjergji Kasneci and Thomas Schwentick", title = "The complexity of reasoning about pattern-based {XML} schemas", crossref = "ACM:2007:PTS", pages = "155--164", year = "2007", DOI = "https://doi.org/10.1145/1265530.1265552", bibdate = "Fri Jun 20 14:06:25 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "In a recent paper, Martens et al. introduced a specification mechanism for XML tree languages, based on rules of the form $ (r, s) $, where $r$, $s$ are regular expressions. Sets of such rules can be interpreted in an existential or a universal fashion. An XML tree is existentially valid with respect to a rule set, if for each node there is a rule such that the root path of the node matches $r$ and the children sequence of the node matches $s$. It is universally valid if each node matching $r$ also matches $s$. This paper investigates the complexity of reasoning about such rule sets, in particular the satisfiability and the implication problem. Whereas, in general these reasoning problems are complete for EXPTIME, two important fragments are identified with PSPACE and PTIME complexity, respectively.", acknowledgement = ack-nhfb, keywords = "integrity constraints; XML schemas", } @InCollection{Kernighan:2007:REM, author = "Brian W. Kernighan", title = "A regular expression matcher", crossref = "Oram:2007:BC", pages = "1--8", year = "2007", bibdate = "Tue Mar 27 15:50:00 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/plan9.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Khan:2007:NID, author = "Latifur Khan and Mamoun Awad and Bhavani Thuraisingham", title = "A new intrusion detection system using support vector machines and hierarchical clustering", journal = j-VLDB-J, volume = "16", number = "4", pages = "507--521", month = oct, year = "2007", CODEN = "VLDBFR", ISSN = "1066-8888 (print), 0949-877X (electronic)", ISSN-L = "1066-8888", bibdate = "Mon Jun 23 10:51:25 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbj.bib", abstract = "Whenever an intrusion occurs, the security and value of a computer system is compromised. Network-based attacks make it difficult for legitimate users to access various network services by purposely occupying or sabotaging network resources and services. This can be done by sending large amounts of network traffic, exploiting well-known faults in networking services, and by overloading network hosts. Intrusion Detection attempts to detect computer attacks by examining various data records observed in processes on the network and it is split into two groups, anomaly detection systems and misuse detection systems. Anomaly detection is an attempt to search for malicious behavior that deviates from established normal patterns. Misuse detection is used to identify intrusions that match known attack scenarios. Our interest here is in anomaly detection and our proposed method is a scalable solution for detecting network-based anomalies. We use Support Vector Machines (SVM) for classification. The SVM is one of the most successful classification algorithms in the data mining area, but its long training time limits its use. This paper presents a study for enhancing the training time of SVM, specifically when dealing with large data sets, using hierarchical clustering analysis. We use the Dynamically Growing Self-Organizing Tree (DGSOT) algorithm for clustering because it has proved to overcome the drawbacks of traditional hierarchical clustering algorithms (e.g., hierarchical agglomerative clustering). Clustering analysis helps find the boundary points, which are the most qualified data points to train SVM, between two classes. We present a new approach of combination of SVM and DGSOT, which starts with an initial training set and expands it gradually using the clustering structure produced by the DGSOT algorithm. We compare our approach with the Rocchio Bundling technique and random selection in terms of accuracy loss and training time gain using a single benchmark real data set. We show that our proposed variations contribute significantly in improving the training process of SVM with high generalization accuracy and outperform the Rocchio Bundling technique.", acknowledgement = ack-nhfb, fjournal = "VLDB Journal: Very Large Data Bases", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{Kim:2007:GAT, author = "Min-Soo Kim and Kyu-Young Whang and Jae-Gil Lee", title = "{$n$-Gram\slash 2L}-approximation: a two-level $n$-gram inverted index structure for approximate string matching", journal = j-INT-J-COMPUT-SYST-SCI-ENG, volume = "22", number = "6", pages = "??--??", month = nov, year = "2007", CODEN = "CSSEEI", ISSN = "0267-6192", bibdate = "Tue Dec 03 12:37:44 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/computsystscieng.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Computer Systems Science and Engineering", journal-URL = "http://www.crlpublishing.co.uk/csse", remark = "Special issue: Privacy Data Management", } @Article{Lecroq:2007:FES, author = "Thierry Lecroq", title = "Fast exact string matching algorithms", journal = j-INFO-PROC-LETT, volume = "102", number = "6", pages = "229--235", day = "15", month = jun, year = "2007", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu Mar 31 15:52:43 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Leonardi:2007:OSR, author = "Emilio Leonardi and Marco Mellia and Marco Ajmone Marsan and Fabio Neri", title = "Optimal scheduling and routing for maximum network throughput", journal = j-IEEE-TRANS-NETWORKING, volume = "15", number = "6", pages = "1541--1554", month = dec, year = "2007", CODEN = "IEANEP", ISSN = "1063-6692 (print), 1558-2566 (electronic)", ISSN-L = "1063-6692", bibdate = "Thu Jun 19 09:58:21 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/ieeetransnetworking.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "In this paper we consider packet networks loaded by admissible traffic patterns, i.e., by traffic patterns that, if optimally routed, do not overload network resources. We prove that simple distributed dynamic routing and scheduling algorithms based upon link state information can achieve the same network throughput as optimal centralized routing and scheduling algorithms with complete traffic information.\par Our proofs apply the stochastic Lyapunov function methodology to a flow-level abstract model of the network, and consider elastic traffic, i.e., we assume that flows can adapt their transmission rates to network conditions, thus resembling traffic engineering and quality-of-service approaches being currently proposed for IP networks.\par Although the paper mainly brings a theoretical contribution, such dynamic routing and scheduling algorithms can be implemented in a distributed way. Moreover we prove that maximum throughput is achieved also in case of temporary mismatches between the actual links state and the link state information used by the routing algorithm. This is a particularly relevant aspect, since any distributed implementation of a routing algorithm requires a periodic exchange of link state information among nodes, and this implies delays, and thus time periods in which the current link costs are not known.", acknowledgement = ack-nhfb, fjournal = "IEEE\slash ACM Transactions on Networking", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J771", keywords = "asymptotic stability; computer network performance; Lyapunov methods", } @Book{Maher:2007:MPU, author = "Tim Maher", title = "Minimal {Perl}: for {UNIX} and {Linux} people", publisher = pub-MANNING, address = pub-MANNING:adr, pages = "xxxviii + 450", year = "2007", ISBN = "1-932394-50-8 (paperback)", ISBN-13 = "978-1-932394-50-4 (paperback)", LCCN = "QA76.73.P22 M34 2007", bibdate = "Thu Mar 2 05:46:18 MST 2023", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", abstract = "A guide to a carefully designed subset of the Perl language, this book makes Perl more accessible to those having UNIX/Linux skill levels ranging from elementary to expert by capitalizing on their existing knowledge of important utilities (grep, awk), or essential concepts (filters, command substitution, looping). Dozens of detailed programming examples are shown, drawn from contemporary application areas such as system administration, networking, Web development, databases, finance, HTML, CGI, and text analysis. Broken into two parts, the first is for all who are familiar with core UNIX/Linux commands such as grep and caters to readers ranging from managers and administrative staff to advanced programmers. The second part is for developers experienced in Bourne, Korn, Bash, or POSIX Shell programming and makes Perl scripting easy to learn by showing Shell examples along with their Perl counterparts. Many Perl modules are covered including freely available pre-written code from the CPAN.", acknowledgement = ack-nhfb, subject = "Perl (Computer program language); Perl (Langage de programmation); Perl (Computer program language)", tableofcontents = "Part 1: Minimal Perl: for UNIX and Linux users \\ 1: Introducing Minimal Perl \\ 2: Perl essentials \\ 3: Perl as a (better) grep command \\ 4: Perl as a (better) sed command \\ 5: Perl as a (better) awk command \\ 6: Perl as a (better) find command \\ Part 2: Minimal Perl: for UNIX and Linux shell programmers \\ 7: Built-in functions \\ 8: Scripting techniques \\ 9: List variables \\ 10: Looping facilities \\ 11: Subroutines and variable scoping \\ 12: Modules and the CPAN", } @Article{Maranget:2007:WPM, author = "Luc Maranget", title = "Warnings for pattern matching", journal = j-J-FUNCT-PROGRAM, volume = "17", number = "3", pages = "387--421", month = may, year = "2007", CODEN = "JFPRES", DOI = "https://doi.org/10.1017/S0956796807006223", ISSN = "0956-7968 (print), 1469-7653 (electronic)", ISSN-L = "0956-7968", bibdate = "Tue Jul 11 18:07:50 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/jfunctprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.cambridge.org/core/product/3165B75113781E2431E3856972940347", acknowledgement = ack-nhfb, ajournal = "J. Funct. Program.", fjournal = "Journal of Functional Programming", journal-URL = "http://journals.cambridge.org/action/displayJournal?jid=JFP", onlinedate = "15 February 2007", } @Article{Martens:2007:SSA, author = "Wim Martens and Frank Neven and Thomas Schwentick", title = "Simple off the shelf abstractions for {XML} schema", journal = j-SIGMOD, volume = "36", number = "3", pages = "15--22", month = sep, year = "2007", CODEN = "SRECD8", DOI = "https://doi.org/10.1145/1324185.1324188", ISSN = "0163-5808 (print), 1943-5835 (electronic)", ISSN-L = "0163-5808", bibdate = "Tue Jun 17 16:20:18 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigmod.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Although the advent of XML Schema [25] has rendered DTDs obsolete, research on practical XML optimization is mostly biased towards DTDs and tends to largely ignore XSDs (some notable exceptions non-withstanding). One of the underlying reasons is most probably the perceived simplicity of DTDs versus the alleged impenetrability of XML Schema. Indeed, optimization w.r.t. DTDs has a local flavor and usually reduces to reasoning about the accustomed formalism of regular expressions. XSDs, on the other hand, even when sufficiently stripped down, are related to the less pervious class of unranked regular tree automata [6, 19, 20, 21]. Recent results on the structural expressiveness of XSDs [19], however, show that XSDs are in fact much closer to DTDs than to tree automata, leveraging the possibility to directly extend techniques for DTD-based XML optimization to the realm of XML Schema. The goal of the present paper is to present the results in [19] in an easy and accessible way. At the same time, we discuss possible applications, related research, and future research directions. Throughout the paper, we try to restrict notation to a minimum. We refer to [19] for further details.", acknowledgement = ack-nhfb, fjournal = "SIGMOD Record (ACM Special Interest Group on Management of Data)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J689", } @Article{Michailidis:2007:PAP, author = "Panagiotis D. Michailidis and Konstantinos G. Margaritis", title = "A programmable array processor architecture for flexible approximate string matching algorithms", journal = j-J-PAR-DIST-COMP, volume = "67", number = "2", pages = "131--141", month = feb, year = "2007", CODEN = "JPDCER", ISSN = "0743-7315 (print), 1096-0848 (electronic)", ISSN-L = "0743-7315", bibdate = "Fri Jul 11 20:32:35 MDT 2008", bibsource = "http://www.sciencedirect.com/science/journal/07437315; https://www.math.utah.edu/pub/tex/bib/jpardistcomp.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Journal of Parallel and Distributed Computing", journal-URL = "http://www.sciencedirect.com/science/journal/07437315", } @Article{Mori:2007:PID, author = "Yuki Mori and Takeo Igarashi", title = "Plushie: an interactive design system for plush toys", journal = j-TOG, volume = "26", number = "3", pages = "45:1--45:??", month = jul, year = "2007", CODEN = "ATGRDF", DOI = "https://doi.org/10.1145/1276377.1276433", ISSN = "0730-0301 (print), 1557-7368 (electronic)", ISSN-L = "0730-0301", bibdate = "Fri Jun 13 19:09:11 MDT 2008", bibsource = "http://www.acm.org/pubs/contents/journals/tog/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tog.bib", abstract = "We introduce Plushie, an interactive system that allows nonprofessional users to design their own original plush toys. To design a plush toy, one needs to construct an appropriate two-dimensional (2D) pattern. However, it is difficult for non-professional users to appropriately design a 2D pattern. Some recent systems automatically generate a 2D pattern for a given three-dimensional (3D) model, but constructing a 3D model is itself a challenge. Furthermore, an arbitrary 3D model cannot necessarily be realized as a real plush toy, and the final sewn result can be very different from the original 3D model. We avoid this mismatch by constructing appropriate 2D patterns and applying simple physical simulation to it on the fly during 3D modeling. In this way, the model on the screen is always a good approximation of the final sewn result, which makes the design process much more efficient. We use a sketching interface for 3D modeling and also provide various editing operations tailored for plush toy design. Internally, the system constructs a 2D cloth pattern in such a way that the simulation result matches the user's input stroke. Our goal is to show that relatively simple algorithms can provide fast, satisfactory results to the user whereas the pursuit of optimal layout and simulation accuracy lies outside this paper's scope. We successfully demonstrated that non-professional users could design plush toys or balloon easily using Plushie.", acknowledgement = ack-nhfb, articleno = "45", fjournal = "ACM Transactions on Graphics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J778", keywords = "cloth simulation; plush toys; sketch-based modeling", } @Article{Mungan:2007:SML, author = "Muhittin Mungan", title = "String Matching and {$1$D} Lattice Gases", journal = j-J-STAT-PHYS, volume = "126", number = "1", pages = "207--242", month = jan, year = "2007", CODEN = "JSTPSB", DOI = "https://doi.org/10.1007/s10955-006-9247-z", ISSN = "0022-4715 (print), 1572-9613 (electronic)", ISSN-L = "0022-4715", bibdate = "Thu Aug 28 19:06:56 MDT 2014", bibsource = "http://link.springer.com/journal/10955; http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0022-4715&volume=126&issue=1; https://www.math.utah.edu/pub/tex/bib/jstatphys2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/s10955-006-9247-z", acknowledgement = ack-nhfb, fjournal = "Journal of Statistical Physics", journal-URL = "http://link.springer.com/journal/10955", } @Article{Navarro:2007:CFT, author = "Gonzalo Navarro and Veli M{\"a}kinen", title = "Compressed full-text indexes", journal = j-COMP-SURV, volume = "39", number = "1", pages = "2:1--2:61", month = apr, year = "2007", CODEN = "CMSVAN", DOI = "https://doi.org/10.1145/1216370.1216372", ISSN = "0360-0300 (print), 1557-7341 (electronic)", ISSN-L = "0360-0300", bibdate = "Thu Jun 19 10:21:11 MDT 2008", bibsource = "http://www.acm.org/pubs/contents/journals/surveys/; https://www.math.utah.edu/pub/tex/bib/compsurv.bib; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Full-text indexes provide fast substring search over large text collections. A serious problem of these indexes has traditionally been their space consumption. A recent trend is to develop indexes that exploit the compressibility of the text, so that their size is a function of the compressed text length. This concept has evolved into self-indexes, which in addition contain enough information to reproduce any text portion, so they replace the text. The exciting possibility of an index that takes space close to that of the compressed text, replaces it, and in addition provides fast search over it, has triggered a wealth of activity and produced surprising results in a very short time, which radically changed the status of this area in less than 5 years. The most successful indexes nowadays are able to obtain almost optimal space and search time simultaneously.\par In this article we present the main concepts underlying (compressed) self-indexes. We explain the relationship between text entropy and regularities that show up in index structures and permit compressing them. Then we cover the most relevant self-indexes, focusing on how they exploit text compressibility to achieve compact structures that can efficiently solve various search problems. Our aim is to give the background to understand and follow the developments in this area.", acknowledgement = ack-nhfb, articleno = "2", fjournal = "ACM Computing Surveys", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J204", keywords = "entropy; text compression; Text indexing", } @Article{Nieminen:2007:EIA, author = "Janne Nieminen and Pekka Kilpel{\"a}inen", title = "Efficient implementation of {Aho--Corasick} pattern matching automata using {Unicode}", journal = j-SPE, volume = "37", number = "6", pages = "669--690", month = may, year = "2007", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.785", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Wed Oct 17 18:33:15 MDT 2007", bibsource = "http://www.interscience.wiley.com/jpages/0038-0644; http://www3.interscience.wiley.com/journalfinder.html; https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unicode.bib", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", onlinedate = "2 Nov 2006", } @Article{Petersen:2007:SMS, author = "Holger Petersen", title = "String matching with simple devices", journal = j-INFO-PROC-LETT, volume = "105", number = "1", pages = "32--34", day = "31", month = dec, year = "2007", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu Mar 31 15:52:54 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Qiu:2007:ESA, author = "Shibin Qiu and Terran Lane and Cundong Yang", title = "Efficient search algorithms for {RNAi} target detection", journal = j-J-SUPERCOMPUTING, volume = "42", number = "3", pages = "303--319", month = dec, year = "2007", CODEN = "JOSUED", DOI = "https://doi.org/10.1007/s11227-007-0121-9", ISSN = "0920-8542 (print), 1573-0484 (electronic)", ISSN-L = "0920-8542", bibdate = "Wed Jul 9 17:32:33 MDT 2008", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0920-8542&volume=42&issue=3; https://www.math.utah.edu/pub/tex/bib/jsuper.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0920-8542&volume=42&issue=3&spage=303", acknowledgement = ack-nhfb, fjournal = "The Journal of Supercomputing", journal-URL = "http://link.springer.com/journal/11227", keywords = "Off-target; Reverse string search; RNAi target detection; siRNA seed region; String inexact matching; String kernels", } @Article{Stallmann:2007:PAE, author = "Matthias F. Stallmann and Suzanne P. Balik and Robert D. Rodman and Sina Bahram and Michael C. Grace and Susan D. High", title = "{ProofChecker}: an accessible environment for automata theory correctness proofs", journal = j-SIGCSE, volume = "39", number = "3", pages = "48--52", month = sep, year = "2007", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/1269900.1268801", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sat Nov 17 16:57:36 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Proceedings of the 12th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE'07).", abstract = "ProofChecker is a graphical program based on the notion of formal correctness proofs that allows students, both sighted and visually impaired, to draw a deterministic finite automaton (DFA) and determine whether or not it correctly recognizes a given language. Sighted students use the mouse and graphical controls to draw and manipulate the DFA. Keyboard shortcuts, together with the use of a screen reader to voice the accessible descriptions provided by the program, allow visually impaired students to do the same. Because the states of a DFA partition the language over its alphabet into equivalence classes, each state has a language associated with it. Conditions that describe the language of each state are entered by the student in the form of conditional expressions with function calls and/or regular expressions. A brute-force approach is then used to check that each state's condition correctly describes all of the strings in its language and that none of the strings in a state's language meet the condition for another state. Feedback is provided that either confirms that the DFA correctly meets the given conditions or alerts the student to a mismatch between the conditions and the DFA. A student's DFA can be saved in an XML file and submitted for grading. An automated checking tool, known as ProofGrader, can be used to compare a student's DFA with the correct DFA for a given language, thus greatly speeding up the grading of student assignments.", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", } @Book{Stubblebine:2007:REP, author = "Tony Stubblebine", title = "Regular expression pocket reference: Regular expressions for {Perl}, {Ruby}, {PHP}, {Python}, {C}, {Java}, and {.NET}.", publisher = pub-ORA, address = pub-ORA:adr, edition = "Second", pages = "vii + 117", year = "2007", ISBN = "0-596-51427-1 (paperback)", ISBN-13 = "978-0-596-51427-3 (paperback)", LCCN = "QA76.9.T48 S78 2007", bibdate = "Thu Apr 16 10:31:52 MDT 2009", bibsource = "https://www.math.utah.edu/pub/tex/bib/java2000.bib; https://www.math.utah.edu/pub/tex/bib/ora.bib; https://www.math.utah.edu/pub/tex/bib/python.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; z3950.loc.gov:7090/Voyager", URL = "http://www.loc.gov/catdir/toc/fy0802/2007281074.html", acknowledgement = ack-nhfb, subject = "Text processing (Computer science); Programming languages (Electronic computers); Syntax", } @Article{Syme:2007:EPM, author = "Don Syme and Gregory Neverov and James Margetson", title = "Extensible pattern matching via a lightweight language extension", journal = j-SIGPLAN, volume = "42", number = "9", pages = "29--40", month = sep, year = "2007", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1291151.1291159", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 10:59:28 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Pattern matching of algebraic data types (ADTs) is a standard feature in typed functional programming languages, but it is well known that it interacts poorly with abstraction. While several partial solutions to this problem have been proposed, few have been implemented or used. This paper describes an extension to the .NET language F\# called active patterns, which supports pattern matching over abstract representations of generic heterogeneous data such as XML and term structures, including where these are represented via object models in other .NET languages. Our design is the first to incorporate both ad hoc pattern matching functions for partial decompositions and 'views' for total decompositions, and yet remains a simple and lightweight extension. We give a description of the language extension along with numerous motivating examples. Finally we describe how this feature would interact with other reasonable and related language extensions: existential types quantified at data discrimination tags, GADTs, and monadic generalizations of pattern matching.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "F#; functional programming; ML; pattern matching", } @Article{Tata:2007:ESTa, author = "Sandeep Tata and Jignesh M. Patel", title = "Estimating the selectivity of {\em tf-idf\/} based cosine similarity predicates", journal = j-SIGMOD, volume = "36", number = "2", pages = "7--12", month = jun, year = "2007", CODEN = "SRECD8", DOI = "https://doi.org/10.1145/1328854.1328855", ISSN = "0163-5808 (print), 1943-5835 (electronic)", ISSN-L = "0163-5808", bibdate = "Tue Jun 17 16:20:06 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigmod.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "An increasing number of database applications today require sophisticated approximate string matching capabilities. Examples of such application areas include data integration and data cleaning. Cosine similarity has proven to be a robust metric for scoring the similarity between two strings, and it is increasingly being used in complex queries. An immediate challenge faced by current database optimizers is to find accurate and efficient methods for estimating the selectivity of cosine similarity predicates. To the best of our knowledge, there are no known methods for this problem. In this paper, we present the first approach for estimating the selectivity of tf.idf based cosine similarity predicates. We evaluate our approach on three different real datasets and show that our method often produces estimates that are within 40\% of the actual selectivity.", acknowledgement = ack-nhfb, fjournal = "SIGMOD Record (ACM Special Interest Group on Management of Data)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J689", } @Article{Tata:2007:ESTb, author = "Sandeep Tata and Jignesh M. Patel", title = "Estimating the selectivity of {\em tf-idf\/} based cosine similarity predicates", journal = j-SIGMOD, volume = "36", number = "4", pages = "75--80", month = dec, year = "2007", CODEN = "SRECD8", DOI = "https://doi.org/10.1145/1361348.1361351", ISSN = "0163-5808 (print), 1943-5835 (electronic)", ISSN-L = "0163-5808", bibdate = "Tue Jun 17 16:20:29 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigmod.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "An increasing number of database applications today require sophisticated approximate string matching capabilities. Examples of such application areas include data integration and data cleaning. Cosine similarity has proven to be a robust metric for scoring the similarity between two strings, and it is increasingly being used in complex queries. An immediate challenge faced by current database optimizers is to find accurate and efficient methods for estimating the selectivity of cosine similarity predicates. To the best of our knowledge, there are no known methods for this problem. In this paper, we present the first approach for estimating the selectivity of tf.idf based cosine similarity predicates. We evaluate our approach on three different real datasets and show that our method often produces estimates that are within 40\% of the actual selectivity.", acknowledgement = ack-nhfb, fjournal = "SIGMOD Record (ACM Special Interest Group on Management of Data)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J689", } @Article{Tran:2007:FBC, author = "Thinh Ngoc Tran and Surin Kittitornkun", title = "{FPGA}-Based Cuckoo Hashing for Pattern Matching in {NIDS\slash NIPS}", journal = j-LECT-NOTES-COMP-SCI, volume = "4773", pages = "334--343", year = "2007", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-540-75476-3_34", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Mon Jan 21 17:04:38 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/lncs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/content/pdf/10.1007/978-3-540-75476-3_34", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-540-75476-3", book-URL = "http://www.springerlink.com/content/978-3-540-75476-3", fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Tseng:2007:DHS, author = "Kuo-Kun Tseng and Ying-Dar Lin and Tsern-Huei Lee and Yuan-Cheng Lai", title = "Deterministic high-speed root-hashing automaton matching coprocessor for embedded network processor", journal = j-COMP-ARCH-NEWS, volume = "35", number = "3", pages = "36--43", month = jun, year = "2007", CODEN = "CANED2", DOI = "https://doi.org/10.1145/1294313.1294314", ISSN = "0163-5964 (print), 1943-5851 (electronic)", ISSN-L = "0163-5964", bibdate = "Tue Jun 17 11:48:27 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/sigarch.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; sigarch.bib", abstract = "While string matching plays an important role in deep packet inspection applications, its software algorithms are insufficient to meet the demands of high-speed performance. Accordingly, we were motivated to propose fast and deterministic performance root-hashing automaton matching (RHAM) coprocessor for embedded network processor. Although automaton algorithms are robust with deterministic matching time, there is still plenty of room for improvement of their average-case performance. The proposed RHAM employs novel root-hashing technique to accelerate automaton matching. In our experiment, RHAM is implemented in a prevalent automaton algorithm, Aho--Corasick (AC) which is often used in many packet inspection applications. Compared to the original AC, RHAM only requires extra vector size in 48 Kbytes for root-hashing, and has about 900\% and 420\% outperformance for 20,000 URLs and 10,000 virus patterns respectively. Implementation of RHAM FPGA can perform at the rate of 12.6 Gbps with the pattern amount in 34,215 bytes. This is superior to all previous matching hardware in terms of throughput and pattern set.", acknowledgement = ack-nhfb, fjournal = "ACM SIGARCH Computer Architecture News", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J89", keywords = "coprocessor; finite automaton; hashing; packet inspection; string matching", xxISSN = "0163-5964 (ACM), 0884-7495 (IEEE)", } @Article{Weddle:2007:PGS, author = "Charles Weddle and Mathew Oldham and Jin Qian and An-I Andy Wang and Peter Reiher and Geoff Kuenning", title = "{PARAID}: a gear-shifting power-aware {RAID}", journal = j-TOS, volume = "3", number = "3", pages = "13:1--13:??", month = oct, year = "2007", CODEN = "????", DOI = "https://doi.org/10.1145/1288783.1288787", ISSN = "1553-3077 (print), 1553-3093 (electronic)", ISSN-L = "1553-3077", bibdate = "Mon Jun 16 17:36:25 MDT 2008", bibsource = "http://www.acm.org/pubs/contents/journals/tos/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tos.bib", abstract = "Reducing power consumption for server-class computers is important, since increased energy usage causes more heat dissipation, greater cooling requirements, reduced computational density, and higher operating costs. For a typical data center, storage accounts for 27\% of energy consumption. Conventional server-class RAIDs cannot easily reduce power because loads are balanced to use all disks, even for light loads.\par We have built the power-aware RAID (PARAID), which reduces energy use of commodity server-class disks without specialized hardware. PARAID uses a skewed striping pattern to adapt to the system load by varying the number of powered disks. By spinning disks down during light loads, PARAID can reduce power consumption, while still meeting performance demands, by matching the number of powered disks to the system load. Reliability is achieved by limiting disk power cycles and using different RAID encoding schemes. Based on our five-disk prototype, PARAID uses up to 34\% less power than conventional RAIDs while achieving similar performance and reliability.", acknowledgement = ack-nhfb, articleno = "13", fjournal = "ACM Transactions on Storage", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J960", keywords = "energy efficiency; power savings; RAID", } @Article{Wobber:2007:AAS, author = "Ted Wobber and Aydan Yumerefendi and Mart{\'\i}n Abadi and Andrew Birrell and Daniel R. Simon", title = "Authorizing applications in singularity", journal = j-OPER-SYS-REV, volume = "41", number = "3", pages = "355--368", month = jun, year = "2007", CODEN = "OSRED8", DOI = "https://doi.org/10.1145/1272998.1273033", ISSN = "0163-5980 (print), 1943-586X (electronic)", ISSN-L = "0163-5980", bibdate = "Fri Jun 20 17:16:31 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/opersysrev.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We describe a new design for authorization in operating systems in which applications are first-class entities. In this design, principals reflect application identities. Access control lists are patterns that recognize principals. We present a security model that embodies this design in an experimental operating system, and we describe the implementation of our design and its performance in the context of this operating system.", acknowledgement = ack-nhfb, fjournal = "ACM SIGOPS Operating Systems Review", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J597", keywords = "access control; application identity; capabilities; channels; delegation; pattern matching; regular expressions", } @Article{Zhang:2007:MPP, author = "Minghua Zhang and Ben Kao and David W. Cheung and Kevin Y. Yip", title = "Mining periodic patterns with gap requirement from sequences", journal = j-TKDD, volume = "1", number = "2", pages = "7:1--7:??", month = aug, year = "2007", CODEN = "????", DOI = "https://doi.org/10.1145/1267066.1267068", ISSN = "1556-4681 (print), 1556-472X (electronic)", ISSN-L = "1556-4681", bibdate = "Fri Apr 24 17:58:48 MDT 2009", bibsource = "http://www.acm.org/pubs/contents/journals/tkdd/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tkdd.bib", abstract = "We study a problem of mining frequently occurring periodic patterns with a gap requirement from sequences. Given a character sequence {$S$} of length {$L$} and a pattern {$P$} of length $l$, we consider {$P$} a frequently occurring pattern in {$S$} if the probability of {\em observing\/} {$P$} given a randomly picked length-$l$ subsequence of {$S$} exceeds a certain threshold. In many applications, particularly those related to bioinformatics, interesting patterns are {\em periodic\/} with a {\em gap requirement}. That is to say, the characters in {$P$} should match subsequences of {$S$} in such a way that the matching characters in {$S$} are separated by gaps of more or less the same size. We show the complexity of the mining problem and discuss why traditional mining algorithms are computationally infeasible. We propose practical algorithms for solving the problem and study their characteristics. We also present a case study in which we apply our algorithms on some DNA sequences. We discuss some interesting patterns obtained from the case study.", acknowledgement = ack-nhfb, articleno = "7", fjournal = "ACM Transactions on Knowledge Discovery from Data (TKDD)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1054", keywords = "gap requirement; periodic pattern; Sequence mining", } @Article{Zhang:2007:SSS, author = "Louxin Zhang", title = "Superiority of Spaced Seeds for Homology Search", journal = j-TCBB, volume = "4", number = "3", pages = "496--505", month = jul, year = "2007", CODEN = "ITCBCY", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Thu Jun 12 16:58:24 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "In homology search, good spaced seeds have higher sensitivity for the same cost (weight). However, elucidating the mechanism that confers power to spaced seeds and characterizing optimal spaced seeds still remain unsolved. This paper investigates these two important open questions by formally analyzing the average number of non-overlapping hits and the hit probability of a spaced seed in the Bernoulli sequence model. We prove that when the length of a non-uniformly spaced seed is bounded above by an exponential function of the seed weight, the seed outperforms strictly the traditional consecutive seed of the same weight in both (i) the average number of non-overlapping hits and (ii) the asymptotic hit probability. This clearly answers the first problem mentioned above in the Bernoulli sequence model. The theoretical study in this paper also gives a new solution to finding long optimal seeds.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", keywords = "homology search; pattern matching; renewal theory; run statistics; sequence alignment; spaced seeds", } @Book{Adjeroh:2008:BWT, author = "Donald Adjeroh and Tim Bell and Amar Mukherjee", title = "The {Burrows--Wheeler} Transform: Data Compression, Suffix Arrays, and Pattern Matching", publisher = "Springer Science+Business Media, LLC", address = "Boston, MA, USA", pages = "xxii + 351", year = "2008", DOI = "https://doi.org/10.1007/978-0-387-78909-5", ISBN = "0-387-78908-1, 0-387-78909-X (e-book)", ISBN-13 = "978-0-387-78908-8, 978-0-387-78909-5 (e-book)", LCCN = "QA76.9.D33 A35 2008", bibdate = "Mon Jan 28 15:10:39 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/cryptography2000.bib; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/sigact.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; z3950.bibsys.no:2100/BIBSYS", acknowledgement = ack-nhfb, subject = "Data Structures; Computer Science; Database management; Information Storage and Retrieval; Data structures (Computer science); Information storage and retrieval systems; Data Structures, Cryptology and Information Theory; datakomprimering", } @Article{Aiger:2008:AGH, author = "Dror Aiger and Klara Kedem", title = "Applying graphics hardware to achieve extremely fast geometric pattern matching in two and three dimensional transformation space", journal = j-INFO-PROC-LETT, volume = "105", number = "6", pages = "224--230", day = "16", month = mar, year = "2008", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu Mar 31 15:52:59 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Amir:2008:PEC, author = "Amihood Amir and Avivit Levy and Liron Reuveni", title = "The Practical Efficiency of Convolutions in Pattern Matching Algorithms", journal = j-FUND-INFO, volume = "84", number = "1", pages = "1--15", month = sep, year = "2008", CODEN = "FUMAAJ", ISSN = "0169-2968 (print), 1875-8681 (electronic)", ISSN-L = "0169-2968", bibdate = "Sat Mar 5 17:06:52 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/fundinfo2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Fundamenta Informaticae", journal-URL = "http://content.iospress.com/journals/fundamenta-informaticae", } @Article{Arenas:2008:XDE, author = "Marcelo Arenas and Leonid Libkin", title = "{XML} data exchange: {Consistency} and query answering", journal = j-J-ACM, volume = "55", number = "2", pages = "7:1--7:72", month = may, year = "2008", CODEN = "JACOAH", DOI = "https://doi.org/10.1145/1346330.1346332", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Mon Jun 16 18:08:44 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Data exchange is the problem of finding an instance of a target schema, given an instance of a source schema and a specification of the relationship between the source and the target. Theoretical foundations of data exchange have recently been investigated for relational data.\par In this article, we start looking into the basic properties of XML data exchange, that is, restructuring of XML documents that conform to a source DTD under a target DTD, and answering queries written over the target schema. We define XML data exchange settings in which source-to-target dependencies refer to the hierarchical structure of the data. Combining DTDs and dependencies makes some XML data exchange settings inconsistent. We investigate the consistency problem and determine its exact complexity.\par We then move to query answering, and prove a dichotomy theorem that classifies data exchange settings into those over which query answering is tractable, and those over which it is coNP-complete, depending on classes of regular expressions used in DTDs. Furthermore, for all tractable cases we give polynomial-time algorithms that compute target XML documents over which queries can be answered.", acknowledgement = ack-nhfb, articleno = "7", fjournal = "Journal of the Association for Computing Machinery", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", keywords = "computing certain answers; consistency; data exchange; XML", } @Article{Barsky:2008:GAT, author = "Marina Barsky and Ulrike Stege and Alex Thomo and Chris Upton", title = "A graph approach to the threshold all-against-all substring matching problem", journal = j-ACM-J-EXP-ALGORITHMICS, volume = "12", pages = "1.10:1--1.10:??", month = jun, year = "2008", CODEN = "????", DOI = "https://doi.org/10.1145/1370596.1370601", ISSN = "1084-6654", ISSN-L = "1084-6654", bibdate = "Mon Oct 6 16:17:58 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/jea.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We present a novel graph model and an efficient algorithm for solving the ``threshold all against all'' problem, which involves searching two strings (with length {$M$} and {$N$}, respectively) for all maximal approximate substring matches of length at least {$S$}, with up to {$K$} differences. Our algorithm solves the problem in time {$ O(M N K_3) $}, which is a considerable improvement over the previous known bound for this problem. We also provide experimental evidence that, in practice, our algorithm exhibits a better performance than its worst-case running time.", acknowledgement = ack-nhfb, articleno = "1.10", fjournal = "Journal of Experimental Algorithmics (JEA)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J430", keywords = "bioinformatics; complexity; string matching", } @Article{Ben-David:2008:EFA, author = "Shoham Ben-David and Dana Fisman and Sitvanit Ruah", title = "Embedding finite automata within regular expressions", journal = j-THEOR-COMP-SCI, volume = "404", number = "3", pages = "202--218", day = "28", month = sep, year = "2008", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Mar 28 21:21:41 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2005.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Bille:2008:FCR, author = "Philip Bille and Martin Farach-Colton", title = "Fast and compact regular expression matching", journal = j-THEOR-COMP-SCI, volume = "409", number = "3", pages = "486--496", day = "28", month = dec, year = "2008", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Mar 28 21:21:45 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2005.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Book{Blum:2008:LCL, author = "Richard Blum", title = "{Linux} command line and shell scripting bible", publisher = pub-WILEY, address = pub-WILEY:adr, pages = "xxx + 809", year = "2008", ISBN = "0-470-25128-X (paperback)", ISBN-13 = "978-0-470-25128-7 (paperback)", LCCN = "QA76.76.O63 B598 2008", bibdate = "Mon Aug 23 13:58:20 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib; z3950.loc.gov:7090/Voyager", URL = "http://www.loc.gov/catdir/enhancements/fy0827/2008012238-d.html; http://www.loc.gov/catdir/enhancements/fy0827/2008012238-t.html; http://www.loc.gov/catdir/enhancements/fy0828/2008012238-b.html", abstract = "A guide to the Linux command line and shell scripts covers such topics as using Linux environment variables, working with editors, using structured commands, handling user input, creating functions, and working with Regular Expressions.", acknowledgement = ack-nhfb, subject = "Linux; Operating systems (Computers); Scripting languages (Computer science)", tableofcontents = "Introduction \\ Part I. The Linux Command Line. Chapter 1: Starting with Linux Shells \\ Chapter 2: Getting to the Shell \\ Chapter 3: Basic bash Shell Commands \\ Chapter 4: More bash Shell Commands \\ Chapter 5: Using Linux Environment Variables. \\ Chapter 6: Understanding Linux File Permissions \\ Chapter 7: Working with Editors \\ Part II. Shell Scripting Basics. \\ Chapter 8: Basic Script Building \\ Chapter 9: Using Structured Commands \\ Chapter 10: More Structured Commands \\ Chapter 11: Handling User Input \\ Chapter 12: Presenting Data \\ Chapter 13: Script Control \\ Part III. Advanced Shell Scripting \\ Chapter 14: Creating Functions \\ Chapter 15: Adding Color to Scripts \\ Chapter 16: Introducing sed and gawk \\ Chapter 17: Regular Expressions \\ Chapter 18: Advanced sed \\ Chapter 19: Advanced gawk \\ Part IV. Alternative Linux Shells \\ Chapter 20: The ash Shell \\ Chapter 21: The tcsh Shell \\ Chapter 22: The Korn Shell \\ Chapter 23: The zsh Shell \\ Part V. Advanced Topics \\ Chapter 24: Using a Database \\ Chapter 25: Using the Web \\ Chapter 26: Using E-Mail \\ Chapter 27: Shell Scripts for Administrators \\ Appendixes", } @Article{Bocker:2008:CAM, author = "Sebastian Bocker and Veli Makinen", title = "Combinatorial Approaches for Mass Spectra Recalibration", journal = j-TCBB, volume = "5", number = "1", pages = "91--100", month = jan, year = "2008", CODEN = "ITCBCY", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Thu Jun 12 16:59:11 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "Mass spectrometry has become one of the most popular analysis techniques in Proteomics and Systems Biology. With the creation of larger datasets, the automated recalibration of mass spectra becomes important to ensure that every peak in the sample spectrum is correctly assigned to some peptide and protein. Algorithms for recalibrating mass spectra have to be robust with respect to wrongly assigned peaks, as well as efficient due to the amount of mass spectrometry data. The recalibration of mass spectra leads us to the problem of finding an optimal matching between mass spectra under measurement errors. We have developed two deterministic methods that allow robust computation of such a matching: The first approach uses a computational geometry interpretation of the problem, and tries to find two parallel lines with constant distance that stab a maximal number of points in the plane. The second approach is based on finding a maximal common approximate subsequence, and improves existing algorithms by one order of magnitude exploiting the sequential nature of the matching problem. We compare our results to a computational geometry algorithm using a topological line-sweep.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", keywords = "biotechnology; combinatorial pattern matching; computational geometry; mass spectrometry", } @Article{Bohannon:2008:BRL, author = "Aaron Bohannon and J. Nathan Foster and Benjamin C. Pierce and Alexandre Pilkiewicz and Alan Schmitt", title = "{Boomerang}: resourceful lenses for string data", journal = j-SIGPLAN, volume = "43", number = "1", pages = "407--419", month = jan, year = "2008", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1328438.1328487", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 11:02:13 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "A lens is a bidirectional program. When read from left to right, it denotes an ordinary function that maps inputs to outputs. When read from right to left, it denotes an ''update translator'' that takes an input together with an updated output and produces a new input that reflects the update. Many variants of this idea have been explored in the literature, but none deal fully with ordered data. If, for example, an update changes the order of a list in the output, the items in the output list and the chunks of the input that generated them can be misaligned, leading to lost or corrupted data.\par We attack this problem in the context of bidirectional transformations over strings, the primordial ordered data type. We first propose a collection of bidirectional string lens combinators, based on familiar operations on regular transducers (union, concatenation, Kleene-star) and with a type system based on regular expressions. We then design anew semantic space of dictionary lenses, enriching the lenses of Foster et al. (2007) with support for two additional combinators for marking ''reorderable chunks'' and their keys. To demonstrate the effectiveness of these primitives, we describe the design and implementation of Boomerang, a full-blown bidirectional programming language with dictionary lenses at its core. We have used Boomerang to build transformers for complex real-world data formats including the SwissProt genomic database.\par We formalize the essential property of resourcefulness -the correct use of keys to associate chunks in the input and output-by defining a refined semantic space of quasi-oblivious lenses. Several previously studied properties of lenses turn out to have compact characterizations in this space.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "bidirectional languages; lenses; regular string transducers; regular types; view update problem", } @Book{Braunstein:2008:AB, author = "Roger Braunstein and Mims H. Wright and Joshua J. Noble", title = "{ActionScript 3.0} bible", publisher = pub-WILEY, address = pub-WILEY:adr, pages = "lv + 735", year = "2008", ISBN = "0-470-13560-3 (paperback)", ISBN-13 = "978-0-470-13560-0 (paperback)", LCCN = "TR897.7 .B793 2008", bibdate = "Wed Mar 13 13:42:27 MDT 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; z3950.loc.gov:7090/Voyager", URL = "http://www.loc.gov/catdir/enhancements/fy0827/2007032141-b.html; http://www.loc.gov/catdir/enhancements/fy0827/2007032141-d.html; http://www.loc.gov/catdir/enhancements/fy0827/2007032141-t.html", abstract = "From the Publisher: ActionScript has matured into a full-fledged, object-oriented programming language for creating cutting-edge Web applications, and this comprehensive book is just what you need to succeed. If you want to add interactivity to Flash, build Flex applications, or work with animation- it's all here, and more. Packed with clear instruction, step-by-step tutorials, and advanced techniques, this book is your go-to guide to unlock the power of this amazing language. Learn the basics, apply object-oriented programming, and more.", acknowledgement = ack-nhfb, subject = "Flash (Computer file); ActionScript (Computer program language); Computer animation; Web sites; Design", tableofcontents = "Introduction \\ Part 1: Getting Started With ActionScript 3.0 \\ 1: Introducing ActionScript 3.0 \\ What is ActionScript? \\ Where can you use ActionScript? \\ What's new in ActionScript 3.0? \\ Summary \\ 2: Understanding ActionScript 3.0 language basics \\ Using variables \\ Using access controls \\ Introducing scope \\ Introducing the data types \\ Working with operators \\ Making logical choices with conditionals \\ Repeating actions using loops \\ Commenting your code \\ Summary \\ 3: Programming with classes \\ Understanding classes \\ Understanding terminology \\ Understanding encapsulation \\ Understanding packages \\ Using inheritance \\ Using methods in classes \\ Using properties in classes \\ Overriding behavior \\ Using static methods and properties \\ Designing interfaces \\ Manipulating types \\ Creating dynamic classes \\ Summary \\ 4: Working with methods and functions \\ Understanding functions \\ Creating custom functions \\ Returning results \\ Defining functions using function expressions \\ Accessing the methods of a superclass \\ Writing recursive functions \\ Functions as objects \\ Summary \\ 5: Validating your program \\ Introducing errors \\ Fixing errors \\ Summary --Part 2: Working With ActionScript 3.0 Objects \\ 6: Using strings \\ Summary \\ 7: Working with numbers and math \\ Understanding numeric types \\ Using numbers in ActionScript \\ Manipulating numbers \\ Performing arithmetic \\ Performing trigonometric calculations \\ Generating randomness \\ Manipulating dates and times \\ Summary \\ 8: Using arrays \\ Array basics \\ Converting arrays to strings \\ Adding and removing items from an array \\ Slicing, splicing, and dicing \\ Iterating through the items in an array \\ Searching for elements \\ Reordering your array \\ Applying actions to all elements of an array \\ Alternative types of arrays \\ Summary \\ 9: Using objects \\ Working with objects \\ Using objects as associative arrays \\ Using objects for named arguments \\ Using objects as nested data \\ Summary \\ 10: Working with XML \\ Getting started with XML in ActionScript \\ Accessing values with E4X \\ Constructing XML objects \\ Converting to and from strings \\ Loading XML data from external sources \\ Using namespaces \\ Working with comments and processing instructions \\ Setting options for the XML class \\ Summary \\ 11: Working with regular expressions \\ Introducing regular expressions \\ Applying regular expressions \\ Constructing expressions \\ Understanding regular expression flags \\ Constructing advanced expressions \\ Using the RegExp class \\ Summary \\ Part 3: Working With The Display List \\ 12: Understanding the Flash Player 9 display list \\ Display list \\ DisplayObject and DisplayObjectContainer \\ Introducing the graphics object \\ Working with the stage \\ InteractiveObject and SimpleButton \\ Shape \\ Creating user interface elements with Sprite \\ Working with the MovieClip \\ Examples using the display list \\ Summary \\ 13: Working with DisplayObjects in Flash CS3 \\ Creating symbols within Flash CS3 \\ Accessing embedded graphic classes \\ Summary \\ 14: Printing \\ Why print from Flash? \\ Controlling printer output from Flash \\ Adding print functionality to applications \\ Summary \\ 15: Working with text and fonts \\ Introducing TextFields \\ Using TextFormat \\ Creating text input fields \\ Listening to TextField events \\ Summary \\ Part 4: Understanding The Event Framework \\ 16: Understanding events \\ Introducing events \\ Understanding EventDispatcher \\ Working with event objects \\ Adding and removing event listeners \\ Understanding event flow \\ Preventing default behaviors \\ Summary \\ 17: Working with mouse and keyboard events \\ Local and stage coordinates \\ Other MouseEvent properties \\ MouseEvent types \\ KeyboardEvent basics \\ KeyboardEvent types \\ Understanding keyCodes \\ Summary \\ 18: Using timers \\ Handling the TimerEvent \\ Creating a world clock \\ Legacy timer functions \\ Summary --Part 5: Working With Error Handling \\ 19: Understanding errors \\ Comparing ways to fail \\ Understanding exceptions \\ Catching errors generated by Flash \\ Custom exceptions \\ Handling asynchronous errors \\ Summary \\ 20: Using the AVM2 debugger \\ Introducing debugging \\ Launching the debugger \\ Taking control of execution \\ Pulling back the curtain \\ Navigating through code \\ Debugging a simple example \\ Using the debugger effectively \\ Summary \\ 21: Making your application fault-tolerant \\ Developing a strategy \\ Determining what errors to handle \\ Categorizing failures \\ Logging errors \\ Messaging the user \\ Degrading styles: an example \\ Summary \\ Part 6: Working With External Data \\ 22: Understanding networking basics \\ URL request \\ Using the loader \\ Summary \\ 23: Communicating with server-side technologies \\ Communicating via URLLoader \\ Flash remoting \\ Summary \\ 24: Saving data to a local machine using SharedObject \\ Comparing approaches to persistent storage \\ Identifying useful situations for shared objects \\ Using SharedObjects \\ Sharing information between SWFs \\ Working with size constraints \\ Storing custom classes \\ Using serialization concepts for remoting \\ Summary \\ 25: Managing file uploads and downloads \\ Introducing FileReference \\ Uploading files \\ Downloading a file \\ Summary \\ Part 7: Enriching Your Program With Sound And Video \\ 26: Working with sound \\ Creating a sound object \\ Controlling playback of a sound \\ Applying sound transformations \\ Working with a sound's metadata \\ Calculating spectrum data \\ Detecting audio capabilities \\ Summary \\ 27: Adding video \\ Working with Flash video files \\ Loading FLV files into a Flash movie \\ Building an FLV application \\ Summary \\ 28: Accessing microphones and cameras \\ Introducing the camera \\ Introducing the microphone \\ Summary \\ Part 8: Programming Graphics And Motion \\ 29: Applying filters to your graphics \\ Introducing filters \\ Applying filters \\ Adding more than one filter \\ Rotating objects with filters \\ Summary \\ 30: Drawing vector graphics programmatically \\ Lines and LineStyles \\ Creating shapes \\ Making a drawing application \\ Summary \\ 31: Scripting animation \\ Animating with pure ActionScript \\ Animating using Flash \\ Animating using Flex \\ Choosing a third-party animation toolkit \\ Summary \\ 32: Applying transformations to graphics \\ Working with matrix transforms \\ Working with color transforms \\ Summary \\ 33: Drawing bitmap graphics programmatically \\ Creating a BitmapData object \\ Applying color transformations \\ Applying fills \\ Detecting areas by color \\ Applying effects \\ Making noise \\ Applying filters \\ Summary \\ Part 9: Working With Binary Data \\ 34: Working with binary data \\ Creating a byte array \\ Writing to a byte array \\ Reading from a byte array \\ Common uses of byte arrays \\ Summary \\ Part 10: Deploying Your Program \\ 35: Deploying Flash on the Web \\ Embedding Flash in a page \\ Embedding Flash using SWFObject \\ Enabling Flash player options \\ Passing variables to a SWF \\ Automatically upgrading Flash Player \\ Summary \\ 36: Interfacing with JavaScript \\ Communicating between JavaScript and Flash \\ Summary \\ 37: Using local connections to communicate between Flash applications \\ Creating a sending application \\ Creating a receiving application \\ Sending and receiving across domains \\ Summary \\ Index", } @Article{Cabello:2008:PCD, author = "Sergio Cabello and Panos Giannopoulos and Christian Knauer", title = "On the parameterized complexity of $d$-dimensional point set pattern matching", journal = j-INFO-PROC-LETT, volume = "105", number = "2", pages = "73--77", day = "16", month = jan, year = "2008", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu Mar 31 15:52:55 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Cadar:2008:EAG, author = "Cristian Cadar and Vijay Ganesh and Peter M. Pawlowski and David L. Dill and Dawson R. Engler", title = "{EXE}: Automatically Generating Inputs of Death", journal = j-TISSEC, volume = "12", number = "2", pages = "10:1--10:??", month = dec, year = "2008", CODEN = "ATISBQ", DOI = "https://doi.org/10.1145/1455518.1455522", ISSN = "1094-9224 (print), 1557-7406 (electronic)", ISSN-L = "1094-9224", bibdate = "Tue Dec 23 11:58:14 MST 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tissec.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", abstract = "This article presents EXE, an effective bug-finding tool that automatically generates inputs that crash real code. Instead of running code on manually or randomly constructed input, EXE runs it on symbolic input initially allowed to be anything. As checked code runs, EXE tracks the constraints on each symbolic (i.e., input-derived) memory location. If a statement uses a symbolic value, EXE does not run it, but instead adds it as an input-constraint; all other statements run as usual. If code conditionally checks a symbolic expression, EXE forks execution, constraining the expression to be true on the true branch and false on the other. Because EXE reasons about all possible values on a path, it has much more power than a traditional runtime tool: (1) it can force execution down any feasible program path and (2) at dangerous operations (e.g., a pointer dereference), it detects if the current path constraints allow {\em any\/} value that causes a bug. When a path terminates or hits a bug, EXE automatically generates a test case by solving the current path constraints to find concrete values using its own co-designed constraint solver, STP. Because EXE's constraints have no approximations, feeding this concrete input to an uninstrumented version of the checked code will cause it to follow the same path and hit the same bug (assuming deterministic code).\par EXE works well on real code, finding bugs along with inputs that trigger them in: the BSD and Linux packet filter implementations, the dhcpd DHCP server, the pcre regular expression library, and three Linux file systems.", acknowledgement = ack-nhfb, articleno = "10", fjournal = "ACM Transactions on Information and System Security", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J789", keywords = "attack generation; bug finding; constraint solving; dynamic analysis; symbolic execution; test case generation", } @Article{Calvanese:2008:CQC, author = "Diego Calvanese and Giuseppe {De Giacomo} and Maurizio Lenzerini", title = "Conjunctive query containment and answering under description logic constraints", journal = j-TOCL, volume = "9", number = "3", pages = "22:1--22:??", month = jun, year = "2008", CODEN = "????", DOI = "https://doi.org/10.1145/1352582.1352590", ISSN = "1529-3785 (print), 1557-945X (electronic)", ISSN-L = "1529-3785", bibdate = "Mon Jun 16 14:29:17 MDT 2008", bibsource = "http://www.acm.org/pubs/contents/journals/tocl/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tocl.bib", abstract = "Query containment and query answering are two important computational tasks in databases. While query answering amounts to computing the result of a query over a database, query containment is the problem of checking whether, for every database, the result of one query is a subset of the result of another query.\par In this article, we deal with unions of conjunctive queries, and we address query containment and query answering under description logic constraints. Every such constraint is essentially an inclusion dependency between concepts and relations, and their expressive power is due to the possibility of using complex expressions in the specification of the dependencies, for example, intersection and difference of relations, special forms of quantification, regular expressions over binary relations. These types of constraints capture a great variety of data models, including the relational, the entity-relationship, and the object-oriented model, all extended with various forms of constraints. They also capture the basic features of the ontology languages used in the context of the Semantic Web.\par We present the following results on both query containment and query answering. We provide a method for query containment under description logic constraints, thus showing that the problem is decidable, and analyze its computational complexity. We prove that query containment is undecidable in the case where we allow inequalities in the right-hand-side query, even for very simple constraints and queries. We show that query answering under description logic constraints can be reduced to query containment, and illustrate how such a reduction provides upper-bound results with respect to both combined and data complexity.", acknowledgement = ack-nhfb, articleno = "22", fjournal = "ACM Transactions on Computational Logic", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J773", keywords = "computational compexity; conjunctive queries; description logics; query containment", } @Article{Chandran:2008:IAO, author = "Nishanth Chandran and Ryan Moriarty and Rafail Ostrovsky and Omkant Pandey and Mohammad Ali Safari and Amit Sahai", title = "Improved algorithms for optimal embeddings", journal = j-TALG, volume = "4", number = "4", pages = "45:1--45:14", month = aug, year = "2008", CODEN = "????", DOI = "https://doi.org/10.1145/1383369.1383376", ISSN = "1549-6325 (print), 1549-6333 (electronic)", ISSN-L = "1549-6325", bibdate = "Tue Jul 14 19:03:43 MDT 2009", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/talg.bib", abstract = "In the last decade, the notion of metric embeddings with small distortion has received wide attention in the literature, with applications in combinatorial optimization, discrete mathematics, and bio-informatics. The notion of embedding is, given two metric spaces on the same number of points, to find a bijection that minimizes maximum Lipschitz and bi-Lipschitz constants. One reason for the popularity of the notion is that algorithms designed for one metric space can be applied to a different one, given an embedding with small distortion. The better distortion, the better the effectiveness of the original algorithm applied to a new metric space.\par The goal recently studied by Kenyon et al. [2004] is to consider all possible embeddings between two {\em finite\/ } metric spaces and to find the best possible one; that is, consider a single objective function over the space of all possible embeddings that minimizes the distortion. In this article we continue this important direction. In particular, using a theorem of Albert and Atkinson [2005], we are able to provide an algorithm to find the optimal bijection between two line metrics, provided that the optimal distortion is smaller than 13.602. This improves the previous bound of $ 3 + 2 \sqrt {2} $, solving an open question posed by Kenyon et al. [2004]. Further, we show an inherent limitation of algorithms using the ``forbidden pattern'' based dynamic programming approach, in that they cannot find optimal mapping if the optimal distortion is more than $ 7 + 4 \sqrt {3} (\simeq 13.928) $. Thus, our results are almost optimal for this method. We also show that previous techniques for general embeddings apply to a (slightly) more general class of metrics.", acknowledgement = ack-nhfb, articleno = "45", fjournal = "ACM Transactions on Algorithms (TALG)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J982", keywords = "dynamic programming; forbidden patterns; line embeddings; metric spaces; Optimal metric embeddings; shape matching", } @Article{Cheney:2008:FFU, author = "James Cheney", title = "{FLUX}: functional updates for {XML}", journal = j-SIGPLAN, volume = "43", number = "9", pages = "3--14", month = sep, year = "2008", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1411204.1411209", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Sep 23 17:31:25 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "XML database query languages have been studied extensively, but XML database updates have received relatively little attention, and pose many challenges to language design. We are developing an XML update language called FLUX, which stands for FunctionaL Updates for XML, drawing upon ideas from functional programming languages. In prior work, we have introduced a core language for FLUX with a clear operational semantics and a sound, decidable static type system based on regular expression types.\par Our initial proposal had several limitations. First, it lacked support for recursive types or update procedures. Second, although a high-level source language can easily be translated to the core language, it is difficult to propagate meaningful type errors from the core language back to the source. Third, certain updates are wellformed yet contain {\em path errors}, or 'dead' subexpressions which never do any useful work. It would be useful to detect path errors, since they often represent errors or optimization opportunities.\par In this paper, we address all three limitations. Specifically, we present an improved, sound type system that handles recursion. We also formalize a source update language and give a translation to the core language that {\em preserves\/} and {\em reflects\/} typability. We also develop a {\em path-error analysis\/} (a form of dead-code analysis) for updates.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "static analysis; type systems; update languages; XML", } @Article{Chlipala:2008:PHO, author = "Adam Chlipala", title = "Parametric higher-order abstract syntax for mechanized semantics", journal = j-SIGPLAN, volume = "43", number = "9", pages = "143--156", month = sep, year = "2008", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1411204.1411226", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Sep 23 17:31:25 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We present {\em parametric higher-order abstract syntax (PHOAS)}, a new approach to formalizing the syntax of programming languages in computer proof assistants based on type theory. Like higher-order abstract syntax (HOAS), PHOAS uses the meta language's binding constructs to represent the object language's binding constructs. Unlike HOAS, PHOAS types are definable in general-purpose type theories that support traditional functional programming, like Coq's Calculus of Inductive Constructions. We walk through how Coq can be used to develop certified, executable program transformations over several statically-typed functional programming languages formalized with PHOAS; that is, each transformation has a machine-checked proof of type preservation and semantic preservation. Our examples include CPS translation and closure conversion for simply-typed lambda calculus, CPS translation for System F, and translation from a language with ML-style pattern matching to a simpler language with no variable-arity binding constructs. By avoiding the syntactic hassle associated with first-order representation techniques, we achieve a very high degree of proof automation.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "compiler verification; dependent types; interactive proof assistants; type-theoretic semantics", } @Article{Cho:2008:DNP, author = "Young H. Cho and William H. Mangione-Smith", title = "Deep network packet filter design for reconfigurable devices", journal = j-TECS, volume = "7", number = "2", pages = "21:1--21:??", month = feb, year = "2008", CODEN = "????", DOI = "https://doi.org/10.1145/1331331.1331345", ISSN = "1539-9087 (print), 1558-3465 (electronic)", ISSN-L = "1539-9087", bibdate = "Thu Jun 12 15:22:00 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/cryptography2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tecs.bib", abstract = "Most network routers and switches provide some protection against the network attacks. However, the rapidly increasing amount of damages reported over the past few years indicates the urgent need for tougher security. Deep-packet inspection is one of the solutions to capture packets that can not be identified using the traditional methods. It uses a list of signatures to scan the entire content of the packet, providing the means to filter harmful packets out of the network. Since one signature does not depend on the other, the filtering process has a high degree of parallelism. Most software and hardware deep-packet filters that are in use today execute the tasks under Von Neuman architecture. Such architecture can not fully take advantage of the parallelism. For instance, one of the most widely used network intrusion-detection systems, Snort, configured with 845 patterns, running on a dual 1-GHz Pentium III system, can sustain a throughput of only 50 Mbps. The poor performance is because of the fact that the processor is programmed to execute several tasks sequentially instead of simultaneously. We designed scalable deep-packet filters on field-programmable gate arrays (FPGAs) to search for all data-independent patterns simultaneously. With FPGAs, we have the ability to reprogram the filter when there are any changes to the signature set. The smallest full-pattern matcher implementation for the latest Snort NIDS fits in a single 400k Xilinx FPGA (Spartan 3-XC3S400) with a sustained throughput of 1.6 Gbps. Given a larger FPGA, the design can scale linearly to support a greater number of patterns, as well as higher data throughput.", acknowledgement = ack-nhfb, articleno = "21", fjournal = "ACM Transactions on Embedded Computing Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?&idx=J840", keywords = "firewall; network intrusion detection; string filter; virus; worm", } @Article{Cho:2008:IAB, author = "Minkyoung Cho and David M. Mount", title = "Improved Approximation Bounds for Planar Point Pattern Matching", journal = j-ALGORITHMICA, volume = "50", number = "2", pages = "175--207", month = feb, year = "2008", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s00453-007-9059-9", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", bibdate = "Wed Jul 9 22:25:04 MDT 2008", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0178-4617&volume=50&issue=2; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0178-4617&volume=50&issue=2&spage=175", acknowledgement = ack-nhfb, fjournal = "Algorithmica", journal-URL = "http://link.springer.com/journal/453", keywords = "Approximation algorithms; Hausdorff distance; Point pattern matching", } @Article{Cohen:2008:EEP, author = "Norman H. Cohen and Karl Trygve Kalleberg", title = "{EventScript}: an event-processing language based on regular expressions with actions", journal = j-SIGPLAN, volume = "43", number = "7", pages = "111--120", month = jul, year = "2008", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1375657.1375673", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 11:05:54 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "EventScript is a simple but powerful language for programming reactive processes. A stream of incoming events is matched against a regular expression. Actions embedded within the regular expression are executed in response to the matching of patterns of events. These actions include assigning computed values to variables and emitting output events. The definition of EventScript presented a number of novel and interesting language-design choices. EventScript has an efficient implementation, and has been used in a development environment for complex event-based applications. We have used EventScript to program both small examples and large industrial applications. Readers of EventScript programs find them easy to understand, and are comfortable with the familiar model of matching regular expressions.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "actuators; event processing; reactive programs; regular expressions; sensors", } @Article{deBruijn:2008:PFL, author = "Willem de Bruijn and Herbert Bos", title = "{PipesFS}: fast {Linux I/O} in the {Unix} tradition", journal = j-OPER-SYS-REV, volume = "42", number = "5", pages = "55--63", month = jul, year = "2008", CODEN = "OSRED8", DOI = "https://doi.org/10.1145/1400097.1400104", ISSN = "0163-5980 (print), 1943-586X (electronic)", ISSN-L = "0163-5980", bibdate = "Wed Aug 6 16:54:12 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/opersysrev.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", abstract = "This paper presents PipesFS, an I/O architecture for Linux 2.6 that increases I/O throughput and adds support for heterogeneous parallel processors by (1) collapsing many I/O interfaces onto one: the Unix pipeline, (2) increasing pipe efficiency and (3) exploiting pipeline modularity to spread computation across all available processors.\par PipesFS extends the pipeline model to kernel I/O and communicates with applications through a Linux virtual filesystem (VFS), where directory nodes represent operations and pipe nodes export live kernel data. Users can thus interact with kernel I/O through existing calls like mkdir, tools like grep, most languages and even shell scripts. To support performance critical tasks, PipesFS improves pipe throughput through copy, context switch and cache miss avoidance. To integrate heterogeneous processors (e.g., the Cell) it transparently moves operations to the most efficient type of core.", acknowledgement = ack-nhfb, fjournal = "ACM SIGOPS Operating Systems Review", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J597", } @InProceedings{Ferragina:2008:SCS, author = "Paolo Ferragina and Roberto Grossi and Ankur Gupta and Rahul Shah and Jeffrey Scott Vitter", title = "On searching compressed string collections cache-obliviously", crossref = "Lenzerini:2008:PTS", pages = "181--190", year = "2008", DOI = "https://doi.org/10.1145/1376916.1376943", bibdate = "Fri Jun 20 14:17:29 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Current data structures for searching large string collections either fail to achieve minimum space or cause too many cache misses. In this paper we discuss some edge linearizations of the classic trie data structure that are simultaneously cache-friendly and compressed. We provide new insights on front coding [24], introduce other novel linearizations, and study how close their space occupancy is to the information-theoretic minimum. The moral is that they are not just heuristics. Our second contribution is a novel dictionary encoding scheme that builds upon such linearizations and achieves nearly optimal space, offers competitive I/O-search time, and is also conscious of the query distribution. Finally, we combine those data structures with cache-oblivious tries [2, 5] and obtain a succinct variant whose space is close to the information-theoretic minimum.", acknowledgement = ack-nhfb, keywords = "B-tree; cache efficiency; data compression; front coding; string searching", } @Book{Feuerstein:2008:OPS, author = "Steven Feuerstein and Bill Pribyl and Chip Dawes", title = "{Oracle PL\slash SQL} language: pocket reference", publisher = pub-ORA-MEDIA, address = pub-ORA-MEDIA:adr, edition = "Fourth", pages = "vii + 170", year = "2008", ISBN = "0-596-51404-2 (paperback)", ISBN-13 = "978-0-596-51404-4 (paperback)", LCCN = "QA76.9.D3", bibdate = "Tue Aug 5 17:56:42 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/ora.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; melvyl.cdlib.org:210/CDL90", URL = "http://www.oreilly.com/catalog/9780596514044", abstract = "``The new edition describes such Oracle Database 11g elements as PL/SQL's function result cache, compound triggers, the CONTINUE statement, the SIMPLE\_INTEGER datatype, and improvements to native compilation, regular expressions, and compiler optimization (including intra-unit inlining). In addition, this book now includes substantial new sections on Oracle's built-in functions and packages.", acknowledgement = ack-nhfb, remark = "Previous edition 2004. ``A guide to Oracle PL/SQL language fundamentals. ``Covers Oracle database 11g", subject = "Oracle (Computer file); PL/SQL (Computer program language); Relational databases; Database management", } @Article{Foster:2008:QL, author = "J. Nathan Foster and Alexandre Pilkiewicz and Benjamin C. Pierce", title = "Quotient lenses", journal = j-SIGPLAN, volume = "43", number = "9", pages = "383--396", month = sep, year = "2008", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1411203.1411257", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Sep 23 17:31:25 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "There are now a number of BIDIRECTIONAL PROGRAMMING LANGUAGES, where every program can be read both as a forward transformation mapping one data structure to another and as a reverse transformation mapping an edited output back to a correspondingly edited input. Besides parsimony --- the two related transformations are described by just one expression --- such languages are attractive because they promise strong behavioral laws about how the two transformations fit together --- e.g., their composition is the identity function. It has repeatedly been observed, however, that such laws are actually a bit too strong: in practice, we do not want them 'on the nose,' but only up to some equivalence, allowing inessential details, such as whitespace, to be modified after a round trip. Some bidirectional languages loosen their laws in this way, but only for specific, baked-in equivalences.\par In this work, we propose a general theory of QUOTIENT LENSES --- bidirectional transformations that are well behaved modulo equivalence relations controlled by the programmer. Semantically, quotient lenses are a natural refinement of LENSES, which we have studied in previous work. At the level of syntax, we present a rich set of constructs for programming with CANONIZERS and for quotienting lenses by canonizers. We track equivalences explicitly, with the type of every quotient lens specifying the equivalences it respects.\par We have implemented quotient lenses as a refinement of the bidirectional string processing language Boomerang. We present a number of useful primitive canonizers for strings, and give a simple extension of Boomerang's regular-expression-based type system to statically typecheck quotient lenses. The resulting language is an expressive tool for transforming real-world, ad-hoc data formats. We demonstrate the power of our notation by developing an extended example based on the UniProt genome database format and illustrate the generality of our approach by showing how uses of quotienting in other bidirectional languages can be translated into our notation.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "bidirectional languages; bijective languages; boomerang; canonizers; equivalences; lenses; regular string transducers; regular types; view update problem", } @Article{Furr:2008:CTS, author = "Michael Furr and Jeffrey S. Foster", title = "Checking type safety of foreign function calls", journal = j-TOPLAS, volume = "30", number = "4", pages = "18:1--18:63", month = jul, year = "2008", CODEN = "ATPSDT", DOI = "https://doi.org/10.1145/1377492.1377493", ISSN = "0164-0925 (print), 1558-4593 (electronic)", ISSN-L = "0164-0925", bibdate = "Tue Aug 5 19:14:53 MDT 2008", bibsource = "http://www.acm.org/pubs/contents/journals/toplas/; https://www.math.utah.edu/pub/tex/bib/java2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/toplas.bib", abstract = "Foreign function interfaces (FFIs) allow components in different languages to communicate directly with each other. While FFIs are useful, they often require writing tricky low-level code and include little or no static safety checking, thus providing a rich source of hard-to-find programming errors. In this article, we study the problem of enforcing type safety across the OCaml-to-C FFI and the Java Native Interface (JNI). We present O-Saffire and J-Saffire, a pair of multilingual type inference systems that ensure C code that uses these FFIs accesses high-level data safely. Our inference systems use {\em representational types\/} to model C's low-level view of OCaml and Java values, and singleton types to track integers, strings, memory offsets, and type tags through C. J-Saffire, our Java system, uses a polymorphic flow-insensitive, unification-based analysis. Polymorphism is important because it allows us to precisely model user-defined wrapper functions and the more than 200 JNI functions. O-Saffire, our OCaml system, uses a monomorphic flow-sensitive analysis because, while polymorphism is much less important for the OCaml FFI flow-sensitivity is critical to track conditional branches, which are used when pattern matching OCaml data in C. O-Saffire also tracks garbage collection information to ensure that local C pointers to the OCaml heap are registered properly, which is not necessary for the JNI. We have applied O-Saffire and J-Saffire to a set of benchmarks and found many bugs and questionable coding practices. These results suggest that static checking of FFIs can be a valuable tool in writing correct multilingual software.", acknowledgement = ack-nhfb, articleno = "18", fjournal = "ACM Transactions on Programming Languages and Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783", keywords = "dataflow analysis; FFI; flow-sensitive type system; foreign function calls; Foreign function interface; Java; Java Native Interface; JNI; multilingual type inference; multilingual type system; OCaml; representational type", } @Article{Garcia-Osorio:2008:TPA, author = "C{\'e}sar Garc{\'\i}a-Osorio and I{\~n}igo Mediavilla-S{\'a}iz and Javier Jimeno-Visitaci{\'o}n and Nicol{\'a}s Garc{\'\i}a-Pedrajas", title = "Teaching push-down automata and {Turing} machines", journal = j-SIGCSE, volume = "40", number = "3", pages = "316--316", month = sep, year = "2008", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/1597849.1384359", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sat Nov 17 15:44:14 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Proceedings of ITiCSE '08.", abstract = "In this paper we present the new version of a tool to assist in teaching formal languages and automata theory. In the previous version the tool provided algorithms for regular expressions, finite automata and context free grammars. The new version can simulate as well push-down automata and Turing machines.", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", } @Article{Grabowski:2008:BPS, author = "Szymon Grabowski and Kimmo Fredriksson", title = "Bit-parallel string matching under {Hamming} distance in {$ O(n \lceil m / w \rceil) $} worst case time", journal = j-INFO-PROC-LETT, volume = "105", number = "5", pages = "182--187", day = "29", month = feb, year = "2008", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu Mar 31 15:52:58 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Huang:2008:ESS, author = "Shan Shan Huang and Yannis Smaragdakis", title = "Expressive and safe static reflection with {MorphJ}", journal = j-SIGPLAN, volume = "43", number = "6", pages = "79--89", month = jun, year = "2008", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1375581.1375592", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 11:04:53 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/csharp.bib; https://www.math.utah.edu/pub/tex/bib/java2000.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Recently, language extensions have been proposed for Java and C\# to support pattern-based reflective declaration. These extensions introduce a disciplined form of meta-programming and aspect-oriented programming to mainstream languages: They allow members of a class (i.e., fields and methods) to be declared by statically iterating over and pattern-matching on members of other classes. Such techniques, however, have been unable to safely express simple, but common, idioms such as declaring getter and setter methods for fields.\par In this paper, we present a mechanism that addresses the lack of expressiveness in past work without sacrificing safety. Our technique is based on the idea of nested patterns that elaborate the outer-most pattern with blocking or enabling conditions. We implemented this mechanism in a language, MorphJ. We demonstrate the expressiveness of MorphJ with real-world applications. In particular, the MorphJ reimplementation of DSTM2, a software transactional memory library, reduces 1,107 lines of Java reflection and bytecode engineering library calls to just 374 lines of MorphJ code. At the same time, the MorphJ solution is both high level and safer, as MorphJ can separately type check generic classes and catch errors early. We present and formalize the MorphJ type system, and offer a type-checking algorithm.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "aspect-oriented programming; class morphing; language extensions; meta-programming; object-oriented programming; structural abstraction", } @Article{Hullin:2008:FIR, author = "Matthias B. Hullin and Martin Fuchs and Ivo Ihrke and Hans-Peter Seidel and Hendrik P. A. Lensch", title = "Fluorescent immersion range scanning", journal = j-TOG, volume = "27", number = "3", pages = "87:1--87:??", month = aug, year = "2008", CODEN = "ATGRDF", DOI = "https://doi.org/10.1145/1360612.1360686", ISSN = "0730-0301 (print), 1557-7368 (electronic)", ISSN-L = "0730-0301", bibdate = "Tue Aug 12 13:40:36 MDT 2008", bibsource = "http://www.acm.org/pubs/contents/journals/tog/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tog.bib", abstract = "The quality of a 3D range scan should not depend on the surface properties of the object. Most active range scanning techniques, however, assume a diffuse reflector to allow for a robust detection of incident light patterns. In our approach we embed the object into a fluorescent liquid. By analyzing the light rays that become visible due to fluorescence rather than analyzing their reflections off the surface, we can detect the intersection points between the projected laser sheet and the object surface for a wide range of different materials. For transparent objects we can even directly depict a slice through the object in just one image by matching its refractive index to the one of the embedding liquid. This enables a direct sampling of the object geometry without the need for computational reconstruction. This way, a high-resolution 3D volume can be assembled simply by sweeping a laser plane through the object. We demonstrate the effectiveness of our light sheet range scanning approach on a set of objects manufactured from a variety of materials and material mixes, including dark, translucent and transparent objects.", acknowledgement = ack-nhfb, articleno = "87", fjournal = "ACM Transactions on Graphics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J778", keywords = "3D scanning; fluorescent dye; transparent surfaces", } @Article{Hyyro:2008:IBP, author = "Heikki Hyyr{\"o}", title = "Improving the bit-parallel {NFA} of {Baeza-Yates} and {Navarro} for approximate string matching", journal = j-INFO-PROC-LETT, volume = "108", number = "5", pages = "313--319", day = "15", month = nov, year = "2008", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu Mar 31 15:53:16 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Iliopoulos:2008:NAP, author = "Costas S. Iliopoulos and Laurent Mouchard and M. Sohel Rahman", title = "A New Approach to Pattern Matching in Degenerate {DNA\slash RNA} Sequences and Distributed Pattern Matching", journal = j-MATH-COMPUT-SCI, volume = "1", number = "4", pages = "557--569", month = jun, year = "2008", CODEN = "????", DOI = "https://doi.org/10.1007/s11786-007-0029-z", ISSN = "1661-8270 (print), 1661-8289 (electronic)", ISSN-L = "1661-8270", bibdate = "Thu Jul 9 15:43:59 MDT 2009", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=1661-8270&volume=1&issue=4; https://www.math.utah.edu/pub/tex/bib/math-comput-sci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=1661-8270&volume=1&issue=4&spage=557", acknowledgement = ack-nhfb, fjournal = "Mathematics in Computer Science", journal-URL = "http://www.springerlink.com/content/1661-8270/", keywords = "Mathematics Subject Classification (2000); Primary 68W05; Secondary 68Q25", } @Article{Islam:2008:ACB, author = "Aminul Islam and Diana Inkpen and Iluju Kiringa", title = "Applications of corpus-based semantic similarity and word segmentation to database schema matching", journal = j-VLDB-J, volume = "17", number = "5", pages = "1293--1320", month = aug, year = "2008", CODEN = "VLDBFR", DOI = "https://doi.org/10.1007/s00778-007-0067-9", ISSN = "1066-8888 (print), 0949-877X (electronic)", ISSN-L = "1066-8888", bibdate = "Thu Jul 10 10:00:50 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbj.bib", abstract = "In this paper, we present a method for database schema matching: the problem of identifying elements of two given schemas that correspond to each other. Schema matching is useful in e-commerce exchanges, in data integration/warehousing, and in semantic web applications. We first present two corpus-based methods: one method is for determining the semantic similarity of two target words and the other is for automatic word segmentation. Then we present a name-based element-level database schema matching method that exploits both the semantic similarity and the word segmentation methods. Our word similarity method uses pointwise mutual information (PMI) to sort lists of important neighbor words of two target words; the words which are common in both lists are selected and their PMI values are aggregated to calculate the relative similarity score. Our word segmentation method uses corpus type frequency information to choose the type with maximum length and frequency from 'desegmented' text. It also uses a modified forward---backward matching technique using maximum length frequency and entropy rate if any non-matching portions of the text exist. Finally, we exploit both the semantic similarity and the word segmentation methods in our proposed name-based element-level schema matching method. This method uses a single property (i.e., element name) for schema matching and nevertheless achieves a measure score that is comparable to the methods that use multiple properties (e.g., element name, text description, data instance, context description). Our schema matching method also uses normalized and modified versions of the longest common subsequence string matching algorithm with weight factors to allow for a balanced combination. We validate our methods with experimental studies, the results of which suggest that these methods can be a useful addition to the set of existing methods.", acknowledgement = ack-nhfb, fjournal = "VLDB Journal: Very Large Data Bases", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", keywords = "Corpus-based methods; Database schema matching; Semantic similarity; Word segmentation", } @Article{Islam:2008:STS, author = "Aminul Islam and Diana Inkpen", title = "Semantic text similarity using corpus-based word similarity and string similarity", journal = j-TKDD, volume = "2", number = "2", pages = "10:1--10:??", month = jul, year = "2008", CODEN = "????", DOI = "https://doi.org/10.1145/1376815.1376819", ISSN = "1556-4681 (print), 1556-472X (electronic)", ISSN-L = "1556-4681", bibdate = "Fri Apr 24 17:59:30 MDT 2009", bibsource = "http://www.acm.org/pubs/contents/journals/tkdd/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tkdd.bib", abstract = "We present a method for measuring the semantic similarity of texts using a corpus-based measure of semantic word similarity and a normalized and modified version of the Longest Common Subsequence (LCS) string matching algorithm. Existing methods for computing text similarity have focused mainly on either large documents or individual words. We focus on computing the similarity between two sentences or two short paragraphs. The proposed method can be exploited in a variety of applications involving textual knowledge representation and knowledge discovery. Evaluation results on two different data sets show that our method outperforms several competing methods.", acknowledgement = ack-nhfb, articleno = "10", fjournal = "ACM Transactions on Knowledge Discovery from Data (TKDD)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1054", keywords = "corpus-based measures; Semantic similarity of words; similarity of short texts", } @Book{Judd:2008:BGG, author = "Christopher Judd and Joseph Faisal Nusairat and James Shingler", title = "Beginning {Groovy} and {Grails}: from Novice to Professional", publisher = pub-APRESS, address = pub-APRESS:adr, pages = "xxvi + 413", year = "2008", ISBN = "1-4302-1045-1 (paperback)", ISBN-13 = "978-1-4302-1045-0 (paperback)", LCCN = "QA76.73.G23 J84 2008", bibdate = "Wed Mar 13 13:42:27 MDT 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; z3950.loc.gov:7090/Voyager", series = "Expert's voice in open source", abstract = "Offers instructions for working with the Groovy programming language and the Grails Web framework, covering such topics as building a user interface, security, Web 2.0, reporting, batch processing, and deploying and upgrading applications.", acknowledgement = ack-nhfb, subject = "Groovy (Computer program language); Programming languages (Electronic computers)", tableofcontents = "Cover \\ Contents \\ Foreword \\ About the Authors \\ About the Technical Reviewer \\ Acknowledgments \\ Introduction \\ 1. Introduction to Groovy \\ Groovy Language Features \\ Groovy Installation \\ Groovy by Example \\ Converting Java to Groovy \\ Converting a JavaBean to a GroovyBean \\ Simplifying the Code \\ Using Groovy Collection Notation and Closure \\ Getting Rid of Main() \\ Summary \\ 2. Groovy Basics \\ Scripts \\ Using Script Functions \\ Compiling Groovy \\ Running Groovy \\ Assertions \\ Strings \\ String Interpolation \\ Multiline Strings \\ Slashy Strings \\ Methods and Closures \\ Methods \\ Closures \\ Collections \\ Lists \\ Ranges \\ Sets \\ Arrays \\ Maps \\ Regular Expressions \\ Groovy Regular Expression Operators \\ Common Uses of Regular Expressions \\ Operators \\ Operator Overloading \\ Specialized Operators \\ Summary \\ 3. More Advanced Groovy \\ Groovy Unit Testing \\ Working with XML \\ Writing XML with Java \\ Groovy Builders \\ Writing XML with Groovy MarkupBuilder \\ Reading XML with XmlSlurper \\ Generating Text with Templates \\ Expandos \\ Meta Object Protocol \\ Domain-Specific Languages \\ Summary \\ 4. Introduction to Grails \\ What Is Grails? \\ Grails Features \\ Integrated Open Source \\ Grails Architecture \\ Installing Grails \\ Collab-Todo Application \\ Getting Started with Scaffolding \\ Understanding the Scaffolding Process \\ Creating the Application \\ Running the Application \\ Creating a Domain Class \\ Implementing Integration Tests \\ Running the Test Harness \\ Implementing a Domain Class \\ Creating the Controller \\ Finishing the Remaining Domain and Controllers \\ Creating Domain Relationships \\ Summary \\ 5. Building the User Interface \\ Starting with the End in Mind \\ Creating the Footer \\ Creating the Topbar \\ Adding More Look and Feel \\ Grails Tags \\ Making the Topbar Functional \\ The Login View \\ The login Action \\ Handling the Login and Logout Actions \\ Testing \\ Integration Testing Using JUnit \\ Functional Testing Using Canoo WebTest \\ Externalizing Strings \\ Errors and Validation \\ Flash and Flash Messages \\ Controlling the Application \\ Controlling Users \\ Controlling Categories \\ Creating an Audit Log Using Action Interceptors \\ Using Filters \\ Summary \\ 6. Building Domains and Services \\ GORM \\ Collab-Todo's Domain \\ Creating Domain Objects \\ Basic Domain Creation \\ Creating Relationships \\ Overwriting Default Settings \\ Validation \\ Constraints \\ Calling the Validator \\ Validation Messages \\ Querying the Database \\ GORM's CRUD Support \\ Creating Queries \\ Database Migration \\ The dbmigrate Plug-In \\ The LiquiBase Plug-In \\ Services \\ Creating a Service \\ Calling the Service \\ Injecting into the Service \\ Initializing the Service \\ Setting a Bean to Be Transactional \\ Service Context Available in the Service \\ Summary \\ 7. Security in Grails \\ 8. Web 2.0 \\ Ajax and Friends \\ 9. Web Services \\ 10. Reporting \\ 11. Batch Processing \\ 12. Deploying and Upgrading \\ 13. Alternative Clients", } @Book{Kahrel:2008:GIC, author = "Peter Kahrel", title = "{GREP} in {InDesign CS3\slash CS4}", publisher = pub-ORA-MEDIA, address = pub-ORA-MEDIA:adr, pages = "53", year = "2009", ISBN = "0-596-15717-7", ISBN-13 = "978-0-596-15717-3", LCCN = "Z253.532.A34 K34 2008", bibdate = "Sat Nov 13 10:19:50 MST 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/ora.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; melvyl.cdlib.org:210/CDL90; prodorbis.library.yale.edu:7090/voyager", acknowledgement = ack-nhfb, subject = "Adobe InDesign (Electronic resource); Desktop publishing", } @Article{Karakoidas:2008:FJO, author = "Vassilios Karakoidas and Diomidis Spinellis", title = "{FIRE\slash J} --- optimizing regular expression searches with generative programming", journal = j-SPE, volume = "38", number = "6", pages = "557--573", day = "??", month = may, year = "2008", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.841", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Wed Mar 17 09:55:28 MDT 2010", bibsource = "http://www.interscience.wiley.com/jpages/0038-0644; http://www3.interscience.wiley.com/journalfinder.html; https://www.math.utah.edu/pub/bibnet/authors/s/spinellis-diomidis.bib; https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", onlinedate = "Jul 23 2007 7:56AM", } @Article{Kastrup:2008:MLP, author = "David Kastrup", title = "{\tt makematch}, a {\LaTeX} package for pattern matching with wildcards", journal = j-TUGboat, volume = "29", number = "1", pages = "190--192", year = "2008", ISSN = "0896-3207", bibdate = "Mon May 25 14:17:16 MDT 2015", bibsource = "http://www.gust.org.pl/conferences/EuroBachoTeX2007; https://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tugboat.bib", URL = "http://www.tug.org/TUGboat/tb29-1/tb91kastrup-match.pdf", acknowledgement = ack-bnb # " and " # ack-nhfb, issue = "91", journal-URL = "http://www.tug.org/TUGboat/", remark = "EuroBachoTeX 2007 Proceedings.", } @Article{Kastrup:2008:PML, author = "David Kastrup", title = "\pkg{makematch}, a {\LaTeX} package for pattern matching with wildcards", journal = j-TUGboat, volume = "29", number = "1", pages = "190--192", year = "2008", ISSN = "0896-3207", ISSN-L = "0896-3207", bibdate = "Mon May 25 14:17:16 MDT 2015", bibsource = "http://www.gust.org.pl/conferences/EuroBachoTeX2007; https://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tugboat.bib", URL = "https://tug.org/TUGboat/tb29-1/tb91kastrup-match.pdf", acknowledgement = ack-bnb # " and " # ack-nhfb, confnote = "EuroBachoTeX 2007 Proceedings.", fjournal = "TUGboat", issue = "91", journal-URL = "https://tug.org/TUGboat/", remark = "Advanced{\Dash}efficient pattern matching supporting * and !.", } @Article{Kastrup:TB29-1-190, author = "David Kastrup", title = "\pkg{makematch}, a {\LaTeX} package for pattern matching with wildcards", journal = j-TUGboat, volume = "29", number = "1", pages = "190--192", year = "2008", ISSN = "0896-3207", ISSN-L = "0896-3207", bibdate = "Mon May 25 14:17:16 MDT 2015", bibsource = "https://www.gust.org.pl/conferences/EuroBachoTeX2007; https://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tugboat.bib", URL = "https://tug.org/TUGboat/tb29-1/tb91kastrup-match.pdf", acknowledgement = ack-bnb # " and " # ack-nhfb, confnote = "EuroBachoTeX 2007 Proceedings.", fjournal = "TUGboat", issue = "91", journal-URL = "https://tug.org/TUGboat/", remark = "Advanced{\Dash}efficient pattern matching supporting * and !.", } @Article{Kim:2008:LSS, author = "Eagu Kim and John Kececioglu", title = "Learning Scoring Schemes for Sequence Alignment from Partial Examples", journal = j-TCBB, volume = "5", number = "4", pages = "546--556", month = oct, year = "2008", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2008.57", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Wed Jan 14 12:51:33 MST 2009", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "When aligning biological sequences, the choice of parameter values for the alignment scoring function is critical. Small changes in gap penalties, for example, can yield radically different alignments. A rigorous way to compute parameter values that are appropriate for aligning biological sequences is through inverse parametric sequence alignment. Given a collection of examples of biologically correct alignments, this is the problem of finding parameter values that make the scores of the example alignments close to those of optimal alignments for their sequences. We extend prior work on inverse parametric alignment to partial examples, which contain regions where the alignment is left unspecified, and to an improved formulation based on minimizing the average error between the score of an example and the score of an optimal alignment. Experiments on benchmark biological alignments show we can find parameters that generalize across protein families and that boost the accuracy of multiple sequence alignment by as much as 25\%.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", keywords = "Analysis of Algorithms and Problem Complexity; Biology and genetics; Linear programming; Pattern matching", } @Article{Kim:2008:SOF, author = "Min-Soo Kim and Kyu-Young Whang and Jae-Gil Lee and Min-Jae Lee", title = "Structural optimization of a full-text $n$-gram index using relational normalization", journal = j-VLDB-J, volume = "17", number = "6", pages = "1485--1507", month = nov, year = "2008", CODEN = "VLDBFR", DOI = "https://doi.org/10.1007/s00778-007-0082-x", ISSN = "1066-8888 (print), 0949-877X (electronic)", ISSN-L = "1066-8888", bibdate = "Wed Oct 22 09:20:08 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbj.bib", abstract = "As the amount of text data grows explosively, an efficient index structure for large text databases becomes ever important. The $n$-gram inverted index (simply, the $n$-gram index) has been widely used in information retrieval or in approximate string matching due to its two major advantages: language-neutral and error-tolerant. Nevertheless, the $n$-gram index also has drawbacks: the size tends to be very large, and the performance of queries tends to be bad. In this paper, we propose the two-level $n$-gram inverted index (simply, the $n$-gram/2L index) that significantly reduces the size and improves the query performance by using the relational normalization theory. We first identify that, in the (full-text) $n$-gram index, there exists redundancy in the position information caused by a non-trivial multivalued dependency. The proposed index eliminates such redundancy by constructing the index in two levels: the front-end index and the back-end index. We formally prove that this two-level construction is identical to the relational normalization process. We call this process structural optimization of the $n$-gram index. The $n$-gram/2L index has excellent properties: (1) it significantly reduces the size and improves the performance compared with the $n$-gram index with these improvements becoming more marked as the database size gets larger; (2) the query processing time increases only very slightly as the query length gets longer. Experimental results using real databases of 1~GB show that the size of the $n$-gram/2L index is reduced by up to 1.9---2.4 times and, at the same time, the query performance is improved by up to 13.1 times compared with those of the $n$-gram index. We also compare the $n$-gram/2L index with Makinen's compact suffix array (CSA) (Proc. 11th Annual Symposium on Combinatorial Pattern Matching pp.~305---319, 2000) stored in disk. Experimental results show that the $n$-gram/2L index outperforms the CSA when the query length is short (i.e., less than 15---20), and the CSA is similar to or better than the $n$-gram/2L index when the query length is long (i.e., more than 15---20).", acknowledgement = ack-nhfb, fjournal = "VLDB Journal: Very Large Data Bases", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", keywords = "$n$-gram; Inverted index; Multivalued dependency; Text search", } @Article{Koutrika:2008:CST, author = "Georgia Koutrika and Frans Adjie Effendi and Zolt{\'{}}n Gy{\"o}ngyi and Paul Heymann and Hector Garcia-Molina", title = "Combating spam in tagging systems: an evaluation", journal = j-TWEB, volume = "2", number = "4", pages = "22:1--22:??", month = oct, year = "2008", CODEN = "????", DOI = "https://doi.org/10.1145/1409220.1409225", ISSN = "1559-1131 (print), 1559-114X (electronic)", ISSN-L = "1559-1131", bibdate = "Fri Apr 24 18:18:06 MDT 2009", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tweb.bib", abstract = "Tagging systems allow users to interactively annotate a pool of shared resources using descriptive strings called {\em tags}. Tags are used to guide users to interesting resources and help them build communities that share their expertise and resources. As tagging systems are gaining in popularity, they become more susceptible to {\em tag spam\/}: misleading tags that are generated in order to increase the visibility of some resources or simply to confuse users. Our goal is to understand this problem better. In particular, we are interested in answers to questions such as: How many malicious users can a tagging system tolerate before results significantly degrade? What types of tagging systems are more vulnerable to malicious attacks? What would be the effort and the impact of employing a trusted moderator to find bad postings? Can a system automatically protect itself from spam, for instance, by exploiting user tag patterns? In a quest for answers to these questions, we introduce a framework for modeling tagging systems and user tagging behavior. We also describe a method for ranking documents matching a tag based on taggers' reliability. Using our framework, we study the behavior of existing approaches under malicious attacks and the impact of a moderator and our ranking method.", acknowledgement = ack-nhfb, articleno = "22", fjournal = "ACM Transactions on the Web (TWEB)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1062", keywords = "bookmarking systems; tag spam; Tagging; tagging models", } @Article{Krauss:2008:PMP, author = "Alexander Krauss", title = "Pattern minimization problems over recursive data types", journal = j-SIGPLAN, volume = "43", number = "9", pages = "267--274", month = sep, year = "2008", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1411203.1411242", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Sep 23 17:31:25 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "In the context of program verification in an interactive theorem prover, we study the problem of transforming function definitions with ML-style (possibly overlapping) pattern matching into minimal sets of independent equations. Since independent equations are valid unconditionally, they are better suited for the equational proof style using induction and rewriting, which is often found in proofs in theorem provers or on paper.\par We relate the problem to the well-known minimization problem for propositional DNF formulas and show that it is {$ \pounds P / 2 $}-complete. We then develop a concrete algorithm to compute minimal patterns, which naturally generalizes the standard Quine-McCluskey procedure to the domain of term patterns.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "complexity; pattern matching; theorem proving", } @Article{Krishnamurthy:2008:SSD, author = "Rajasekar Krishnamurthy and Yunyao Li and Sriram Raghavan and Frederick Reiss and Shivakumar Vaithyanathan and Huaiyu Zhu", title = "{SystemT}: a system for declarative information extraction", journal = j-SIGMOD, volume = "37", number = "4", pages = "7--13", month = dec, year = "2008", CODEN = "SRECD8", DOI = "https://doi.org/10.1145/1519103.1519105", ISSN = "0163-5808 (print), 1943-5835 (electronic)", ISSN-L = "0163-5808", bibdate = "Wed Apr 1 17:19:47 MDT 2009", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigmod.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "As applications within and outside the enterprise encounter increasing volumes of unstructured data, there has been renewed interest in the area of information extraction (IE) -- the discipline concerned with extracting structured information from unstructured text. Classical IE techniques developed by the NLP community were based on cascading grammars and regular expressions. However, due to the inherent limitations of grammar-based extraction, these techniques are unable to: (i) scale to large data sets, and (ii) support the expressivity requirements of complex information tasks. At the IBM Almaden Research Center, we are developing SystemT, an IE system that addresses these limitations by adopting an algebraic approach. By leveraging well-understood database concepts such as declarative queries and costbased optimization, SystemT enables scalable execution of complex information extraction tasks. In this paper, we motivate the SystemT approach to information extraction. We describe our extraction algebra and demonstrate the effectiveness of our optimization techniques in providing orders of magnitude reduction in the running time of complex extraction tasks.", acknowledgement = ack-nhfb, fjournal = "SIGMOD Record (ACM Special Interest Group on Management of Data)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J689", } @Article{Lam:2008:IAS, author = "Tak-Wah Lam and Wing-Kin Sung and Swee-Seong Wong", title = "Improved Approximate String Matching Using Compressed Suffix Data Structures", journal = j-ALGORITHMICA, volume = "51", number = "3", pages = "298--314", month = jul, year = "2008", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s00453-007-9104-8", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", bibdate = "Wed Jul 9 22:25:05 MDT 2008", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0178-4617&volume=51&issue=3; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0178-4617&volume=51&issue=3&spage=298", acknowledgement = ack-nhfb, fjournal = "Algorithmica", journal-URL = "http://link.springer.com/journal/453", } @Article{Leonard:2008:SDP, author = "Derek Leonard and Zhongmei Yao and Xiaoming Wang and Dmitri Loguinov", title = "On static and dynamic partitioning behavior of large-scale {P2P} networks", journal = j-IEEE-TRANS-NETWORKING, volume = "16", number = "6", pages = "1475--1488", month = dec, year = "2008", CODEN = "IEANEP", DOI = "https://doi.org/10.1109/TNET.2007.911433", ISSN = "1063-6692 (print), 1558-2566 (electronic)", ISSN-L = "1063-6692", bibdate = "Fri Mar 6 16:31:04 MST 2009", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/ieeetransnetworking.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "In this paper, we analyze the problem of network disconnection in the context of large-scale P2P networks and understand how both static and dynamic patterns of node failure affect the resilience of such graphs. We start by applying classical results from random graph theory to show that a large variety of deterministic and random P2P graphs almost surely (i.e., with probability {$ 1 - O(1) $}) remain connected under random failure if and only if they have no isolated nodes. This simple, yet powerful, result subsequently allows us to derive in closed-form the probability that a P2P network develops isolated nodes, and therefore partitions, under both types of node failure. We finish the paper by demonstrating that our models match simulations very well and that dynamic P2P systems are extremely resilient under node churn as long as the neighbor replacement delay is much smaller than the average user lifetime.", acknowledgement = ack-nhfb, fjournal = "IEEE\slash ACM Transactions on Networking", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J771", keywords = "churn; dynamic resilience; graph disconnection; P2P", } @Article{Lin:2008:USM, author = "Po-Ching Lin and Ying-Dar Lin and Yuan-Cheng Lai and Tsern-Huei Lee", title = "Using String Matching for Deep Packet Inspection", journal = j-COMPUTER, volume = "41", number = "4", pages = "23--28", month = apr, year = "2008", CODEN = "CPTRB4", DOI = "https://doi.org/10.1109/MC.2008.138", ISSN = "0018-9162 (print), 1558-0814 (electronic)", ISSN-L = "0018-9162", bibdate = "Fri Jul 4 17:13:37 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/computer2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Computer", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2", } @Article{Lipsky:2008:PML, author = "Ohad Lipsky and Ely Porat", title = "{$ L_1 $} pattern matching lower bound", journal = j-INFO-PROC-LETT, volume = "105", number = "4", pages = "141--143", day = "15", month = feb, year = "2008", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu Mar 31 15:52:57 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @InProceedings{Litvak:2008:PRB, author = "Nelly Litvak and Werner R. W. Scheinhardt and Yana Volkovich", title = "Probabilistic relation between in-degree and {PageRank}", crossref = "Aiello:2008:AMW", pages = "72--83", year = "2008", DOI = "https://doi.org/10.1007/978-3-540-78808-9_7", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", MRclass = "68M10 (05C90 37A50 68P20)", MRnumber = "MR2473494 (2010c:68014)", bibdate = "Wed May 5 19:28:06 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/pagerank.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, ZMnumber = "1142.68314", abstract = "This paper presents a novel stochastic model that explains the relation between power laws of In-Degree and PageRank. PageRank is a popularity measure designed by Google to rank Web pages. We model the relation between PageRank and In-Degree through a stochastic equation, which is inspired by the original definition of PageRank. Using the theory of regular variation and Tauberian theorems, we prove that the tail distributions of PageRank and In-Degree differ only by a multiplicative constant, for which we derive a closed-form expression. Our analytical results are in good agreement with Web data.", acknowledgement = ack-nhfb, keywords = "Algorithms; Experimentation; In-Degree; PageRank; Power law; Regular variation; Stochastic equation; Theory; Verification; Web measurement", } @Article{Lladser:2008:MPM, author = "Manuel E. Lladser and M. D. Betterton and Rob Knight", title = "Multiple pattern matching: a {Markov} chain approach", journal = j-J-MATH-BIOL, volume = "56", number = "1--2", pages = "51--92", month = jan, year = "2008", CODEN = "JMBLAJ", DOI = "https://doi.org/10.1007/s00285-007-0109-3", ISSN = "0303-6812 (print), 1432-1416 (electronic)", ISSN-L = "0303-6812", bibdate = "Thu Feb 18 08:57:13 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/jmathbiol.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/content/pdf/10.1007/s00285-007-0109-3.pdf", acknowledgement = ack-nhfb, fjournal = "Journal of Mathematical Biology", journal-URL = "http://link.springer.com/journal/285", } @Article{Lozano:2008:STA, author = "Antoni Lozano and Ron Y. Pinter and Oleg Rokhlenko and Gabriel Valiente and Michal Ziv-Ukelson", title = "Seeded Tree Alignment", journal = j-TCBB, volume = "5", number = "4", pages = "503--513", month = oct, year = "2008", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2008.59", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Wed Jan 14 12:51:33 MST 2009", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "The optimal transformation of one tree into another by means of elementary edit operations is an important algorithmic problem that has several interesting applications to computational biology. Here we introduce a constrained form of this problem in which a partial mapping of a set of nodes (the `seeds') in one tree to a corresponding set of nodes in the other tree is given, and present efficient algorithms for both ordered and unordered trees. Whereas ordered tree matching based on seeded nodes has applications in pattern matching of RNA structures, unordered tree matching based on seeded nodes has applications in co-speciation and phylogeny reconciliation. The latter involves the solution of the planar tanglegram layout problem, for which a polynomial-time algorithm is given here.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", keywords = "Biology and genetics; Computer Applications; Discrete Mathematics; Graph algorithms; Graph Theory; Life and Medical Sciences; Mathematics of Computing; Trees", } @InProceedings{Meir:2008:CCL, author = "Or Meir", title = "Combinatorial construction of locally testable codes", crossref = "ACM:2008:SPA", pages = "285--294", year = "2008", DOI = "https://doi.org/10.1145/1374376.1374419", bibdate = "Fri Jun 20 18:31:53 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "An error correcting code is said to be locally testable if there is a test that checks whether a given string is a codeword, or rather far from the code, by reading only a constant number of symbols of the string. Locally Testable Codes (LTCs) were first systematically studied by Goldreich and Sudan (J. ACM 53(4)) and since then several Constructions of LTCs have been suggested.\par While the best known construction of LTCs by Ben-Sasson and Sudan (STOC 2005) and Dinur (J. ACM 54(3)) achieves very efficient parameters, it relies heavily on algebraic tools and on PCP machinery. In this work we present a new and arguably simpler construction of LTCs that is purely combinatorial, does not rely on PCP machinery and matches the parameters of the best known construction. However, unlike the latter construction, our construction is not entirely explicit.", acknowledgement = ack-nhfb, keywords = "locally testable codes; PCPs of proximity; probabilistically checkable proofs", } @Article{Moscola:2008:RCB, author = "James Moscola and John W. Lockwood and Young H. Cho", title = "Reconfigurable content-based router using hardware-accelerated language parser", journal = j-TODAES, volume = "13", number = "2", pages = "28:1--28:??", month = apr, year = "2008", CODEN = "ATASFO", DOI = "https://doi.org/10.1145/1344418.1344424", ISSN = "1084-4309 (print), 1557-7309 (electronic)", ISSN-L = "1084-4309", bibdate = "Thu Jun 12 18:10:39 MDT 2008", bibsource = "http://www.acm.org/pubs/contents/journals/todaes/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/todaes.bib", abstract = "This article presents a dense logic design for matching multiple regular expressions with a field programmable gate array (FPGA) at 10 + Gbps. It leverages on the design techniques that enforce the shortest critical path on most FPGA architectures while optimizing the circuit size. The architecture is capable of supporting a maximum throughput of 12. 90 Gbps on a Xilinx Virtex 4 LX200 and its performance is linearly scalable with size. Additionally, this article presents techniques for parsing data streams to provide semantic information for patterns found within a data stream. We illustrate how a content-based router can be implemented with our parsing techniques using an XML parser as an example. The content-based router presented was designed, implemented, and tested in a Xilinx Virtex XCV2000E FPGA on the FPX platform. It is capable of processing 32-bits of data per clock cycle and runs at 100 MHz. This allows the system to process and route XML messages at 3. 2 Gbps.", acknowledgement = ack-nhfb, articleno = "28", fjournal = "ACM Transactions on Design Automation of Electronic Systems (TODAES)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J776", keywords = "content-based routing; parser hardware; Parsing; pattern matching; regular expressions; XML", } @Article{Murphy:2008:DGB, author = "Laurie Murphy and Gary Lewandowski and Ren{\'e}e McCauley and Beth Simon and Lynda Thomas and Carol Zander", title = "Debugging: the good, the bad, and the quirky --- a qualitative analysis of novices' strategies", journal = j-SIGCSE, volume = "40", number = "1", pages = "163--167", month = mar, year = "2008", CODEN = "SIGSD3", DOI = "https://doi.org/10.1145/1352322.1352191", ISSN = "0097-8418 (print), 2331-3927 (electronic)", ISSN-L = "0097-8418", bibdate = "Sat Nov 17 15:44:10 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/java2000.bib; https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Proceedings of SIGCSE 08.", abstract = "A qualitative analysis of debugging strategies of novice Java programmers is presented. The study involved 21 CS2 students from seven universities in the U.S. and U.K. Subjects ``warmed up'' by coding a solution to a typical introductory problem. This was followed by an exercise debugging a syntactically correct version with logic errors. Many novices found and fixed bugs using strategies such as tracing, commenting out code, diagnostic print statements and methodical testing. Some competently used online resources and debuggers. Students also used pattern matching to detect errors in code that ``just didn't look right''. However, some used few strategies, applied them ineffectively, or engaged in other unproductive behaviors. This led to poor performance, frustration for some, and occasionally the introduction of new bugs. Pedagogical implications and suggestions for future research are discussed.", acknowledgement = ack-nhfb, fjournal = "SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J688", } @Article{Nicoara:2008:CSE, author = "Angela Nicoara and Gustavo Alonso and Timothy Roscoe", title = "Controlled, systematic, and efficient code replacement for running {Java} programs", journal = j-OPER-SYS-REV, volume = "42", number = "4", pages = "233--246", month = may, year = "2008", CODEN = "OSRED8", DOI = "https://doi.org/10.1145/1352592.1352617", ISSN = "0163-5980 (print), 1943-586X (electronic)", ISSN-L = "0163-5980", bibdate = "Fri Jun 20 17:21:34 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/java2000.bib; https://www.math.utah.edu/pub/tex/bib/opersysrev.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "In this paper we present PROSE, a system that performs reversible and systematic changes to running Java applications without requiring them to be shut down. PROSE is motivated by scenarios such as hotfixes, online program instrumentation and debugging, and evolution of critical legacy applications. In PROSE, changes to running applications are performed by replacing method bodies. To select which code to replace, PROSE supports matching based on both type information and regular expressions. New code can invoke the method it replaces, facilitating code evolution. Changes are composable, and may be reordered or selectively withdrawn at any time. Furthermore, the dynamic changes are expressed as Java classes rather than through an additional programming language. We describe the architecture of PROSE, the challenges of using aggressive inlining to achieve performance, and use standard benchmarks to demonstrate code performance comparable with, or better than, compile-time systems from the Aspect-Oriented Programming community.", acknowledgement = ack-nhfb, fjournal = "ACM SIGOPS Operating Systems Review", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J597", keywords = "dynamic bytecode instrumentation; inlining; PROSE; run-time method code replacement; run-time modification", } @TechReport{Owens:2008:RED, author = "Scott Owens and John Reppy and Aaron Turon", title = "Regular-expression derivatives reexamined", type = "Report", institution = "University of Cambridge and University of Chicago and Northeastern University", address = "Cambridge, UK; Chicago, IL, USA; Boston, MA, USA", pages = "18", day = "12", month = aug, year = "2008", bibdate = "Sat Nov 07 13:55:07 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.ccs.neu.edu/home/turon/re-deriv.pdf", acknowledgement = ack-nhfb, remark = "This article revisits Brzozowski's 44-year-old work \cite{Brzozowski:1964:DRE} that has largely been forgotten in the parser research community, and textbooks in that area.", } @Article{Pao:2008:PAM, author = "D. Pao and W. Lin and B. Liu", title = "Pipelined Architecture for Multi-String Matching", journal = j-IEEE-COMPUT-ARCHIT-LETT, volume = "7", number = "2", pages = "33--36", month = jul, year = "2008", CODEN = "????", DOI = "https://doi.org/10.1109/L-CA.2008.5", ISSN = "1556-6056 (print), 1556-6064 (electronic)", ISSN-L = "1556-6056", bibdate = "Fri Jun 21 05:49:19 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeecomputarchitlett.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "This letter presents a new oblivious routing algorithm for 3D mesh networks called randomized partially-minimal (RPM) routing that provably achieves optimal worst- case throughput for 3D meshes when the network radix fc is even and within a factor of 1/k2 of optimal when k is odd. Although this optimality result has been achieved with the minimal routing algorithm OITURN for the 2D case, the worst-case throughput of OITURN degrades tremendously in higher dimensions. Other existing routing algorithms suffer from either poor worst-case throughput (DOR, ROMM) or poor latency (VAL). RPM on the other hand achieves near optimal worst-case and good average-case throughput as well as good latency performance.", acknowledgement = ack-nhfb, fjournal = "IEEE Computer Architecture Letters", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=10208", keywords = "3D mesh networks; Automata; computer architecture; Computer architecture; Computer science; Costs; deterministic finite automaton; Hardware; Intrusion detection; network intrusion detection; network radix; OITURN; Partial response channels; pipelined processing; Pipelines; randomized partially-minimal routing; string matching; Table lookup; three-dimensional mesh networks; Throughput", } @Article{Patrick:2008:CEO, author = "Christina M. Patrick and SeungWoo Son and Mahmut Kandemir", title = "Comparative evaluation of overlap strategies with study of {I/O} overlap in {MPI-IO}", journal = j-OPER-SYS-REV, volume = "42", number = "6", pages = "43--49", month = oct, year = "2008", CODEN = "OSRED8", DOI = "https://doi.org/10.1145/1453775.1453784", ISSN = "0163-5980 (print), 1943-586X (electronic)", ISSN-L = "0163-5980", bibdate = "Thu Oct 23 14:23:29 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/opersysrev.bib; https://www.math.utah.edu/pub/tex/bib/pvm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", abstract = "Many scientific applications use parallel I/O to meet the low latency and high bandwidth I/O requirement. Among many available parallel I/O operations, collective I/O is one of the most popular methods when the storage layouts and access patterns of data do not match. The implementation of collective I/O typically involves disk I/O operations followed by interprocessor communications. Also, in many I/O-intensive applications, parallel I/O operations are usually followed by parallel computations. This paper presents a comparative study of different overlap strategies in parallel applications. We have experimented with four different overlap strategies (1) Overlapping I/O and communication; (2) Overlapping I/O and computation; (3) Overlapping computation and communication; and (4) Overlapping I/O, communication, and computation. All experiments have been conducted on a Linux Cluster and the performance results obtained are very encouraging. On an average, we have enhanced the performance of a generic collective read call by 38\%, the MxM benchmark by 26\%, and the FFT benchmark by 34\%.", acknowledgement = ack-nhfb, fjournal = "ACM SIGOPS Operating Systems Review", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J597", } @Article{Pientka:2008:TTF, author = "Brigitte Pientka", title = "A type-theoretic foundation for programming with higher-order abstract syntax and first-class substitutions", journal = j-SIGPLAN, volume = "43", number = "1", pages = "371--382", month = jan, year = "2008", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1328897.1328483", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 11:02:13 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Higher-order abstract syntax (HOAS) is a simple, powerful technique for implementing object languages, since it directly supports common and tricky routines dealing with variables, such as capture-avoiding substitution and renaming. This is achieved by representing binders in the object-language via binders in the meta-language. However, enriching functional programming languages with direct support for HOAS has been a major challenge, because recursion over HOAS encodings requires one to traverse lambda-abstractions and necessitates programming with open objects.\par We present a novel type-theoretic foundation based on contextual modal types which allows us to recursively analyze open terms via higher-order pattern matching. By design, variables occurring in open terms can never escape their scope. Using several examples, we demonstrate that our framework provides a name-safe foundation to operations typically found in nominal systems. In contrast to nominal systems however, we also support capture-avoiding substitution operations and even provide first-class substitutions to the programmer. The main contribution of this paper is a syntax-directed bi-directional type system where we distinguish between the data language and the computation language together with the progress and preservation proof for our language.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "logical frameworks; type system", } @Article{Porat:2008:PMP, author = "Benny Porat and Ely Porat and Asaf Zur", title = "Pattern matching with pair correlation distance", journal = j-THEOR-COMP-SCI, volume = "407", number = "1--3", pages = "587--590", day = "6", month = nov, year = "2008", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Mar 28 21:21:42 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2005.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Qu:2008:RPM, author = "Yingge Qu and Wai-Man Pang and Tien-Tsin Wong and Pheng-Ann Heng", title = "Richness-preserving manga screening", journal = j-TOG, volume = "27", number = "5", pages = "155:1--155:??", month = dec, year = "2008", CODEN = "ATGRDF", DOI = "https://doi.org/10.1145/1457515.1409108", ISSN = "0730-0301 (print), 1557-7368 (electronic)", ISSN-L = "0730-0301", bibdate = "Mon Dec 8 14:35:04 MST 2008", bibsource = "http://www.acm.org/pubs/contents/journals/tog/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tog.bib", abstract = "Due to the tediousness and labor intensive cost, some manga artists have already employed computer-assisted methods for converting color photographs to manga backgrounds. However, existing bitonal image generation methods usually produce unsatisfactory uniform screening results that are not consistent with traditional mangas, in which the artist employs a rich set of screens. In this paper, we propose a novel method for generating bitonal manga backgrounds from color photographs. Our goal is to preserve the visual richness in the original photograph by utilizing not only screen density, but also the variety of screen patterns. To achieve the goal, we select screens for different regions in order to preserve the tone similarity, texture similarity, and chromaticity distinguishability. The multi-dimensional scaling technique is employed in such a color-to-pattern matching for maintaining pattern dissimilarity of the screens. Users can control the mapping by a few parameters and interactively fine-tune the result. Several results are presented to demonstrate the effectiveness and convenience of the proposed method.", acknowledgement = ack-nhfb, articleno = "155", fjournal = "ACM Transactions on Graphics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J778", keywords = "manga; multidimensional scaling; non-photorealistic rendering; screening", } @Book{Schwartz:2008:LP, author = "Randal L. Schwartz and Tom Phoenix and Brian D. Foy", title = "Learning {Perl}", publisher = pub-ORA, address = pub-ORA:adr, edition = "Fifth", pages = "xviii + 328", year = "2008", ISBN = "0-596-52010-7", ISBN-13 = "978-0-596-52010-6", LCCN = "QA76.73.P22 S37 2008", bibdate = "Wed Mar 13 13:43:08 MDT 2013", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/ora.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; melvyl.cdlib.org:210/CDL90; prodorbis.library.yale.edu:7090/voyager", abstract = "Shows how to write, debug, and run a Perl program, describes CGI scripting and data manipulation, and describes scalar values, basic operators, and associative arrays.", acknowledgement = ack-nhfb, subject = "Perl (Computer program language)", tableofcontents = "1. Introduction \\ Questions and answers \\ What does ``Perl'' stand for? \\ How can I get Perl? \\ How do I make a Perl program? \\ A Whirlwind tour of Perl \\ Exercises \\ 2. Scalar data \\ Numbers \\ Strings \\ Perl's built-in warnings \\ Scalar variables \\ Output with print \\ The If control structure \\ Getting user input \\ The Chomp operator \\ The While control structure \\ The Undef value \\ The Defined function \\ 3. Lists and arrays \\ Accessing elements of an array \\ Special array Indices \\ List literals \\ List assignment \\ Interpolating arrays into strings \\ The Foreach control structure \\ Scalar and list context \\ 4. Subroutines \\ Defining a subroutine \\ Invoking a subroutine \\ Return values \\ Arguments \\ Private variables in subroutines \\ Variable-length parameter lists \\ Notes on lexical (my) variables \\ The Use strict pragma \\ The Return operator \\ Nonscalar Return Values \\ Persistent, private variables \\ 5. Input and output \\ Input from standard input \\ Input from the diamond operator \\ The Invocation arguments \\ Output to standard output \\ Formatted output with printf \\ Filehandles \\ Opening a filehandle \\ Fatal errors with die \\ Using filehandles \\ Reopening a standard filehandle \\ Output with say \\ 6. Hashes \\ What Is a hash? \\ Hash element access \\ Hash functions \\ Typical use of a hash \\ The \%ENV hash \\ 7. In the world of regular expressions \\ What are regular expressions? \\ Using simple patterns \\ Character classes \\ 8. Matching with regular expressions \\ Matches with m// \\ Option modifiers \\ Anchors \\ The Binding operator, =~ \\ Interpolating into patterns \\ The Match variables \\ General quantifiers \\ Precedence \\ A Pattern test program \\ 9. Processing text with regular expressions \\ Substitutions with s/// \\ The Split operator \\ The Join function in list context \\ More powerful regular expressions \\ 10. More Control Structures \\ The Unless control structure \\ The Until control structure \\ Expression modifiers \\ The Naked block control structure \\ The Elsif clause \\ Autoincrement and autodecrement \\ The For control structure \\ Loop controls \\ The Ternary operator, ?: \\ Logical operators \\ 11. Perl modules \\ Finding modules \\ Installing modules \\ Using simple modules \\ 12. File tests \\ File test operators \\ The Stat and istat functions \\ The Localtime function \\ Bitwise operators \\ 13. Directory operations \\ Moving around the directory tree \\ Globbing \\ An Alternate syntax for globbing \\ Directory handles \\ Recursive directory Listing \\ Manipulating files and directories \\ Removing files \\ Renaming files \\ Links and files \\ Making and removing directories \\ Modifying permissions \\ Changing ownership \\ Changing timestamps14. Strings and sorting \\ Finding a substring with index \\ Manipulating a substring with substr \\ Formatting data with sprintf \\ Advanced sorting \\ 15. Smart matching and given-when \\ The Smart match operator \\ Smart match precedence \\ The Given statement \\ When with many Items \\ 16. Process management \\ The System function \\ The Exec function \\ The Environment variables \\ Using backquotes to capture output \\ Processes as filehandles \\ Getting down and dirty with Fork \\ Sending and receiving signals \\ 17. Some advanced Perl techniques \\ Trapping errors with eval \\ Picking items from a list with grep \\ Transforming items from a list with map \\ Unquoted hash keys \\ Slices \\ A. Exercise answers \\ B. Beyond the Llama \\ Index", } @Article{Villa:2008:ART, author = "Oreste Villa and Daniele Paolo Scarpazza and Fabrizio Petrini", title = "Accelerating Real-Time String Searching with Multicore Processors", journal = j-COMPUTER, volume = "41", number = "4", pages = "42--50", month = apr, year = "2008", CODEN = "CPTRB4", DOI = "https://doi.org/10.1109/MC.2008.105", ISSN = "0018-9162 (print), 1558-0814 (electronic)", ISSN-L = "0018-9162", bibdate = "Fri Jul 4 17:13:37 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/computer2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Computer", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2", } @Article{Ye:2008:DSA, author = "Jieping Ye and Jianhui Chen and Ravi Janardan and Sudhir Kumar", title = "Developmental stage annotation of {Drosophila} gene expression pattern images via an entire solution path for {LDA}", journal = j-TKDD, volume = "2", number = "1", pages = "4:1--4:??", month = mar, year = "2008", CODEN = "????", DOI = "https://doi.org/10.1145/1342320.1342324", ISSN = "1556-4681 (print), 1556-472X (electronic)", ISSN-L = "1556-4681", bibdate = "Fri Apr 24 17:59:18 MDT 2009", bibsource = "http://www.acm.org/pubs/contents/journals/tkdd/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tkdd.bib", abstract = "Gene expression in a developing embryo occurs in particular cells (spatial patterns) in a time-specific manner (temporal patterns), which leads to the differentiation of cell fates. Images of a {\em Drosophila melanogaster\/} embryo at a given developmental stage, showing a particular gene expression pattern revealed by a gene-specific probe, can be compared for spatial overlaps. The comparison is fundamentally important to formulating and testing gene interaction hypotheses. Expression pattern comparison is most biologically meaningful when images from a similar time point (developmental stage) are compared. In this paper, we present LdaPath, a novel formulation of Linear Discriminant Analysis (LDA) for automatic developmental stage range classification. It employs multivariate linear regression with the {$ L_1 $}-norm penalty controlled by a regularization parameter for feature extraction and visualization. LdaPath computes an entire solution path for all values of regularization parameter with essentially the same computational cost as fitting one LDA model. Thus, it facilitates efficient model selection. It is based on the equivalence relationship between LDA and the least squares method for multiclass classifications. This equivalence relationship is established under a mild condition, which we show empirically to hold for many high-dimensional datasets, such as expression pattern images. Our experiments on a collection of 2705 expression pattern images show the effectiveness of the proposed algorithm. Results also show that the LDA model resulting from LdaPath is sparse, and irrelevant features may be removed. Thus, LdaPath provides a general framework for simultaneous feature selection and feature extraction.", acknowledgement = ack-nhfb, articleno = "4", fjournal = "ACM Transactions on Knowledge Discovery from Data (TKDD)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1054", keywords = "dimensionality reduction; Gene expression pattern image; linear discriminant analysis; linear regression", } @Article{Zeilberger:2008:FHO, author = "Noam Zeilberger", title = "Focusing and higher-order abstract syntax", journal = j-SIGPLAN, volume = "43", number = "1", pages = "359--369", month = jan, year = "2008", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1328897.1328482", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jun 18 11:02:13 MDT 2008", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Focusing is a proof-search strategy, originating in linear logic, that elegantly eliminates inessential nondeterminism, with one byproduct being a correspondence between focusing proofs and programs with explicit evaluation order. Higher-order abstract syntax (HOAS) is a technique for representing higher-order programming language constructs (e.g., \lambda 's) by higher-order terms at the 'meta-level', thereby avoiding some of the bureaucratic headaches of first-order representations (e.g., capture-avoiding substitution).\par This paper begins with a fresh, judgmental analysis of focusing for intuitionistic logic (with a full suite of propositional connectives), recasting the 'derived rules' of focusing as iterated inductive definitions. This leads to a uniform presentation, allowing concise, modular proofs of the identity and cut principles. Then we show how this formulation of focusing induces, through the Curry--Howard isomorphism, a new kind of higher-order encoding of abstract syntax: functions are encoded by maps from patterns to expressions. Dually, values are encoded as patterns together with explicit substitutions. This gives us pattern-matching 'for free', and lets us reason about a rich type system with minimal syntactic overhead. We describe how to translate the language and proof of type safety almost directly into Coq using HOAS, and finally, show how the system's modular design pays off in enabling a very simple extension with recursion and recursive types.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "focusing; higher-order abstract syntax; pattern-matching", } @Article{Ahmed:2009:PSP, author = "Reaz Ahmed and Raouf Boutaba", title = "{Plexus}: a scalable peer-to-peer protocol enabling efficient subset search", journal = j-IEEE-TRANS-NETWORKING, volume = "17", number = "1", pages = "130--143", month = feb, year = "2009", CODEN = "IEANEP", DOI = "https://doi.org/10.1109/TNET.2008.2001466", ISSN = "1063-6692 (print), 1558-2566 (electronic)", ISSN-L = "1063-6692", bibdate = "Fri Mar 6 16:31:07 MST 2009", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/ieeetransnetworking.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Efficient discovery of information, based on partial knowledge, is a challenging problem faced by many large scale distributed systems. This paper presents Plexus, a peer-to-peer search protocol that provides an efficient mechanism for advertising a bit-sequence (pattern), and discovering it using any subset of its 1-bits. A pattern (e.g., Bloom filter) summarizes the properties (e.g., key-words, service description) associated with a shared object (e.g., document, service).\par Plexus has a partially decentralized architecture involving super-peers. It adopts a novel structured routing mechanism derived from the theory of Error Correcting Codes (ECC). Plexus achieves better resilience to peer failure by utilizing replication and redundant routing paths. Routing efficiency in Plexus scales logarithmically with the number of superpeers. The concept presented in this paper is supported with theoretical analysis, and simulation results obtained from the application of Plexus to partial keyword search utilizing the extended Golay code.", acknowledgement = ack-nhfb, fjournal = "IEEE\slash ACM Transactions on Networking", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J771", keywords = "bloom filter; distributed pattern matching; error correcting codes; peer-to-peer search; structured overlay network", } @Article{Aiger:2009:GPM, author = "Dror Aiger and Klara Kedem", title = "Geometric pattern matching for point sets in the plane under similarity transformations", journal = j-INFO-PROC-LETT, volume = "109", number = "16", pages = "935--940", day = "31", month = jul, year = "2009", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu Mar 31 15:53:38 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Amir:2009:ASM, author = "Amihood Amir and Yonatan Aumann and Oren Kapah and Avivit Levy and Ely Porat", title = "Approximate string matching with address bit errors", journal = j-THEOR-COMP-SCI, volume = "410", number = "51", pages = "5334--5346", day = "28", month = nov, year = "2009", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Mar 28 21:21:57 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2005.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Amir:2009:PMA, author = "Amihood Amir and Yonatan Aumann and Gary Benson and Avivit Levy and Ohad Lipsky and Ely Porat and Steven Skiena and Uzi Vishne", title = "Pattern matching with address errors: Rearrangement distances", journal = j-J-COMP-SYS-SCI, volume = "75", number = "6", pages = "359--370", month = sep, year = "2009", CODEN = "JCSSBM", DOI = "https://doi.org/10.1016/j.jcss.2009.03.001", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:27:11 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0022000009000257", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Article{Anand:2009:OCS, author = "C. K. Anand and W. Kahl", title = "An Optimized {Cell BE} Special Function Library Generated by {Coconut}", journal = j-IEEE-TRANS-COMPUT, volume = "58", number = "8", pages = "1126--1138", month = aug, year = "2009", CODEN = "ITCOB4", DOI = "https://doi.org/10.1109/TC.2008.223", ISSN = "0018-9340 (print), 1557-9956 (electronic)", ISSN-L = "0018-9340", bibdate = "Mon Jul 4 11:37:43 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/elefunt.bib; https://www.math.utah.edu/pub/tex/bib/ieeetranscomput.bib; https://www.math.utah.edu/pub/tex/bib/ieeetranscomput2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4731241", abstract = "Coconut, a tool for developing high-assurance, high-performance kernels for scientific computing, contains an extensible domain-specific language (DSL) embedded in Haskell. The DSL supports interactive prototyping and unit testing, simplifying the process of designing efficient implementations of common patterns. Unscheduled C and scheduled assembly language output are supported. Using the patterns, even nonexpert users can write efficient function implementations, leveraging special hardware features. A production-quality library of elementary functions for the cell BE SPU compute engines has been developed. Coconut-generated and -scheduled vector functions were more than four times faster than commercially distributed functions written in C with intrinsics (a nicer syntax for in-line assembly), wrapped in loops and scheduled by {\tt spuxlc}. All Coconut functions were faster, but the difference was larger for hard-to-approximate functions for which register-level SIMD lookups made a bigger difference. Other helpful features in the language include facilities for translating interval and polynomial descriptions between GHCi, a Haskell interpreter used to prototype in the DSL, and Maple, used for exploration and minimax polynomial generation. This makes it easier to match mathematical properties of the functions with efficient calculational patterns in the SPU ISA. By using single, literate source files, the resulting functions are remarkably readable.", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12", } @Article{Baeza-Yates:2009:SBM, author = "Ricardo Baeza-Yates and V{\'e}ronique Bruy{\`e}re and Olivier Delgrange and Rodrigo Scheihing", title = "On the size of {Boyer--Moore} automata", journal = j-THEOR-COMP-SCI, volume = "410", number = "43", pages = "4432--4443", day = "6", month = oct, year = "2009", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Mar 28 21:21:55 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2005.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", } @Book{Bambenek:2009:GPR, author = "John Bambenek and Agnieszka Klus", title = "{{\tt grep}}: Pocket reference", publisher = pub-ORA, address = pub-ORA:adr, pages = "v + 75", year = "2009", ISBN = "0-596-15360-0 (paperback)", ISBN-13 = "978-0-596-15360-1 (paperback)", LCCN = "QA76.76.U84 B36 2009", bibdate = "Tue May 26 16:25:05 MDT 2009", bibsource = "https://www.math.utah.edu/pub/tex/bib/ora.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; z3950.bibsys.no:2100/BIBSYS", acknowledgement = ack-nhfb, remark = "The basics for an essential Unix content-location utility.", subject = "grep (computer language program); utilities (computer programs); programming languages (electronic computers); electronic information resource searching; computer programs", } @Article{Baturo:2009:CSM, author = "Pawe{\l} Baturo and Wojciech Rytter", title = "Compressed string-matching in standard {Sturmian} words", journal = j-THEOR-COMP-SCI, volume = "410", number = "30--32", pages = "2804--2810", day = "20", month = aug, year = "2009", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Mar 28 21:21:52 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2005.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Ben-Chen:2009:VHM, author = "Mirela Ben-Chen and Ofir Weber and Craig Gotsman", title = "Variational harmonic maps for space deformation", journal = j-TOG, volume = "28", number = "3", pages = "34:1--34:??", month = aug, year = "2009", CODEN = "ATGRDF", DOI = "https://doi.org/10.1145/1576246.1531340", ISSN = "0730-0301 (print), 1557-7368 (electronic)", ISSN-L = "0730-0301", bibdate = "Tue Aug 11 18:14:27 MDT 2009", bibsource = "http://www.acm.org/pubs/contents/journals/tog/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tog.bib", abstract = "A space deformation is a mapping from a source region to a target region within Euclidean space, which best satisfies some user-specified constraints. It can be used to deform shapes embedded in the ambient space and represented in various forms -- polygon meshes, point clouds or volumetric data. For a space deformation method to be useful, it should possess some natural properties: e.g. detail preservation, smoothness and intuitive control. A harmonic map from a domain {$ \omega \subset R^d $} to {$ R^d $} is a mapping whose $d$ components are harmonic functions. Harmonic mappings are smooth and regular, and if their components are coupled in some special way, the mapping can be detail-preserving, making it a natural choice for space deformation applications. The challenge is to find a harmonic mapping of the domain, which will satisfy constraints specified by the user, yet also be detail-preserving, and intuitive to control. We generate harmonic mappings as a linear combination of a set of harmonic basis functions, which have a closed-form expression when the source region boundary is piecewise linear. This is done by defining an energy functional of the mapping, and minimizing it within the linear span of these basis functions. The resulting mapping is harmonic, and a natural `As-Rigid-As-Possible' deformation of the source region. Unlike other space deformation methods, our approach does not require an explicit discretization of the domain. It is shown to be much more efficient, yet generate comparable deformations to state-of-the-art methods. We describe an optimization algorithm to minimize the deformation energy, which is robust, provably convergent, and easy to implement.", acknowledgement = ack-nhfb, articleno = "34", fjournal = "ACM Transactions on Graphics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J778", keywords = "harmonic maps; shape editing; space deformation", } @Article{Bille:2009:IAS, author = "Philip Bille and Rolf Fagerberg and Inge Li G{\o}rtz", title = "Improved approximate string matching and regular expression matching on {Ziv--Lempel} compressed texts", journal = j-TALG, volume = "6", number = "1", pages = "3:1--3:??", month = dec, year = "2009", CODEN = "????", DOI = "https://doi.org/10.1145/1644015.1644018", ISSN = "1549-6325 (print), 1549-6333 (electronic)", ISSN-L = "1549-6325", bibdate = "Sat Dec 8 09:35:31 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/talg.bib", abstract = "We study the approximate string matching and regular expression matching problem for the case when the text to be searched is compressed with the Ziv--Lempel adaptive dictionary compression schemes. We present a time-space trade-off that leads to algorithms improving the previously known complexities for both problems. In particular, we significantly improve the space bounds, which in practical applications are likely to be a bottleneck.", acknowledgement = ack-nhfb, articleno = "3", fjournal = "ACM Transactions on Algorithms (TALG)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J982", } @Article{Bloom:2009:TRC, author = "Bard Bloom and John Field and Nathaniel Nystrom and Johan {\"O}stlund and Gregor Richards and Rok Strni{\v{s}}a and Jan Vitek and Tobias Wrigstad", title = "Thorn: robust, concurrent, extensible scripting on the {JVM}", journal = j-SIGPLAN, volume = "44", number = "10", pages = "117--136", month = oct, year = "2009", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1640089.1640098", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Mon Jun 21 18:01:56 MDT 2010", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/java2000.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Scripting languages enjoy great popularity due to their support for rapid and exploratory development. They typically have lightweight syntax, weak data privacy, dynamic typing, powerful aggregate data types, and allow execution of the completed parts of incomplete programs. The price of these features comes later in the software life cycle. Scripts are hard to evolve and compose, and often slow. An additional weakness of most scripting languages is lack of support for concurrency --- though concurrency is required for scalability and interacting with remote services. This paper reports on the design and implementation of Thorn, a novel programming language targeting the JVM. Our principal contributions are a careful selection of features that support the evolution of scripts into industrial grade programs --- {\em e.g.}, an expressive module system, an optional type annotation facility for declarations, and support for concurrency based on message passing between lightweight, isolated processes. On the implementation side, Thorn has been designed to accommodate the evolution of the language itself through a compiler plugin mechanism and target the Java virtual machine.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "actors; pattern matching; scripting", } @Article{Cameron:2009:ASS, author = "Robert D. Cameron and Dan Lin", title = "Architectural support for {SWAR} text processing with parallel bit streams: the inductive doubling principle", journal = j-SIGPLAN, volume = "44", number = "3", pages = "337--348", month = mar, year = "2009", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1508244.1508283", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Jun 16 14:39:26 MDT 2009", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Parallel bit stream algorithms exploit the SWAR (SIMD within a register) capabilities of commodity processors in high-performance text processing applications such as UTF-8 to UTF-16 transcoding, XML parsing, string search and regular expression matching. Direct architectural support for these algorithms in future SWAR instruction sets could further increase performance as well as simplifying the programming task. A set of simple SWAR instruction set extensions are proposed for this purpose based on the principle of systematic support for inductive doubling as an algorithmic technique. These extensions are shown to significantly reduce instruction count in core parallel bit stream algorithms, often providing a 3X or better improvement. The extensions are also shown to be useful for SWAR programming in other application areas, including providing a systematic treatment for horizontal operations. An implementation model for these extensions involves relatively simple circuitry added to the operand fetch components in a pipelined processor.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "inductive doubling; parallel bit streams; SWAR", } @Article{Campeanu:2009:IRL, author = "Cezar C{\^a}mpeanu and Nicolae Santean", title = "On the intersection of regex languages with regular languages", journal = j-THEOR-COMP-SCI, volume = "410", number = "24--25", pages = "2336--2344", day = "28", month = may, year = "2009", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Mar 28 21:21:50 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2005.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", } @Article{Champarnaud:2009:ECE, author = "Jean-Marc Champarnaud and Faissal Ouardi and Djelloul Ziadi", title = "An Efficient Computation of the Equation {$K$}-automaton of a Regular {$K$}-expression", journal = j-FUND-INFO, volume = "90", number = "1--2", pages = "1--16", month = jan, year = "2009", CODEN = "FUMAAJ", DOI = "https://doi.org/10.3233/FI-2009-0001", ISSN = "0169-2968 (print), 1875-8681 (electronic)", ISSN-L = "0169-2968", bibdate = "Sat Mar 5 17:08:04 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/fundinfo2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Fundamenta Informaticae", journal-URL = "http://content.iospress.com/journals/fundamenta-informaticae", } @Article{Chang:2009:HTF, author = "Ye-In Chang and Jiun-Rung Chen and Min-Tze Hsu", title = "A Hash Trie Filter Approach to Approximate String Matching for Genomic Databases", journal = j-LECT-NOTES-COMP-SCI, volume = "5579", pages = "816--825", year = "2009", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-02568-6_83", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Mon Jan 21 17:25:49 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/lncs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/content/pdf/10.1007/978-3-642-02568-6_83", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-02568-6", book-URL = "http://www.springerlink.com/content/978-3-642-02568-6", fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Chen:2009:DPM, author = "Zhongqiang Chen and Yuan Zhang and Zhongrong Chen and Alex Delis", title = "A Digest and Pattern Matching-Based Intrusion Detection Engine", journal = j-COMP-J, volume = "52", number = "6", pages = "699--723", month = aug, year = "2009", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/bxp026", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Wed Apr 28 14:33:35 MDT 2010", bibsource = "http://comjnl.oxfordjournals.org/content/vol52/issue6/index.dtl; https://www.math.utah.edu/pub/tex/bib/compj2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://comjnl.oxfordjournals.org/cgi/content/abstract/52/6/699; http://comjnl.oxfordjournals.org/cgi/reprint/52/6/699", acknowledgement = ack-nhfb, fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", } @Article{Coetser:2009:REH, author = "Wikus Coetser and Derrick G. Kourie and Bruce W. Watson", title = "On Regular Expression Hashing to Reduce {FA} Size", journal = j-INT-J-FOUND-COMP-SCI, volume = "20", number = "6", pages = "1069--1086", month = dec, year = "2009", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S0129054109007042", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Tue Aug 31 07:37:14 MDT 2010", bibsource = "http://ejournals.wspc.com.sg/ijfcs/mkt/archive.shtml; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @TechReport{Cox:2009:REM, author = "Russ Cox", title = "Regular Expression Matching: the Virtual Machine Approach", type = "Report", institution = "swtch.com", address = "Cambridge, MA, USA", month = dec, year = "2009", bibdate = "Tue Mar 27 11:39:17 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/plan9.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib; https://www.math.utah.edu/pub/tex/bib/virtual-machines.bib", note = "See also \cite{Thompson:1968:PTR,Kernighan:1999:REL,Cox:2007:REM,Cox:2010:REM,Cox:2012:REM}", URL = "http://swtch.com/~rsc/regexp/regexp2.html", acknowledgement = ack-nhfb, } @Article{Dai:2009:AAM, author = "Liuling Dai", title = "An aggressive algorithm for multiple string matching", journal = j-INFO-PROC-LETT, volume = "109", number = "11", pages = "553--559", day = "16", month = may, year = "2009", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu Mar 31 15:53:31 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Faezipour:2009:HPE, author = "Miad Faezipour and Mehrdad Nourani and Rina Panigrahy", title = "A hardware platform for efficient worm outbreak detection", journal = j-TODAES, volume = "14", number = "4", pages = "49:1--49:??", month = aug, year = "2009", CODEN = "ATASFO", DOI = "https://doi.org/10.1145/1562514.1562517", ISSN = "1084-4309 (print), 1557-7309 (electronic)", ISSN-L = "1084-4309", bibdate = "Thu Aug 27 14:38:55 MDT 2009", bibsource = "http://www.acm.org/pubs/contents/journals/todaes/; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/todaes.bib", abstract = "Network Intrusion Detection Systems (NIDS) monitor network traffic to detect attacks or unauthorized activities. Traditional NIDSes search for patterns that match typical network compromise or remote hacking attempts. However, newer networking applications require finding the frequently repeated strings in a packet stream for further investigation of potential attack attempts. Finding frequently repeated strings within a given time frame of the packet stream has been quite efficient to detect polymorphic worm outbreaks. A novel real-time worm outbreak detection system using two-phase hashing and monitoring repeated common substrings is proposed in this article. We use the concept of shared counters to minimize the memory cost while efficiently sifting through suspicious strings. The worm outbreak system has been prototyped on Altera Stratix FPGA. We have tested the system for various settings and packet stream sizes. Experimental results verify that our system can support line speed of gigabit-rates with negligible false positive and negative rates.", acknowledgement = ack-nhfb, articleno = "49", fjournal = "ACM Transactions on Design Automation of Electronic Systems (TODAES)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J776", keywords = "false negative; false positive; hashing; Network Intrusion Detection System; polymorphic worm; shared counters; worm outbreak", } @Article{Furr:2009:PGS, author = "Michael Furr and Jong-hoon (David) An and Jeffrey S. Foster", title = "Profile-guided static typing for dynamic scripting languages", journal = j-SIGPLAN, volume = "44", number = "10", pages = "283--300", month = oct, year = "2009", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1640089.1640110", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Mon Jun 21 18:01:56 MDT 2010", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/python.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Many popular scripting languages such as Ruby, Python, and Perl include highly dynamic language constructs, such as an eval method that evaluates a string as program text. While these constructs allow terse and expressive code, they have traditionally obstructed static analysis. In this paper we present PRuby, an extension to Diamondback Ruby (DRuby), a static type inference system for Ruby. PRuby augments DRuby with a novel dynamic analysis and transformation that allows us to precisely type uses of highly dynamic constructs. PRuby's analysis proceeds in three steps. First, we use run-time instrumentation to gather per-application profiles of dynamic feature usage. Next, we replace dynamic features with statically analyzable alternatives based on the profile. We also add instrumentation to safely handle cases when subsequent runs do not match the profile. Finally, we run DRuby's static type inference on the transformed code to enforce type safety.\par We used PRuby to gather profiles for a benchmark suite of sample Ruby programs. We found that dynamic features are pervasive throughout the benchmarks and the libraries they include, but that most uses of these features are highly constrained and hence can be effectively profiled. Using the profiles to guide type inference, we found that DRuby can generally statically type our benchmarks modulo some refactoring, and we discovered several previously unknown type errors. These results suggest that profiling and transformation is a lightweight but highly effective approach to bring static typing to highly dynamic languages.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "profile guided analysis; RIL; ruby; scripting languages", } @Article{Gruber:2009:LOR, author = "Hermann Gruber and Markus Holzer", title = "Language operations with regular expressions of polynomial size", journal = j-THEOR-COMP-SCI, volume = "410", number = "35", pages = "3281--3289", day = "28", month = aug, year = "2009", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Mar 28 21:21:53 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2005.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Hardavellas:2009:RNN, author = "Nikos Hardavellas and Michael Ferdman and Babak Falsafi and Anastasia Ailamaki", title = "{Reactive NUCA}: near-optimal block placement and replication in distributed caches", journal = j-COMP-ARCH-NEWS, volume = "37", number = "3", pages = "184--195", month = jun, year = "2009", CODEN = "CANED2", DOI = "https://doi.org/10.1145/1555754.1555779", ISSN = "0163-5964 (ACM), 0884-7495 (IEEE)", ISSN-L = "0163-5964", bibdate = "Tue Aug 11 18:12:55 MDT 2009", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigarch.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Increases in on-chip communication delay and the large working sets of server and scientific workloads complicate the design of the on-chip last-level cache for multicore processors. The large working sets favor a shared cache design that maximizes the aggregate cache capacity and minimizes off-chip memory requests. At the same time, the growing on-chip communication delay favors core-private caches that replicate data to minimize delays on global wires. Recent hybrid proposals offer lower average latency than conventional designs, but they address the placement requirements of only a subset of the data accessed by the application, require complex lookup and coherence mechanisms that increase latency, or fail to scale to high core counts.\par In this work, we observe that the cache access patterns of a range of server and scientific workloads can be classified into distinct classes, where each class is amenable to different block placement policies. Based on this observation, we propose Reactive NUCA (R-NUCA), a distributed cache design which reacts to the class of each cache access and places blocks at the appropriate location in the cache. R-NUCA cooperates with the operating system to support intelligent placement, migration, and replication without the overhead of an explicit coherence mechanism for the on-chip last-level cache. In a range of server, scientific, and multiprogrammed workloads, R-NUCA matches the performance of the best cache design for each workload, improving performance by 14\% on average over competing designs and by 32\% at best, while achieving performance within 5\% of an ideal cache design.", acknowledgement = ack-nhfb, fjournal = "ACM SIGARCH Computer Architecture News", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J89", keywords = "block migration; block placement; block replication; cache; cache coherence; cache indexing; cache lookup; cache management; chip multiprocessor; cmp; coherence; data migration; data placement; data replication; interleaving; last-level cache; lookup; migration; multi-core; multicore; non-uniform cache access; NUCA; placement; private cache; R-NUCA; Reactive NUCA; replication; rotational interleaving; shared cache", } @Article{Hooimeijer:2009:DPS, author = "Pieter Hooimeijer and Westley Weimer", title = "A decision procedure for subset constraints over regular languages", journal = j-SIGPLAN, volume = "44", number = "6", pages = "188--198", month = jun, year = "2009", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1543135.1542498", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Jun 16 14:41:16 MDT 2009", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Reasoning about string variables, in particular program inputs, is an important aspect of many program analyses and testing frameworks. Program inputs invariably arrive as strings, and are often manipulated using high-level string operations such as equality checks, regular expression matching, and string concatenation. It is difficult to reason about these operations because they are not well-integrated into current constraint solvers.\par We present a decision procedure that solves systems of equations over regular language variables. Given such a system of constraints, our algorithm finds satisfying assignments for the variables in the system. We define this problem formally and render a mechanized correctness proof of the core of the algorithm. We evaluate its scalability and practical utility by applying it to the problem of automatically finding inputs that cause SQL injection vulnerabilities.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "decision procedure; regular language", } @Article{Hundt:2009:CGA, author = "Christian Hundt and Maciej Li{\'s}kiewicz and Ragnar Nevries", title = "A combinatorial geometrical approach to two-dimensional robust pattern matching with scaling and rotation", journal = j-THEOR-COMP-SCI, volume = "410", number = "51", pages = "5317--5333", day = "28", month = nov, year = "2009", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Mar 28 21:21:57 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2005.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Ierusalimschy:2009:TPM, author = "Roberto Ierusalimschy", title = "A text pattern-matching tool based on {Parsing Expression Grammars}", journal = j-SPE, volume = "39", number = "3", pages = "221--258", day = "10", month = mar, year = "2009", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.892", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Wed Mar 17 10:02:38 MDT 2010", bibsource = "http://www.interscience.wiley.com/jpages/0038-0644; http://www3.interscience.wiley.com/journalfinder.html; https://www.math.utah.edu/pub/tex/bib/plan9.bib; https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", keywords = "Lua scripting language; regular expressions", onlinedate = "Jul 17 2008 12:12PM", } @Article{Igarashi:2009:DPT, author = "Yuki Igarashi and Takeo Igarashi", title = "Designing plush toys with a computer", journal = j-CACM, volume = "52", number = "12", pages = "81--88", month = dec, year = "2009", CODEN = "CACMA2", DOI = "https://doi.org/10.1145/1610252.1610275", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Thu Feb 4 17:12:05 MST 2010", bibsource = "http://www.acm.org/pubs/contents/journals/cacm/; https://www.math.utah.edu/pub/tex/bib/cacm2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We introduce Plushie, an interactive system that allows nonprofessional users to design their own original plush toys. To design a plush toy, one needs to construct an appropriate two-dimensional (2D) pattern. However, it is difficult for nonprofessional users to appropriately design a 2D pattern. Some recent systems automatically generate a 2D pattern for a given three-dimensional (3D) model, but constructing a 3D model is itself a challenge. Furthermore, an arbitrary 3D model cannot necessarily be realized as a real plush toy, and the final sewn result can be very different from the original 3D model. We avoid this mismatch by constructing appropriate 2D patterns and applying simple physical simulation to it on the fly during 3D modeling. In this way, the model on the screen is always a good approximation of the final sewn result, which makes the design process much more efficient. We use a sketching interface for 3D modeling and also provide various editing operations tailored for plush-toy design. Internally, the system constructs a 2D cloth pattern in such a way that the simulation result matches the user's input stroke. We successfully demonstrated that nonprofessional users could design plush toys or balloon easily using Plushie.", acknowledgement = ack-nhfb, fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", } @Article{Jeon:2009:AAP, author = "Jinseong Jeon and Keoncheol Shin and Hwansoo Han", title = "Abstracting access patterns of dynamic memory using regular expressions", journal = j-TACO, volume = "5", number = "4", pages = "18:1--18:??", month = mar, year = "2009", CODEN = "????", DOI = "https://doi.org/10.1145/1498690.1498693", ISSN = "1544-3566 (print), 1544-3973 (electronic)", ISSN-L = "1544-3566", bibdate = "Wed Mar 18 21:35:33 MDT 2009", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/taco.bib", abstract = "Unless the speed gap between CPU and memory disappears, efficient memory usage remains a decisive factor for performance. To optimize data usage of programs in the presence of the memory hierarchy, we are particularly interested in two compiler techniques: {\em pool allocation\/} and {\em field layout restructuring}. Since foreseeing runtime behaviors of programs at compile time is difficult, most of the previous work relied on profiling. On the contrary, our goal is to develop a fully automatic compiler that statically transforms input codes to use memory efficiently. Noticing that {\em regular expressions}, which denote repetition explicitly, are sufficient for memory access patterns, we describe how to extract memory access patterns as regular expressions in detail. Based on static patterns presented in regular expressions, we apply pool allocation to repeatedly accessed structures and exploit field layout restructuring according to field affinity relations of chosen structures. To make a scalable framework, we devise and apply new abstraction techniques, which build and interpret access patterns for the whole programs in a bottom-up fashion. We implement our analyses and transformations with the CIL compiler. To verify the effect and scalability of our scheme, we examine 17 benchmarks including 2 SPECINT 2000 benchmarks whose source lines of code are larger than 10,000. Our experiments demonstrate that the static layout transformations for dynamic memory can reduce L1D cache misses by 16\% and execution times by 14\% on average.", acknowledgement = ack-nhfb, articleno = "18", fjournal = "ACM Transactions on Architecture and Code Optimization (TACO)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J924", keywords = "Access patterns; field affinity; layout transformation; pool allocation; regular expressions", } @InProceedings{Kida:2009:STB, author = "T. Kida", title = "Suffix Tree Based {VF}-Coding for Compressed Pattern Matching", crossref = "Storer:2009:DPD", volume = "visualization", pages = "449--449", year = "2009", DOI = "https://doi.org/10.1109/DCC.2009.58", bibdate = "Tue Feb 5 12:39:04 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4976503", acknowledgement = ack-nhfb, } @Article{Klein:2009:ABM, author = "Shmuel T. Klein and Miri Kopel Ben-Nissan", title = "Accelerating {Boyer--Moore} searches on binary texts", journal = j-THEOR-COMP-SCI, volume = "410", number = "37", pages = "3563--3571", day = "1", month = sep, year = "2009", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Mar 28 21:21:53 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2005.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", } @Article{Krishnaswami:2009:FPM, author = "Neelakantan R. Krishnaswami", title = "Focusing on pattern matching", journal = j-SIGPLAN, volume = "44", number = "1", pages = "366--378", month = jan, year = "2009", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1480881.1480927", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Fri Oct 9 08:40:38 MDT 2009", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "In this paper, we show how pattern matching can be seen to arise from a proof term assignment for the focused sequent calculus. This use of the Curry--Howard correspondence allows us to give a novel coverage checking algorithm, and makes it possible to give a rigorous correctness proof for the classical pattern compilation strategy of building decision trees via matrices of patterns.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "Curry--Howard; focusing; pattern matching; type theory", } @Article{Kwon:2009:FXD, author = "Joonho Kwon and Praveen Rao and Bongki Moon and Sukho Lee", title = "Fast {XML} document filtering by sequencing twig patterns", journal = j-TOIT, volume = "9", number = "4", pages = "13:1--13:??", month = sep, year = "2009", CODEN = "????", DOI = "https://doi.org/10.1145/1592446.1592447", ISSN = "1533-5399 (print), 1557-6051 (electronic)", ISSN-L = "1533-5399", bibdate = "Fri Oct 9 20:43:32 MDT 2009", bibsource = "http://www.acm.org/pubs/contents/journals/toit/; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/toit.bib", abstract = "XML-enabled publish-subscribe (pub-sub) systems have emerged as an increasingly important tool for e-commerce and Internet applications. In a typical pub-sub system, subscribed users specify their interests in a profile expressed in the XPath language. Each new data content is then matched against the user profiles so that the content is delivered only to the interested subscribers. As the number of subscribed users and their profiles can grow very large, the scalability of the service is critical to the success of pub-sub systems. In this article, we propose a novel scalable filtering system called iFiST that transforms user profiles of a twig pattern expressed in XPath into sequences using the Pr{\"u}fer's method. Consequently, instead of breaking a twig pattern into multiple linear paths and matching them separately, FiST performs {\em holistic matching\/} of twig patterns with each incoming document in a {\em bottom-up\/} fashion. FiST organizes the sequences into a dynamic hash-based index for efficient filtering, and exploits the commonality among user profiles to enable shared processing during the filtering phase. We demonstrate that the holistic matching approach reduces filtering cost and memory consumption, thereby improving the scalability of FiST.", acknowledgement = ack-nhfb, articleno = "13", fjournal = "ACM Transactions on Internet Technology (TOIT)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J780", keywords = "Pr{\"u}fer sequences; selective dissemination of information; twig pattern; XML filtering", } @Article{Lee:2009:HAH, author = "Tsern-Huei Lee", title = "Hardware Architecture for High-Performance Regular Expression Matching", journal = j-IEEE-TRANS-COMPUT, volume = "58", number = "7", pages = "984--993", month = jul, year = "2009", CODEN = "ITCOB4", DOI = "https://doi.org/10.1109/TC.2008.145", ISSN = "0018-9340 (print), 1557-9956 (electronic)", ISSN-L = "0018-9340", bibdate = "Mon Jul 4 11:37:42 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4599575", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12", } @Article{Linhart:2009:FPM, author = "Chaim Linhart and Ron Shamir", title = "Faster pattern matching with character classes using prime number encoding", journal = j-J-COMP-SYS-SCI, volume = "75", number = "3", pages = "155--162", month = may, year = "2009", CODEN = "JCSSBM", DOI = "https://doi.org/10.1016/j.jcss.2008.08.005", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:27:10 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0022000008000755", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Article{Lo:2009:SOC, author = "Chia-Tien Dan Lo and Yi-Gang Tai", title = "Space Optimization on Counters for {FPGA}-Based {Perl} Compatible Regular Expressions", journal = j-TRETS, volume = "2", number = "4", pages = "23:1--23:??", month = sep, year = "2009", CODEN = "????", DOI = "https://doi.org/10.1145/1575779.1575783", ISSN = "1936-7406 (print), 1936-7414 (electronic)", ISSN-L = "1936-7406", bibdate = "Tue Mar 16 09:46:56 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/trets.bib", acknowledgement = ack-nhfb, articleno = "23", fjournal = "ACM Transactions on Reconfigurable Technology and Systems (TRETS)", journal-URL = "http://portal.acm.org/toc.cfm?id=J1151", } @Article{Marion:2009:SIS, author = "Jean-Yves Marion and Romain P{\'e}choux", title = "Sup-interpretations, a semantic method for static analysis of program resources", journal = j-TOCL, volume = "10", number = "4", pages = "27:1--27:??", month = aug, year = "2009", CODEN = "????", DOI = "https://doi.org/10.1145/1555746.1555751", ISSN = "1529-3785 (print), 1557-945X (electronic)", ISSN-L = "1529-3785", bibdate = "Tue Aug 11 12:46:55 MDT 2009", bibsource = "http://www.acm.org/pubs/contents/journals/tocl/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tocl.bib", abstract = "The sup-interpretation method is proposed as a new tool to control memory resources of first order functional programs with pattern matching by static analysis. It has been introduced in order to increase the intensionality, that is the number of captured algorithms, of a previous method, the quasi-interpretations. Basically, a sup-interpretation provides an upper bound on the size of function outputs. A criterion, which can be applied to terminating as well as nonterminating programs, is developed in order to bound the stack frame size polynomially. Since this work is related to quasi-interpretation, dependency pairs, and size-change principle methods, we compare these notions obtaining several results. The first result is that, given any program, we have heuristics for finding a sup-interpretation when we consider polynomials of bounded degree. Another result consists in the characterizations of the sets of functions computable in polynomial time and in polynomial space. A last result consists in applications of sup-interpretations to the dependency pair and the size-change principle methods.", acknowledgement = ack-nhfb, articleno = "27", fjournal = "ACM Transactions on Computational Logic", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J773", keywords = "resources control; static analysis of first-order languages", } @Article{Matsumoto:2009:RTE, author = "Tetsuya Matsumoto and Kazuhito Hagio and Masayuki Takeda", title = "A Run-Time Efficient Implementation of Compressed Pattern Matching Automata", journal = j-INT-J-FOUND-COMP-SCI, volume = "20", number = "4", pages = "717--733", month = aug, year = "2009", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S0129054109006838", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Tue Aug 31 07:37:14 MDT 2010", bibsource = "http://ejournals.wspc.com.sg/ijfcs/mkt/archive.shtml; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Millstein:2009:EMP, author = "Todd Millstein and Christopher Frost and Jason Ryder and Alessandro Warth", title = "Expressive and modular predicate dispatch for {Java}", journal = j-TOPLAS, volume = "31", number = "2", pages = "7:1--7:54", month = feb, year = "2009", CODEN = "ATPSDT", DOI = "https://doi.org/10.1145/1462166.1462168", ISSN = "0164-0925 (print), 1558-4593 (electronic)", ISSN-L = "0164-0925", bibdate = "Thu Feb 19 14:20:38 MST 2009", bibsource = "http://www.acm.org/pubs/contents/journals/toplas/; https://www.math.utah.edu/pub/tex/bib/java2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/toplas.bib", abstract = "{\em Predicate dispatch\/} is an object-oriented (OO) language mechanism for determining the method implementation to be invoked upon a message send. With predicate dispatch, each method implementation includes a predicate guard specifying the conditions under which the method should be invoked, and logical implication of predicates determines the method overriding relation. Predicate dispatch naturally unifies and generalizes several common forms of dynamic dispatch, including traditional OO dispatch, multimethod dispatch, and functional-style pattern matching. Unfortunately, prior languages supporting predicate dispatch have had several deficiencies that limit the practical utility of this language feature.\par We describe JPred, a backward-compatible extension to Java supporting predicate dispatch. While prior languages with predicate dispatch have been extensions to toy or nonmainstream languages, we show how predicate dispatch can be naturally added to a traditional OO language. While prior languages with predicate dispatch have required the whole program to be available for typechecking and compilation, JPred retains Java's modular typechecking and compilation strategies. While prior languages with predicate dispatch have included special-purpose algorithms for reasoning about predicates, JPred employs general-purpose, off-the-shelf decision procedures. As a result, JPred's type system is more flexible, allowing several useful programming idioms that are spuriously rejected by those other languages. After describing the JPred language informally, we present an extension to Featherweight Java that formalizes the language and its modular type system, which we have proven sound. Finally, we discuss two case studies that illustrate the practical utility of JPred, including its use in the detection of several errors.", acknowledgement = ack-nhfb, articleno = "7", fjournal = "ACM Transactions on Programming Languages and Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783", keywords = "dynamic dispatch; modular typechecking; Predicate dispatch", } @Article{Mitchell:2009:APE, author = "Neil Mitchell and Colin Runciman", title = "Not all patterns, but enough: an automatic verifier for partial but sufficient pattern matching", journal = j-SIGPLAN, volume = "44", number = "2", pages = "49--60", month = feb, year = "2009", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1543134.1411293", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Jun 16 14:38:26 MDT 2009", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We describe an automated analysis of Haskell 98 programs to check statically that, despite the possible use of partial (or non-exhaustive) pattern matching, no pattern-match failure can occur. Our method is an iterative backward analysis using a novel form of pattern-constraint to represent sets of data values. The analysis is defined for a core first-order language to which Haskell 98 programs are reduced. Our analysis tool has been successfully applied to a range of programs, and our techniques seem to scale well. Throughout the paper, methods are represented much as we have implemented them in practice, again in Haskell.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "automatic verification; functional programming; haskell; pattern-match errors; preconditions", } @Article{Moreira:2009:SPA, author = "Nelma Moreira and Rog{\'e}rio Reis", title = "Series-Parallel Automata and Short Regular Expressions", journal = j-FUND-INFO, volume = "91", number = "3--4", pages = "611--629", month = aug, year = "2009", CODEN = "FUMAAJ", DOI = "https://doi.org/10.3233/FI-2009-0061", ISSN = "0169-2968 (print), 1875-8681 (electronic)", ISSN-L = "0169-2968", bibdate = "Sat Mar 5 17:08:21 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/fundinfo2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Fundamenta Informaticae", journal-URL = "http://content.iospress.com/journals/fundamenta-informaticae", } @Article{Owens:2009:RED, author = "Scott Owens and John Reppy and Aaron Turon", title = "Regular-expression derivatives re-examined", journal = j-J-FUNCT-PROGRAM, volume = "19", number = "2", pages = "173--190", month = mar, year = "2009", CODEN = "JFPRES", DOI = "https://doi.org/10.1017/S0956796808007090", ISSN = "0956-7968 (print), 1469-7653 (electronic)", ISSN-L = "0956-7968", bibdate = "Wed Jul 12 06:49:13 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/jfunctprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.cambridge.org/core/product/E5734B86DEB96C61C69E5CF3C4FB0AFA", acknowledgement = ack-nhfb, ajournal = "J. Funct. Program.", fjournal = "Journal of Functional Programming", journal-URL = "http://journals.cambridge.org/action/displayJournal?jid=JFP", onlinedate = "01 March 2009", } @Article{Perez:2009:SCS, author = "Jorge P{\'e}rez and Marcelo Arenas and Claudio Gutierrez", title = "Semantics and complexity of {SPARQL}", journal = j-TODS, volume = "34", number = "3", pages = "16:1--16:??", month = aug, year = "2009", CODEN = "ATDSD3", DOI = "https://doi.org/10.1145/1567274.1567278", ISSN = "0362-5915 (print), 1557-4644 (electronic)", ISSN-L = "0362-5915", bibdate = "Mon Aug 31 16:11:01 MDT 2009", bibsource = "http://www.acm.org/pubs/contents/journals/tods/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tods.bib", abstract = "SPARQL is the standard language for querying RDF data. In this article, we address systematically the formal study of the database aspects of SPARQL, concentrating in its graph pattern matching facility. We provide a compositional semantics for the core part of SPARQL, and study the complexity of the evaluation of several fragments of the language. Among other complexity results, we show that the evaluation of general SPARQL patterns is PSPACE-complete. We identify a large class of SPARQL patterns, defined by imposing a simple and natural syntactic restriction, where the query evaluation problem can be solved more efficiently. This restriction gives rise to the class of well-designed patterns. We show that the evaluation problem is coNP-complete for well-designed patterns. Moreover, we provide several rewriting rules for well-designed patterns whose application may have a considerable impact in the cost of evaluating SPARQL queries.", acknowledgement = ack-nhfb, articleno = "16", fjournal = "ACM Transactions on Database Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J777", keywords = "Complexity; query language; RDF; semantic Web; SPARQL", } @InProceedings{Porat:2009:EAP, author = "B. Porat and E. Porat", title = "Exact and Approximate Pattern Matching in the Streaming Model", crossref = "IEEE:2009:PAI", pages = "315--323", year = "2009", DOI = "https://doi.org/10.1109/FOCS.2009.11", bibdate = "Thu Apr 12 09:33:33 MDT 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/focs2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, book-URL = "http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=5438528", } @Article{Russo:2009:ASM, author = "Lu{\'\i}s M. S. Russo and Gonzalo Navarro and Arlindo L. Oliveira and Pedro Morales", title = "Approximate String Matching with Compressed Indexes", journal = j-ALGORITHMS-BASEL, volume = "2", number = "3", pages = "1105--1136", month = sep, year = "2009", CODEN = "ALGOCH", DOI = "https://doi.org/10.3390/a2031105", ISSN = "1999-4893 (electronic)", ISSN-L = "1999-4893", bibdate = "Fri May 3 13:50:12 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/algorithms.bib; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.mdpi.com/1999-4893/2/3/1105", acknowledgement = ack-nhfb, fjournal = "Algorithms (Basel)", journal-URL = "https://www.mdpi.com/journal/algorithms", pubdates = "Received: 9 July 2009 / Revised: 8 September 2009 / Accepted: 9 September 2009 / Published: 10 September 2009", } @Article{Sanden:2009:ISD, author = "Bo Sand{\'e}n", title = "Inspired software design early {Jackson} methods to thread architectures", journal = j-SIGSOFT, volume = "34", number = "4", pages = "1--6", month = jul, year = "2009", CODEN = "SFENDP", DOI = "https://doi.org/10.1145/1543405.1543423", ISSN = "0163-5948 (print), 1943-5843 (electronic)", ISSN-L = "0163-5948", bibdate = "Wed Aug 1 17:15:45 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "This is a somewhat personal account of a journey starting with assembly coding based on Jackson Structured Programming (JSP) and ending with the design of thread architectures for reactive software systems using entity-life modeling (ELM). As the level of abstraction rises, the basic concepts remain the same: The software takes its shape from structures in the problem domain. JSP bases control structures on regular expressions describing data streams. Jackson System Development (JSD) introduces long-running processes patterned on the life histories of entities in the problem domain. Unfortunately, implementing long-running processes in sequential programs leads to awkward solutions. ELM lets us implement the processes as threads. This is a natural fit, which removes the awkwardness.", acknowledgement = ack-nhfb, fjournal = "ACM SIGSOFT Software Engineering Notes", journal-URL = "https://dl.acm.org/citation.cfm?id=J728", } @Article{Schwerdfeger:2009:VCD, author = "August C. Schwerdfeger and Eric R. {Van Wyk}", title = "Verifiable composition of deterministic grammars", journal = j-SIGPLAN, volume = "44", number = "6", pages = "199--210", month = jun, year = "2009", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1542476.1542499", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Jun 16 14:41:16 MDT 2009", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "There is an increasing interest in extensible languages, (domain-specific) language extensions, and mechanisms for their specification and implementation. One challenge is to develop tools that allow non-expert programmers to add an eclectic set of language extensions to a host language. We describe mechanisms for composing and analyzing concrete syntax specifications of a host language and extensions to it. These specifications consist of context-free grammars with each terminal symbol mapped to a regular expression, from which a slightly-modified LR parser and context-aware scanner are generated. Traditionally, conflicts are detected when a parser is generated from the composed grammar, but this comes too late since it is the non-expert programmer directing the composition of independently developed extensions with the host language.\par The primary contribution of this paper is a modular analysis that is performed independently by each extension designer on her extension (composed alone with the host language). If each extension passes this modular analysis, then the language composed later by the programmer will compile with no conflicts or lexical ambiguities. Thus, extension writers can verify that their extension will safely compose with others and, if not, fix the specification so that it will. This is possible due to the context-aware scanner's lexical disambiguation and a set of reasonable restrictions limiting the constructs that can be introduced by an extension. The restrictions ensure that the parse table states can be partitioned so that each state can be attributed to the host language or a single extension.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "context-aware scanning; extensible languages; grammar composition; language composition; lr parsing", } @Article{Smyth:2009:AHP, author = "W. F. Smyth and Shu Wang", title = "An Adaptive Hybrid Pattern-Matching Algorithm on Indeterminate Strings", journal = j-INT-J-FOUND-COMP-SCI, volume = "20", number = "6", pages = "985--1004", month = dec, year = "2009", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S0129054109007005", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Tue Aug 31 07:37:14 MDT 2010", bibsource = "http://ejournals.wspc.com.sg/ijfcs/mkt/archive.shtml; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Sun:2009:DPP, author = "Yanni Sun and Jeremy Buhler", title = "Designing Patterns and Profiles for Faster {HMM} Search", journal = j-TCBB, volume = "6", number = "2", pages = "232--243", month = apr, year = "2009", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2008.14", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Mon Jun 1 17:03:22 MDT 2009", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "Profile HMMs are powerful tools for modeling conserved motifs in proteins. They are widely used by search tools to classify new protein sequences into families based on domain architecture. However, the proliferation of known motifs and new proteomic sequence data poses a computational challenge for search, requiring days of CPU time to annotate an organism's proteome. It is highly desirable to speed up HMM search in large databases. We design PROSITE-like patterns and short profiles that are used as filters to rapidly eliminate protein-motif pairs for which a full profile HMM comparison does not yield a significant match. The design of the pattern-based filters is formulated as a multichoice knapsack problem. Profile-based filters with high sensitivity are extracted from a profile HMM based on their theoretical sensitivity and false positive rate. Experiments show that our profile-based filters achieve high sensitivity (near 100 percent) while keeping around $ 20 \times $ speedup with respect to the unfiltered search program. Pattern-based filters typically retain at least 90 percent of the sensitivity of the source HMM with $ 30 $--$ 40 \times $ speedup. The profile-based filters have sensitivity comparable to the multistage filtering strategy HMMERHEAD [15] and are faster in most of our experiments.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", keywords = "bioinformatics databases; Biology and genetics; hidden Markov models.; sequence similarity search", } @Article{tenCate:2009:NEP, author = "Balder ten Cate", title = "A note on the expressibility problem for modal logics and star-free regular expressions", journal = j-INFO-PROC-LETT, volume = "109", number = "10", pages = "509--513", day = "30", month = apr, year = "2009", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu Mar 31 15:53:29 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Tseng:2009:FSA, author = "Kuo-Kun Tseng and Yuan-Cheng Lai and Ying-Dar Lin and Tsern-Huei Lee", title = "A fast scalable automaton-matching accelerator for embedded content processors", journal = j-TECS, volume = "8", number = "3", pages = "19:1--19:??", month = apr, year = "2009", CODEN = "????", DOI = "https://doi.org/10.1145/1509288.1509291", ISSN = "1539-9087 (print), 1558-3465 (electronic)", ISSN-L = "1539-9087", bibdate = "Tue Apr 21 16:29:24 MDT 2009", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tecs.bib", abstract = "Home and office network gateways often employ a cost-effective embedded network processor to handle their network services. Such network gateways have received strong demand for applications dealing with intrusion detection, keyword blocking, antivirus and antispam. Accordingly, we were motivated to propose an appropriate fast scalable automaton-matching (FSAM) hardware to accelerate the embedded network processors. Although automaton matching algorithms are robust with deterministic matching time, there is still plenty of room for improving their average-case performance. FSAM employs novel prehash and root-index techniques to accelerate the matching for the nonroot states and the root state, respectively, in automation based hardware. The prehash approach uses some hashing functions to pretest the input substring for the nonroot states while the root-index approach handles multiple bytes in one single matching for the root state. Also, FSAM is applied in a prevalent automaton algorithm, Aho--Corasick (AC), which is often used in many content-filtering applications. When implemented in FPGA, FSAM can perform at the rate of 11.1Gbps with the pattern set of 32,634 bytes, demonstrating that our proposed approach can use a small logic circuit to achieve a competitive performance, although a larger memory is used. Furthermore, the amount of patterns in FSAM is not limited by the amount of internal circuits and memories. If the high-speed external memories are employed, FSAM can support up to 21,302 patterns while maintaining similar high performance.", acknowledgement = ack-nhfb, articleno = "19", fjournal = "ACM Transactions on Embedded Computing Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?&idx=J840", keywords = "Aho--Corasick; automaton; Bloom filter; content filtering; String matching", } @Book{Valiente:2009:CPM, author = "Gabriel Valiente", title = "Combinatorial pattern matching algorithms in computational biology using {Perl} and {R}", publisher = pub-CRC, address = pub-CRC:adr, pages = "352", year = "2009", ISBN = "1-4200-6973-X (hardcover), 1-4200-6974-8 (e-book)", ISBN-13 = "978-1-4200-6973-0 (hardcover), 978-1-4200-6974-7 (e-book)", LCCN = "QH324.2 .V35 2009", bibdate = "Fri Nov 16 06:34:12 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/s-plus.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; z3950.loc.gov:7090/Voyager", series = "Chapman and Hall/CRC mathematical and computational biology series", abstract = "Emphasizing the search for patterns within and between biological sequences, trees, and graphs, Combinatorial Pattern Matching Algorithms in Computational Biology Using Perl and R shows how combinatorial pattern matching algorithms can solve computational biology problems that arise in the analysis of genomic, transcriptomic, proteomic, metabolomic, and interactomic data. It implements the algorithms in Perl and R, two widely used scripting languages in computational biology. The book provides a well-rounded explanation of traditional issues as well as an up-to-date account of more recent developments", acknowledgement = ack-nhfb, subject = "Computational biology; Pattern formation (Biology); Computer simulation; Graph algorithms; Perl (Computer program language); R (Computer program language)", tableofcontents = "Front Cover \\ Contents \\ Foreword \\ Preface \\ Chapter 1. Introduction \\ Chapter 2. Sequences \\ Chapter 3. Simple Pattern Matching in Sequences \\ Chapter 4. General Pattern Matching in Sequences \\ Chapter 5. Trees \\ Chapter 6. Simple Pattern Matching in Trees \\ Chapter 7. General Pattern Matching in Trees \\ Chapter 8. Graphs \\ Chapter 9. Simple Pattern Matching in Graphs \\ Chapter 10. General Pattern Matching in Graphs \\ Appendix A. Elements of Perl \\ Appendix B. Elements of R \\ References \\ Index \\ Back Cover", } @Article{Wolinski:2009:ADA, author = "Christophe Wolinski and Krzysztof Kuchcinski and Erwan Raffin", title = "Automatic design of application-specific reconfigurable processor extensions with {UPaK} synthesis kernel", journal = j-TODAES, volume = "15", number = "1", pages = "1:1--1:??", month = dec, year = "2009", CODEN = "ATASFO", DOI = "https://doi.org/10.1145/1640457.1640458", ISSN = "1084-4309 (print), 1557-7309 (electronic)", ISSN-L = "1084-4309", bibdate = "Mon Mar 15 11:18:31 MDT 2010", bibsource = "http://www.acm.org/pubs/contents/journals/todaes/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/todaes.bib", abstract = "This article presents a new tool for automatic design of application-specific reconfigurable processor extensions based on UPaK (Abstract Unified Patterns Based Synthesis Kernel for Hardware and Software Systems). We introduce a complete design flow that identifies new instructions, selects specific instructions and schedules a considered application on the newly created reconfigurable architecture. The identified extensions are implemented as specialized sequential or parallel instructions. These instructions are executed on a reconfigurable unit implementing all merged patterns. Our method uses specially developed algorithms for subgraph isomorphism that are implemented as graph matching constraints. These constraints together with separate algorithms are able to efficiently identify computational patterns and carry out application mapping and scheduling. Our methods can handle both time-constrained and resource-constrained scheduling. Experimental results show that the presented method provides high coverage of application graphs with small number of patterns and ensures high application execution speedup both for sequential and parallel application execution with reconfigurable processor extensions implementing selected patterns.", acknowledgement = ack-nhfb, articleno = "1", fjournal = "ACM Transactions on Design Automation of Electronic Systems (TODAES)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J776", keywords = "constraint programming; Reconfigurable architectures; resource assignment; scheduling; system-level synthesis", } @Article{Zou:2009:DJP, author = "Lei Zou and Lei Chen and M. Tamer {\"O}zsu", title = "Distance-join: pattern match query in a large graph database", journal = j-PROC-VLDB-ENDOWMENT, volume = "2", number = "1", pages = "886--897", month = aug, year = "2009", CODEN = "????", ISSN = "2150-8097", bibdate = "Fri May 13 14:54:50 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Misc{Anonymous:2010:BRL, author = "Anonymous", title = "Benchmark of Regex Libraries", howpublished = "Web site", month = jul, year = "2010", bibdate = "Wed Sep 09 09:24:45 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://lh3lh3.users.sourceforge.net/reb.shtml", acknowledgement = ack-nhfb, } @Article{Asperti:2010:REA, author = "Andrea Asperti and Claudio Sacerdoti Coen and Enrico Tassi", title = "Regular Expressions, au point", journal = "arXiv.org", volume = "??", number = "??", pages = "12", day = "13", month = oct, year = "2010", bibdate = "Fri Sep 22 12:33:30 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://arxiv.org/abs/1010.2604", abstract = "We introduce a new technique for constructing a finite state deterministic automaton from a regular expression, based on the idea of marking a suitable set of positions inside the expression, intuitively representing the possible points reached after the processing of an initial prefix of the input string. Pointed regular expressions join the elegance and the symbolic appealingness of Brzozowski's derivatives, with the effectiveness of McNaughton and Yamada's labelling technique, essentially combining the best of the two approaches.", acknowledgement = ack-nhfb, } @Article{Bex:2010:ICR, author = "Geert Jan Bex and Frank Neven and Thomas Schwentick and Stijn Vansummeren", title = "Inference of concise regular expressions and {DTDs}", journal = j-TODS, volume = "35", number = "2", pages = "11:1--11:??", month = apr, year = "2010", CODEN = "ATDSD3", DOI = "https://doi.org/10.1145/1735886.1735890", ISSN = "0362-5915 (print), 1557-4644 (electronic)", ISSN-L = "0362-5915", bibdate = "Wed Apr 28 13:44:08 MDT 2010", bibsource = "http://www.acm.org/pubs/contents/journals/tods/; https://www.math.utah.edu/pub/tex/bib/sgml2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tods.bib", abstract = "We consider the problem of inferring a concise Document Type Definition (DTD) for a given set of XML-documents, a problem that basically reduces to learning {\em concise\/} regular expressions from positive examples strings. We identify two classes of concise regular expressions --- the single occurrence regular expressions (SOREs) and the chain regular expressions (CHAREs) --- that capture the far majority of expressions used in practical DTDs. For the inference of SOREs we present several algorithms that first infer an automaton for a given set of example strings and then translate that automaton to a corresponding SORE, possibly repairing the automaton when no equivalent SORE can be found. In the process, we introduce a novel automaton to regular expression rewrite technique which is of independent interest. When only a very small amount of XML data is available, however (for instance when the data is generated by Web service requests or by answers to queries), these algorithms produce regular expressions that are too specific. Therefore, we introduce a novel learning algorithm crx that directly infers CHAREs (which form a subclass of SOREs) without going through an automaton representation. We show that crx performs very well within its target class on very small datasets.", acknowledgement = ack-nhfb, articleno = "11", fjournal = "ACM Transactions on Database Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J777", keywords = "Regular expressions; schema inference; XML", } @Article{Bex:2010:LDR, author = "Geert Jan Bex and Wouter Gelade and Frank Neven and Stijn Vansummeren", title = "Learning Deterministic Regular Expressions for the Inference of Schemas from {XML} Data", journal = j-TWEB, volume = "4", number = "4", pages = "14:1--14:??", month = sep, year = "2010", CODEN = "????", DOI = "https://doi.org/10.1145/1841909.1841911", ISSN = "1559-1131 (print), 1559-114X (electronic)", ISSN-L = "1559-1131", bibdate = "Tue Nov 23 12:48:27 MST 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tweb.bib", acknowledgement = ack-nhfb, articleno = "14", fjournal = "ACM Transactions on the Web (TWEB)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1062", } @Book{Bird:2010:PFA, author = "Richard Bird", title = "Pearls of Functional Algorithm Design", publisher = pub-CAMBRIDGE, address = pub-CAMBRIDGE:adr, pages = "xi + 277", year = "2010", ISBN = "0-521-51338-3 (hardcover)", ISBN-13 = "978-0-521-51338-8 (hardcover)", LCCN = "QA76.62 .B57 2010", bibdate = "Wed Jul 12 15:33:26 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/jfunctprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; z3950.loc.gov:7090/Voyager", abstract = "Richard Bird takes a radically new approach to algorithm design, namely, design by calculation. These 30 short chapters each deal with a particular programming problem drawn from sources as diverse as games and puzzles, intriguing combinatorial tasks, and more familiar areas such as data compression and string matching. Each pearl starts with the statement of the problem expressed using the functional programming language Haskell, a powerful yet succinct language for capturing algorithmic ideas clearly and simply. The novel aspect of the book is that each solution is calculated from an initial formulation of the problem in Haskell by appealing to the laws of functional programming. \booktitle{Pearls of Functional Algorithm Design} will appeal to the aspiring functional programmer, students and teachers interested in the principles of algorithm design, and anyone seeking to master the techniques of reasoning about programs in an equational style. The novel aspect of the book is that each solution is calculated from the problem statement by appealing to the laws of functional programming. \booktitle{Pearls of Functional Algorithm Design} will appeal to the aspiring functional programmer, students and teachers interested in the principles of algorithm design, and anyone seeking to master the techniques of reasoning about programs in an equational style''", acknowledgement = ack-nhfb, author-dates = "1943--", subject = "Functional programming (Computer science); Computer algorithms", tableofcontents = "1. The smallest free number \\ 2. A surpassing problem \\ 3. Improving on saddleback search \\ 4. A selection problem \\ 5. Sorting pairwise sums \\ 6. Making a century \\ 7. Building a tree with minimum height \\ 8. Unravelling greedy algorithms \\ 9. Finding celebrities \\ 10. Removing duplicates \\ 11. Not the maximum segment sum \\ 12. Ranking suffixes \\ 13. The Burrows--Wheeler transform \\ 14. The last tail \\ 15. All the common prefixes \\ 16. The Boyer--Moore algorithm \\ 17. The Knuth--Morris--Pratt algorithm \\ 18. Planning solves the rush hour problem \\ 19. A simple Sudoku solver \\ 20. The countdown problem \\ 21. Hylomorphisms and nexuses \\ 22. Three ways of computing determinants \\ 23. Inside the convex hull \\ 24. Rational arithmetic coding \\ 25. Integer arithmetic coding \\ 26. The Schorr--Waite algorithm \\ 27. Orderly insertion \\ 28. Loopless functional algorithms \\ 29. The Johnson--Trotter algorithm \\ 30. Spider spinning for dummies", } @Article{Brisaboa:2010:DLT, author = "Nieves Brisaboa and Antonio Fari{\~n}a and Gonzalo Navarro and Jos{\'e} Param{\'a}", title = "Dynamic lightweight text compression", journal = j-TOIS, volume = "28", number = "3", pages = "10:1--10:??", month = jun, year = "2010", CODEN = "ATISET", DOI = "https://doi.org/10.1145/1777432.1777433", ISSN = "1046-8188", ISSN-L = "0734-2047", bibdate = "Tue Jul 6 15:53:00 MDT 2010", bibsource = "http://www.acm.org/pubs/contents/journals/tois/; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tois.bib", abstract = "We address the problem of adaptive compression of natural language text, considering the case where the receiver is much less powerful than the sender, as in mobile applications. Our techniques achieve compression ratios around 32\% and require very little effort from the receiver. Furthermore, the receiver is not only lighter, but it can also search the compressed text with less work than that necessary to decompress it. This is a novelty in two senses: it breaks the usual compressor/decompressor symmetry typical of adaptive schemes, and it contradicts the long-standing assumption that only semistatic codes could be searched more efficiently than the uncompressed text. Our novel compression methods are preferable in several aspects over the existing adaptive and semistatic compressors for natural language texts.", acknowledgement = ack-nhfb, articleno = "10", fjournal = "ACM Transactions on Information Systems (TOIS)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J779", keywords = "adaptive natural language text compression; compressed pattern matching; real-time transmission; searching compressed texts; text compression", } @Article{Chan:2010:CIA, author = "Ho-Leung Chan and Tak-Wah Lam and Wing-Kin Sung and Siu-Lung Tam and Swee-Seong Wong", title = "Compressed Indexes for Approximate String Matching", journal = j-ALGORITHMICA, volume = "58", number = "2", pages = "263--281", month = oct, year = "2010", CODEN = "ALGOEJ", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", bibdate = "Sat Sep 11 10:17:05 MDT 2010", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0178-4617&volume=58&issue=2; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0178-4617&volume=58&issue=2&spage=263", acknowledgement = ack-nhfb, fjournal = "Algorithmica", journal-URL = "http://link.springer.com/journal/453", } @Article{Chandramouli:2010:HPD, author = "Badrish Chandramouli and Jonathan Goldstein and David Maier", title = "High-performance dynamic pattern matching over disordered streams", journal = j-PROC-VLDB-ENDOWMENT, volume = "3", number = "1--2", pages = "220--231", month = sep, year = "2010", CODEN = "????", ISSN = "2150-8097", bibdate = "Fri May 13 14:55:02 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{Cleophas:2010:NTS, author = "Loek Cleophas and Bruce W. Watson and Gerard Zwaan", title = "A new taxonomy of sublinear right-to-left scanning keyword pattern matching algorithms", journal = j-SCI-COMPUT-PROGRAM, volume = "75", number = "11", pages = "1095--1112", day = "1", month = nov, year = "2010", CODEN = "SCPGD4", ISSN = "0167-6423 (print), 1872-7964 (electronic)", ISSN-L = "0167-6423", bibdate = "Fri Apr 1 18:39:38 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/01676423; https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Science of Computer Programming", journal-URL = "http://www.sciencedirect.com/science/journal/01676423", } @Article{Clifford:2010:PMD, author = "Rapha{\"e}l Clifford and Klim Efremenko and Ely Porat and Amir Rothschild", title = "Pattern matching with don't cares and few errors", journal = j-J-COMP-SYS-SCI, volume = "76", number = "2", pages = "115--124", month = mar, year = "2010", CODEN = "JCSSBM", DOI = "https://doi.org/10.1016/j.jcss.2009.06.002", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:27:13 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0022000009000567", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Article{Cohen:2010:FSI, author = "Hagai Cohen and Ely Porat", title = "Fast set intersection and two-patterns matching", journal = j-THEOR-COMP-SCI, volume = "411", number = "40--42", pages = "3795--3800", day = "6", month = sep, year = "2010", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Wed Aug 31 09:12:46 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Consens:2010:EXW, author = "Mariano P. Consens and Ren{\'e}e J. Miller and Flavio Rizzolo and Alejandro A. Vaisman", title = "Exploring {XML} {Web} collections with {DescribeX}", journal = j-TWEB, volume = "4", number = "3", pages = "11:1--11:??", month = jul, year = "2010", CODEN = "????", DOI = "https://doi.org/10.1145/1806916.1806920", ISSN = "1559-1131 (print), 1559-114X (electronic)", ISSN-L = "1559-1131", bibdate = "Sat Aug 14 15:42:40 MDT 2010", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sgml2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tweb.bib", abstract = "As Web applications mature and evolve, the nature of the semistructured data that drives these applications also changes. An important trend is the need for increased flexibility in the structure of Web documents. Hence, applications cannot rely solely on schemas to provide the complex knowledge needed to visualize, use, query and manage documents. Even when XML Web documents are valid with regard to a schema, the actual structure of such documents may exhibit significant variations across collections for several reasons: the schema may be very lax (e.g., RSS feeds), the schema may be large and different subsets of it may be used in different documents (e.g., industry standards like UBL), or open content models may allow arbitrary schemas to be mixed (e.g., RSS extensions like those used for podcasting). For these reasons, many applications that incorporate XPath queries to process a large Web document collection require an understanding of the actual structure present in the collection, and not just the schema.\par To support modern Web applications, we introduce DescribeX, a powerful framework that is capable of describing complex XML summaries of Web collections. DescribeX supports the construction of heterogeneous summaries that can be declaratively defined and refined by means of axis path regular expression (AxPREs). AxPREs provide the flexibility necessary for declaratively defining complex mappings between instance nodes (in the documents) and summary nodes. These mappings are capable of expressing order and cardinality, among other properties, which can significantly help in the understanding of the structure of large collections of XML documents and enhance the performance of Web applications over these collections. DescribeX captures most summary proposals in the literature by providing (for the first time) a common declarative definition for them. Experimental results demonstrate the scalability of DescribeX summary operations (summary creation, as well as refinement and stabilization, two key enablers for tailoring summaries) on multi-gigabyte Web collections.", acknowledgement = ack-nhfb, articleno = "11", fjournal = "ACM Transactions on the Web (TWEB)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1062", keywords = "Semistructured data; structural summaries; XML; XPath", } @TechReport{Cox:2010:REM, author = "Russ Cox", title = "Regular Expression Matching in the Wild", type = "Report", institution = "swtch.com", address = "Cambridge, MA, USA", month = mar, year = "2010", bibdate = "Tue Mar 27 11:39:17 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/plan9.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib; https://www.math.utah.edu/pub/tex/bib/virtual-machines.bib", note = "See also \cite{Thompson:1968:PTR,Kernighan:1999:REL,Cox:2007:REM,Cox:2009:REM,Cox:2012:REM}", URL = "http://swtch.com/~rsc/regexp/regexp3.html", acknowledgement = ack-nhfb, } @Misc{Cox:2010:REP, author = "Russ Cox", title = "{{\tt re2}}: an efficient, principled regular expression library", howpublished = "Google Code project", day = "2", month = mar, year = "2010", bibdate = "Tue Mar 27 15:30:44 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/plan9.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://code.google.com/p/re2/", acknowledgement = ack-nhfb, remark = "From the Web site: ``RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library.''", } @Misc{Cox:2010:YD, author = "Russ Cox", title = "{Yacc} is Not Dead", howpublished = "Web site.", day = "6", month = dec, year = "2010", bibdate = "Sat Nov 07 13:42:20 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://research.swtch.com/yaccalive", acknowledgement = ack-nhfb, } @Article{Durian:2010:IPE, author = "Branislav {\v{D}}urian and Jan Holub and Hannu Peltola and Jorma Tarhio", title = "Improving practical exact string matching", journal = j-INFO-PROC-LETT, volume = "110", number = "4", pages = "148--152", day = "16", month = jan, year = "2010", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu Mar 31 12:46:30 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Fan:2010:GPM, author = "Wenfei Fan and Jianzhong Li and Shuai Ma and Nan Tang and Yinghui Wu and Yunpeng Wu", title = "Graph pattern matching: from intractable to polynomial time", journal = j-PROC-VLDB-ENDOWMENT, volume = "3", number = "1--2", pages = "264--275", month = sep, year = "2010", CODEN = "????", ISSN = "2150-8097", bibdate = "Fri May 13 14:55:02 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{Fischer:2010:PRE, author = "Sebastian Fischer and Frank Huch and Thomas Wilke", title = "A play on regular expressions: functional pearl", journal = j-SIGPLAN, volume = "45", number = "9", pages = "357--368", month = sep, year = "2010", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1932681.1863594", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jan 26 15:13:43 MST 2011", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", } @Article{Gelade:2010:SRE, author = "Wouter Gelade", title = "Succinctness of regular expressions with interleaving, intersection and counting", journal = j-THEOR-COMP-SCI, volume = "411", number = "31--33", pages = "2987--2998", day = "28", month = jun, year = "2010", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Wed Aug 31 09:12:40 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Guinde:2010:EHS, author = "Nitesh B. Guinde and Sotirios G. Ziavras", title = "Efficient hardware support for pattern matching in network intrusion detection", journal = j-COMPUT-SECUR, volume = "29", number = "7", pages = "756--769", month = oct, year = "2010", CODEN = "CPSEDU", ISSN = "0167-4048 (print), 1872-6208 (electronic)", ISSN-L = "0167-4048", bibdate = "Mon Sep 23 09:46:21 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/computsecur2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.sciencedirect.com/science/article/pii/S0167404810000350", acknowledgement = ack-nhfb, fjournal = "Computers \& Security", journal-URL = "https://www.sciencedirect.com/science/journal/01674048", } @Article{Gulwani:2010:RBP, author = "Sumit Gulwani and Florian Zuleger", title = "The reachability-bound problem", journal = j-SIGPLAN, volume = "45", number = "6", pages = "292--304", month = jun, year = "2010", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1806596.1806630", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Fri Oct 8 17:53:18 MDT 2010", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We define the {\em reachability-bound problem\/} to be the problem of finding a symbolic worst-case bound on the number of times a given control location inside a procedure is visited in terms of the inputs to that procedure. This has applications in bounding resources consumed by a program such as time, memory, network-traffic, power, as well as estimating quantitative properties (as opposed to boolean properties) of data in programs, such as information leakage or uncertainty propagation. Our approach to solving the reachability-bound problem brings together two different techniques for reasoning about loops in an effective manner. One of these techniques is an abstract-interpretation based iterative technique for computing precise disjunctive invariants (to summarize nested loops). The other technique is a non-iterative proof-rules based technique (for loop bound computation) that takes over the role of doing inductive reasoning, while deriving its power from the use of SMT solvers to reason about abstract loop-free fragments.\par Our solution to the reachability-bound problem allows us to compute precise symbolic complexity bounds for several loops in .Net base-class libraries for which earlier techniques fail. We also illustrate the precision of our algorithm for disjunctive invariant computation (which has a more general applicability beyond the reachability-bound problem) on a set of benchmark examples.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "disjunctive invariants; pattern matching; ranking functions; resource bound analysis; transitive closure", } @Article{Guo:2010:LIS, author = "Yuqing Guo and Haifeng Wang and Josef van Genabith", title = "A Linguistically Inspired Statistical Model for {Chinese} Punctuation Generation", journal = j-TALIP, volume = "9", number = "2", pages = "6:1--6:??", month = jun, year = "2010", CODEN = "????", DOI = "https://doi.org/10.1145/1781134.1781136", ISSN = "1530-0226 (print), 1558-3430 (electronic)", ISSN-L = "1530-0226", bibdate = "Mon Jun 21 18:03:02 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/talip.bib", abstract = "This article investigates a relatively underdeveloped subject in natural language processing---the generation of punctuation marks. From a theoretical perspective, we study 16 Chinese punctuation marks as defined in the Chinese national standard of punctuation usage, and categorize these punctuation marks into three different types according to their syntactic properties. We implement a three-tier maximum entropy model incorporating linguistically-motivated features for generating the commonly used Chinese punctuation marks in unpunctuated sentences output by a surface realizer. Furthermore, we present a method to automatically extract cue words indicating sentence-final punctuation marks as a specialized feature to construct a more precise model. Evaluating on the Penn Chinese Treebank data, the MaxEnt model achieves an {\em f\/} -score of 79.83\% for punctuation insertion and 74.61\% for punctuation restoration using gold data input, 79.50\% for insertion and 73.32\% for restoration using parser-based imperfect input. The experiments show that the MaxEnt model significantly outperforms a baseline 5-gram language model that scores 54.99\% for punctuation insertion and 52.01\% for restoration. We show that our results are not far from human performance on the same task with human insertion {\em f\/} -scores in the range of 81-87\% and human restoration in the range of 71-82\%. Finally, a manual error analysis of the generation output shows that close to 40\% of the mismatched punctuation marks do in fact result in acceptable choices, a fact obscured in the automatic string-matching based evaluation scores.", acknowledgement = ack-nhfb, articleno = "6", fjournal = "ACM Transactions on Asian Language Information Processing", journal-URL = "http://portal.acm.org/browse_dl.cfm?&idx=J820", keywords = "Chinese punctuation marks; maximum entropy model; sentence realization", } @Article{Guthle:2010:IAD, author = "Martin G{\"u}thle and Jochen K{\"o}gel and Stefan Wahl and Matthias Kaschub and Christian M. Mueller", title = "Improving Anomaly Detection for Text-Based Protocols by Exploiting Message Structures", journal = j-FUTURE-INTERNET, volume = "2", number = "4", pages = "662--669", day = "21", month = dec, year = "2010", CODEN = "????", DOI = "https://doi.org/10.3390/fi2040662", ISSN = "1999-5903", ISSN-L = "1999-5903", bibdate = "Thu Nov 21 16:50:45 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/future-internet.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.mdpi.com/1999-5903/2/4/662", abstract = "Service platforms using text-based protocols need to be protected against attacks. Machine-learning algorithms with pattern matching can be used to detect even previously unknown attacks. In this paper, we present an extension to known Support Vector Machine (SVM) based anomaly detection algorithms for the Session Initiation Protocol (SIP). Our contribution is to extend the amount of different features used for classification (feature space) by exploiting the structure of SIP messages, which reduces the false positive rate. Additionally, we show how combining our approach with attribute reduction significantly improves throughput.", acknowledgement = ack-nhfb, journal-URL = "https://www.mdpi.com/journal/futureinternet", remark = "Special Issue Semantics in the Future Internet.", } @InProceedings{Harrusi:2010:FCP, author = "S. Harrusi and A. Averbuch and N. Rabin", title = "A Fast Compact Prefix Encoding for Pattern Matching in Limited Resources Devices", crossref = "Storer:2010:DPD", pages = "533--533", year = "2010", DOI = "https://doi.org/10.1109/DCC.2010.80", bibdate = "Tue Feb 5 12:39:22 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5453510", acknowledgement = ack-nhfb, } @Article{Hazay:2010:EPS, author = "Carmit Hazay and Yehuda Lindell", title = "Efficient Protocols for Set Intersection and Pattern Matching with Security Against Malicious and Covert Adversaries", journal = j-J-CRYPTOLOGY, volume = "23", number = "3", pages = "422--456", month = jul, year = "2010", CODEN = "JOCREQ", ISSN = "0933-2790 (print), 1432-1378 (electronic)", ISSN-L = "0933-2790", bibdate = "Wed Aug 25 09:39:07 MDT 2010", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0933-2790&volume=23&issue=3; https://www.math.utah.edu/pub/tex/bib/jcryptology.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0933-2790&volume=23&issue=3&spage=422", acknowledgement = ack-nhfb, fjournal = "Journal of Cryptology", journal-URL = "http://link.springer.com/journal/145", } @Article{Hoefler:2010:SCP, author = "Torsten Hoefler and Christian Siebert and Andrew Lumsdaine", title = "Scalable communication protocols for dynamic sparse data exchange", journal = j-SIGPLAN, volume = "45", number = "5", pages = "159--168", month = may, year = "2010", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1693453.1693476", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Aug 31 22:39:18 MDT 2010", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Many large-scale parallel programs follow a bulk synchronous parallel (BSP) structure with distinct computation and communication phases. Although the communication phase in such programs may involve all (or large numbers) of the participating processes, the actual communication operations are usually sparse in nature. As a result, communication phases are typically expressed explicitly using point-to-point communication operations or collective operations. We define the dynamic sparse data-exchange (DSDE) problem and derive bounds in the well known LogGP model. While current approaches work well with static applications, they run into limitations as modern applications grow in scale, and as the problems that are being solved become increasingly irregular and dynamic.\par To enable the compact and efficient expression of the communication phase, we develop suitable sparse communication protocols for irregular applications at large scale. We discuss different irregular applications and show the sparsity in the communication for real-world input data. We discuss the time and memory complexity of commonly used protocols for the DSDE problem and develop {\em NBX\/} --a novel fast algorithm with constant memory overhead for solving it. Algorithm {\em NBX\/} improves the runtime of a sparse data-exchange among 8,192 processors on BlueGene/P by a factor of 5.6. In an application study, we show improvements of up to a factor of 28.9 for a parallel breadth first search on 8,192 BlueGene/P processors.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", keywords = "alltoall; distributed termination; irregular algorithms; nonblocking collective operations; sparse data exchange", } @Article{Horvath:2010:EAC, author = "{\'A}kos Horv{\'a}th and G{\'a}bor Bergmann and Istv{\'a}n R{\'a}th and D{\'a}niel Varr{\'o}", title = "Experimental assessment of combining pattern matching strategies with {VIATRA2}", journal = j-INT-J-SOFTW-TOOLS-TECHNOL-TRANSFER, volume = "12", number = "3--4", pages = "211--230", month = jul, year = "2010", CODEN = "????", ISSN = "1433-2779 (print), 1433-2787 (electronic)", ISSN-L = "1433-2779", bibdate = "Sat Sep 11 07:13:37 MDT 2010", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=1433-2779&volume=12&issue=3; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/sttt.bib", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=1433-2779&volume=12&issue=3&spage=211", acknowledgement = ack-nhfb, fjournal = "International Journal on Software Tools for Technology Transfer: STTT", journal-URL = "http://link.springer.com/journal/10009", } @Article{Kandhan:2010:SFS, author = "Ramakrishnan Kandhan and Nikhil Teletia and Jignesh M. Patel", title = "{SigMatch}: fast and scalable multi-pattern matching", journal = j-PROC-VLDB-ENDOWMENT, volume = "3", number = "1--2", pages = "1173--1184", month = sep, year = "2010", CODEN = "????", ISSN = "2150-8097", bibdate = "Fri May 13 14:55:02 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{Kulekci:2010:BNB, author = "M. Oguzhan K{\"u}lekci", title = "{BLIM}: a New Bit-Parallel Pattern Matching Algorithm Overcoming Computer Word Size Limitation", journal = j-MATH-COMPUT-SCI, volume = "3", number = "4", pages = "407--420", month = jun, year = "2010", CODEN = "????", ISSN = "1661-8270 (print), 1661-8289 (electronic)", ISSN-L = "1661-8270", bibdate = "Sun Aug 22 09:02:18 MDT 2010", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=1661-8270&volume=3&issue=4; https://www.math.utah.edu/pub/tex/bib/math-comput-sci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=1661-8270&volume=3&issue=4&spage=407", acknowledgement = ack-nhfb, fjournal = "Mathematics in Computer Science", journal-URL = "http://www.springerlink.com/content/1661-8270/", } @Article{Kumar:2010:SMM, author = "Krishna Kumar and Rajesh Prasad and Suneeta Agarwal", title = "Software maintenance by multi-patterns parameterized string matching with $q$-gram", journal = j-SIGSOFT, volume = "35", number = "3", pages = "1--5", month = may, year = "2010", CODEN = "SFENDP", DOI = "https://doi.org/10.1145/1764810.1764822", ISSN = "0163-5948 (print), 1943-5843 (electronic)", ISSN-L = "0163-5948", bibdate = "Wed Aug 1 17:15:53 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigsoft2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "In the multi-patterns parameterized string matching problem, a set of patterns $ P_0, P_1, P_2, \ldots {}, P_{r - 1}, r \geq 1 $, are said to match with a sub-string $t$ of the text $T$, if there exists a one-one correspondence between the symbols of patterns and the symbols of $t$. This problem has an important application in software maintenance, where it is often required to find equivalency between two sections of codes. Two sections of codes are said to be equivalent if one can be transformed into the other by renaming only identifiers and variables. In this paper, we extend Forward Non-deterministic Directed Acyclic Word Graph (DAWG) matching (FNDM) algorithm to PQFNDM for parameterized string matching problem by using the q-gram. Experimentally it has been observed that the performance of PQFNDM improves with increasing value of q up to half the length of the pattern. We further modify PQFNDM to MPQFNDM for handling multiple patterns. We compare the performance of PQFNDM (for q=1) with parameterized shift-or (PSO) algorithm and found that PQFNDM is better than PSO. We also show the benefits of using multiple patterns.", acknowledgement = ack-nhfb, fjournal = "ACM SIGSOFT Software Engineering Notes", journal-URL = "https://dl.acm.org/citation.cfm?id=J728", } @Article{Libkin:2010:DPM, author = "Leonid Libkin and Cristina Sirangelo", title = "Disjoint pattern matching and implication in strings", journal = j-INFO-PROC-LETT, volume = "110", number = "4", pages = "143--147", day = "16", month = jan, year = "2010", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu Mar 31 12:46:30 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @InProceedings{Little:2010:OSM, author = "G. Little and J. Diamond", title = "Optimum String Match Choices in {LZSS}", crossref = "Storer:2010:DPD", pages = "538--538", year = "2010", DOI = "https://doi.org/10.1109/DCC.2010.67", bibdate = "Tue Feb 5 12:39:22 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5453493", acknowledgement = ack-nhfb, } @Article{Lohrey:2010:CMP, author = "Markus Lohrey", title = "Compressed Membership Problems for Regular Expressions and Hierarchical Automata", journal = j-INT-J-FOUND-COMP-SCI, volume = "21", number = "5", pages = "817--841", month = oct, year = "2010", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S012905411000757X", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Mon Oct 18 14:53:21 MDT 2010", bibsource = "http://ejournals.wspc.com.sg/ijfcs/mkt/archive.shtml; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Mandreoli:2010:PHS, author = "Federica Mandreoli and Riccardo Martoglia and Pavel Zezula", title = "Principles of {Holism} for sequential twig pattern matching", journal = j-VLDB-J, volume = "18", number = "6", pages = "1369--1392", month = dec, year = "2010", CODEN = "VLDBFR", ISSN = "1066-8888 (print), 0949-877X (electronic)", ISSN-L = "1066-8888", bibdate = "Tue Mar 16 08:21:44 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbj.bib", acknowledgement = ack-nhfb, fjournal = "VLDB Journal: Very Large Data Bases", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{Martens:2010:CDP, author = "Wim Martens and Frank Neven and Thomas Schwentick", title = "Complexity of Decision Problems for {XML} Schemas and Chain Regular Expressions", journal = j-SIAM-J-COMPUT, volume = "39", number = "4", pages = "1486--1530", month = "????", year = "2010", CODEN = "SMJCAT", DOI = "", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", bibdate = "Tue May 18 08:22:14 MDT 2010", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/39/4; https://www.math.utah.edu/pub/tex/bib/sgml2010.bib; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @Article{Might:2010:YD, author = "Matthew Might and David Darais", title = "{Yacc} is dead", journal = "arxiv.org", volume = "??", number = "??", pages = "1--18", day = "24", month = oct, year = "2010", bibdate = "Sat Nov 07 13:39:11 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://arxiv.org/abs/1010.5023; http://www.ucombinator.org/projects/parsing/", abstract = "We present two novel approaches to parsing context-free languages. The first approach is based on an extension of Brzozowski's derivative from regular expressions [\cite{Brzozowski:1964:DRE}] to context-free grammars. The second approach is based on a generalization of the derivative to parser combinators. The payoff of these techniques is a small (less than 250 lines of code), easy-to-implement parsing library capable of parsing arbitrary context-free grammars into lazy parse forests. Implementations for both Scala and Haskell are provided. Preliminary experiments with S-Expressions parsed millions of tokens per second, which suggests this technique is efficient enough for use in practice.", acknowledgement = ack-nhfb, remark = "The title of this article is provocative: see the rebuttal in \cite{Cox:2010:YD}. The paper prose is mathematically and symbolically dense. The authors implement their parser algorithm in Scala and Haskell, but beyond a simple expression grammar, they give no examples of grammars and parsers for any common programming or scripting language. Without real independent implementations of such parsers, it is impossible to judge whether their technique, which they characterize as neither bottom-up nor top-down, offers any advantages over Yacc. While it is possible to concoct peculiar examples of input that take exponential parsing time, that is so rarely relevant in real-world parsing of computer programs that it can, and should, be ignored. What matters more is behavior and speed on parsing of real-world code, and whether faulty input code can produce diagnostics from their parser that are more useful to the programmer than those from conventional LL(1), LALR(1), and LR(k) parsers.", } @Article{Mozafari:2010:REN, author = "Barzan Mozafari and Kai Zeng and Carlo Zaniolo", title = "From regular expressions to nested words: unifying languages and query execution for relational and {XML} sequences", journal = j-PROC-VLDB-ENDOWMENT, volume = "3", number = "1--2", pages = "150--161", month = sep, year = "2010", CODEN = "????", ISSN = "2150-8097", bibdate = "Fri May 13 14:55:02 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{Neuburger:2010:BRB, author = "Shoshana Neuburger", title = "Book Review: {{\booktitle{The Burrows--Wheeler Transform: Data Compression, Suffix Arrays, and Pattern Matching}}, by Donald Adjeroh, Timothy Bell and Amar Mukherjee Springer, 2008}", journal = j-SIGACT, volume = "41", number = "1", pages = "21--24", month = mar, year = "2010", CODEN = "SIGNDM", DOI = "https://doi.org/10.1145/1753171.1753177", ISSN = "0163-5700 (print), 1943-5827 (electronic)", ISSN-L = "0163-5700", bibdate = "Tue Mar 20 14:39:00 MDT 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/sigact.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "See \cite{Adjeroh:2008:BWT}.", acknowledgement = ack-nhfb, fjournal = "ACM SIGACT News", journal-URL = "http://dl.acm.org/citation.cfm?id=J697", } @Article{Nordio:2010:IQE, author = "Alessandro Nordio and Carla-Fabiana Chiasserini and Emanuele Viterbo", title = "The impact of quasi-equally spaced sensor topologies on signal reconstruction", journal = j-TOSN, volume = "6", number = "2", pages = "11:1--11:??", month = feb, year = "2010", CODEN = "????", DOI = "https://doi.org/10.1145/1689239.1689241", ISSN = "1550-4859 (print), 1550-4867 (electronic)", ISSN-L = "1550-4859", bibdate = "Tue Mar 16 15:25:00 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tosn.bib", abstract = "A wireless sensor network with randomly deployed nodes can be used to provide an irregular sampling of a physical field of interest. We assume that a sink node collects the data gathered by the sensors and uses a linear filter for the reconstruction of a bandlimited scalar field defined over a $d$-dimensional domain. Sensors' locations are assumed to be known at the sink node, up to a certain position error. We then take the mean square error (MSE) of the reconstructed field as performance metric, and evaluate the effect of both uniform and quasi-equally spaced sensor layouts on the quality of the reconstructed field. We define a parameter that provides a measure of the regularity of the sensors deployment, and, through asymptotic analysis, we derive the MSE in the case of different sensor spatial distributions. For two of them, an approximate closed form expression is obtained. We validate our analysis through numerical results, and we show that an excellent match exists between analysis and simulation even for a small number of sensors.", acknowledgement = ack-nhfb, articleno = "11", fjournal = "ACM Transactions on Sensor Networks (TOSN)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J981", keywords = "irregular sampling; performance evaluation; Sensor networks; signal reconstruction", } @Misc{Nourie:2010:REJ, author = "D. Nourie and M. McCloskey", title = "Regular Expressions and the {Java} Programming Language", howpublished = "Web report", year = "2010", bibdate = "Wed Sep 09 10:06:46 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/java2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://java.sun.com/developer/technicalArticles/releases/1.4regex", acknowledgement = ack-nhfb, } @Article{Pandurangan:2010:UOC, author = "Gopal Pandurangan and Wojciech Szpankowski", title = "A Universal Online Caching Algorithm Based on Pattern Matching", journal = j-ALGORITHMICA, volume = "57", number = "1", pages = "62--73", month = may, year = "2010", CODEN = "ALGOEJ", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", bibdate = "Sat Sep 11 10:17:05 MDT 2010", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0178-4617&volume=57&issue=1; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0178-4617&volume=57&issue=1&spage=62", acknowledgement = ack-nhfb, fjournal = "Algorithmica", journal-URL = "http://link.springer.com/journal/453", } @Article{Pao:2010:MEP, author = "Derek Pao and Wei Lin and Bin Liu", title = "A memory-efficient pipelined implementation of the {Aho--Corasick} string-matching algorithm", journal = j-TACO, volume = "7", number = "2", pages = "10:1--10:??", month = sep, year = "2010", CODEN = "????", DOI = "https://doi.org/10.1145/1839667.1839672", ISSN = "1544-3566 (print), 1544-3973 (electronic)", ISSN-L = "1544-3566", bibdate = "Sat Oct 2 18:05:46 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/taco.bib", abstract = "With rapid advancement in Internet technology and usages, some emerging applications in data communications and network security require matching of huge volume of data against large signature sets with thousands of strings in real time. In this article, we present a memory-efficient hardware implementation of the well-known Aho--Corasick (AC) string-matching algorithm using a pipelining approach called P-AC. An attractive feature of the AC algorithm is that it can solve the string-matching problem in time linearly proportional to the length of the input stream, and the computation time is independent of the number of strings in the signature set. A major disadvantage of the AC algorithm is the high memory cost required to store the transition rules of the underlying deterministic finite automaton. By incorporating pipelined processing, the state graph is reduced to a character trie that only contains forward edges. Together with an intelligent implementation of look-up tables, the memory cost of P-AC is only about 18 bits per character for a signature set containing 6,166 strings extracted from Snort. The control structure of P-AC is simple and elegant. The cost of the control logic is very low. With the availability of dual-port memories in FPGA devices, we can double the system throughput by duplicating the control logic such that the system can process two data streams concurrently. Since our method is memory-based, incremental changes to the signature set can be accommodated by updating the look-up tables without reconfiguring the FPGA circuitry.", acknowledgement = ack-nhfb, articleno = "10", fjournal = "ACM Transactions on Architecture and Code Optimization (TACO)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J924", keywords = "deterministic and nondeterministic finite automaton; intrusion detection system; pipelined processing; String-matching", } @Article{Pasetto:2010:TVF, author = "Davide Pasetto and Fabrizio Petrini and Virat Agarwal", title = "Tools for Very Fast Regular Expression Matching", journal = j-COMPUTER, volume = "43", number = "3", pages = "50--58", month = mar, year = "2010", CODEN = "CPTRB4", DOI = "https://doi.org/10.1109/MC.2010.80", ISSN = "0018-9162 (print), 1558-0814 (electronic)", ISSN-L = "0018-9162", bibdate = "Wed May 12 22:57:42 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/computer2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Computer", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2", } @Article{Prasad:2010:PSM, author = "Rajesh Prasad and Suneeta Agarwal", title = "Parameterized string matching: an application to software maintenance", journal = j-SIGSOFT, volume = "35", number = "3", pages = "1--5", month = may, year = "2010", CODEN = "SFENDP", DOI = "https://doi.org/10.1145/1764810.1764829", ISSN = "0163-5948 (print), 1943-5843 (electronic)", ISSN-L = "0163-5948", bibdate = "Wed Aug 1 17:15:53 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigsoft2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "In the problem of parameterized string matching, a given pattern P is said to match with a sub-string $t$ of the text $T$, if there exists a one-one correspondence between the symbols of P and the symbols of $t$. This problem has an important application in software maintenance, where it is often required to find equivalency between two sections of codes. Two sections of codes are said to be equivalent if one can be transformed into the other by renaming only identifiers and variables. In this paper, we propose two new algorithms for the said problem by using the q-gram approach. The first one is obtained by using this approach on an existing string matching algorithm (simplified backward non-deterministic directed acyclic word graph matching (SBNDM)). The second one is obtained by using the q-gram approach on the parameterized string matching algorithm (parameterized backward non-deterministic directed acyclic word graph matching (PBNDM)). Performance of both the algorithms is tested for various values of q and it has been observed that both show their best performance for q nearly equal to half of the pattern length. We also study the effect on running time of these algorithms with increasing the duplicity in the text.", acknowledgement = ack-nhfb, fjournal = "ACM SIGSOFT Software Engineering Notes", journal-URL = "https://dl.acm.org/citation.cfm?id=J728", } @Article{Rutter:2010:CLM, author = "Ignaz Rutter and Alexander Wolff", title = "Computing large matchings fast", journal = j-TALG, volume = "7", number = "1", pages = "1:1--1:??", month = nov, year = "2010", CODEN = "????", DOI = "https://doi.org/10.1145/1868237.1868238", ISSN = "1549-6325 (print), 1549-6333 (electronic)", ISSN-L = "1549-6325", bibdate = "Thu Oct 1 15:37:27 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/talg.bib", abstract = "In this article we present algorithms for computing large matchings in 3-regular graphs, graphs with maximum degree 3, and 3-connected planar graphs. The algorithms give a guarantee on the size of the computed matching and take linear or slightly superlinear time. Thus they are faster than the best-known algorithm for computing maximum matchings in general graphs, which runs in $ O(\sqrt {n m}) $ time, where $n$ denotes the number of vertices and $m$ the number of edges of the given graph. For the classes of 3-regular graphs and graphs with maximum degree 3, the bounds we achieve are known to be best possible. We also investigate graphs with block trees of bounded degree, where the $d$-block tree is the adjacency graph of the $d$-connected components of the given graph. In 3-regular graphs and 3-connected planar graphs with bounded-degree 2- and 4-block trees, respectively, we show how to compute maximum matchings in slightly superlinear time.", acknowledgement = ack-nhfb, articleno = "1", fjournal = "ACM Transactions on Algorithms (TALG)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J982", } @Article{Salmela:2010:ABM, author = "Leena Salmela and Jorma Tarhio and Petri Kalsi", title = "Approximate {Boyer--Moore} String Matching for Small Alphabets", journal = j-ALGORITHMICA, volume = "58", number = "3", pages = "591--609", month = nov, year = "2010", CODEN = "ALGOEJ", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", bibdate = "Sat Sep 11 10:17:05 MDT 2010", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0178-4617&volume=58&issue=3; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0178-4617&volume=58&issue=3&spage=591", acknowledgement = ack-nhfb, fjournal = "Algorithmica", journal-URL = "http://link.springer.com/journal/453", } @Article{Silvasti:2010:ELX, author = "P. Silvasti and S. Sippu and E. Soisalon-Soininen", title = "Evaluating Linear {XPath} Expressions by Pattern-Matching Automata", journal = j-J-UCS, volume = "16", number = "5", pages = "833--??", month = "????", year = "2010", CODEN = "????", ISSN = "0948-695X (print), 0948-6968 (electronic)", ISSN-L = "0948-6968", bibdate = "Wed Aug 25 21:53:00 MDT 2010", bibsource = "http://www.jucs.org/jucs; https://www.math.utah.edu/pub/tex/bib/jucs.bib; https://www.math.utah.edu/pub/tex/bib/sgml2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.jucs.org/jucs_16_5/evaluating_linear_xpath_expressions", acknowledgement = ack-nhfb, fjournal = "J.UCS: Journal of Universal Computer Science", journal-URL = "http://www.jucs.org/jucs", } @Article{Ukkonen:2010:GPP, author = "E. Ukkonen", title = "Geometric Point Pattern Matching in the {Knuth--Morris--Pratt} Way", journal = j-J-UCS, volume = "16", number = "14", pages = "1902--??", month = "????", year = "2010", CODEN = "????", ISSN = "0948-695X (print), 0948-6968 (electronic)", ISSN-L = "0948-6968", bibdate = "Fri Apr 6 05:52:25 MDT 2012", bibsource = "http://www.jucs.org/jucs; https://www.math.utah.edu/pub/tex/bib/jucs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.jucs.org/jucs_16_14/geometric_point_pattern_matching", acknowledgement = ack-nhfb, fjournal = "J.UCS: Journal of Universal Computer Science", journal-URL = "http://www.jucs.org/jucs", } @Article{Zhang:2010:PMW, author = "Meng Zhang and Yi Zhang and Liang Hu", title = "Pattern matching with wildcards using words of shorter length", journal = j-INFO-PROC-LETT, volume = "110", number = "24", pages = "1099--1102", day = "30", month = nov, year = "2010", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu Mar 31 12:46:50 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Amir:2011:ASM, author = "Amihood Amir and Estrella Eisenberg and Orgad Keller and Avivit Levy and Ely Porat", title = "Approximate string matching with stuck address bits", journal = j-THEOR-COMP-SCI, volume = "412", number = "29", pages = "3537--3544", day = "1", month = jul, year = "2011", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Tue Aug 30 18:51:38 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Atallah:2011:PMH, author = "Mikhail J. Atallah and Timothy W. Duket", title = "Pattern matching in the {Hamming} distance with thresholds", journal = j-INFO-PROC-LETT, volume = "111", number = "14", pages = "674--677", day = "31", month = jul, year = "2011", CODEN = "IFPLAT", DOI = "https://doi.org/10.1016/j.ipl.2011.04.004", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Sat Feb 4 08:08:39 MST 2012", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0020019011001049", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Aumann:2011:FWP, author = "Yonatan Aumann and Moshe Lewenstein and Noa Lewenstein and Dekel Tsur", title = "Finding witnesses by peeling", journal = j-TALG, volume = "7", number = "2", pages = "24:1--24:??", month = mar, year = "2011", CODEN = "????", DOI = "https://doi.org/10.1145/1921659.1921670", ISSN = "1549-6325 (print), 1549-6333 (electronic)", ISSN-L = "1549-6325", bibdate = "Sat Dec 8 09:35:38 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/talg.bib", abstract = "In the $k$-matches problem, we are given a pattern and a text, and for each text location, the desired output consists of all aligned matching characters if there are $k$ or fewer of them, and any $k$ aligned matching characters if there are more than $k$ of them. This problem is one of several string matching problems that seek not only to find where the pattern matches the text under different ``match'' definitions, but also to provide witnesses to the match. Other such problems include $k$-aligned ones, $k$-witnesses, and $k$-mismatches. In addition, the solutions to several other string matching problems rely on the efficient solutions of the witness finding problems. In this article we provide a general method for solving such witness finding problems efficiently. We do so by casting the problem as a generalization of group testing, which we then solve by a process we call peeling. Using this general framework we obtain improved results for all of the problems mentioned. We also show that our method also solves a couple of problems outside the pattern matching domain.", acknowledgement = ack-nhfb, articleno = "24", fjournal = "ACM Transactions on Algorithms (TALG)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J982", } @InProceedings{Barcelo:2011:QGP, author = "Pablo Barcel{\'o} and Leonid Libkin and Juan L. Reutter", title = "Querying graph patterns", crossref = "Lenzerini:2011:PPT", pages = "199--210", year = "2011", DOI = "https://doi.org/10.1145/1989284.1989307", bibdate = "Mon Apr 23 08:27:56 MDT 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Graph data appears in a variety of application domains, and many uses of it, such as querying, matching, and transforming data, naturally result in incompletely specified graph data, i.e., graph patterns. While queries need to be posed against such data, techniques for querying patterns are generally lacking, and properties of such queries are not well understood. Our goal is to study the basics of querying graph patterns. We first identify key features of patterns, such as node and label variables and edges specified by regular expressions, and define a classification of patterns based on them. We then study standard graph queries on graph patterns, and give precise characterizations of both data and combined complexity for each class of patterns. If complexity is high, we do further analysis of features that lead to intractability, as well as lower complexity restrictions. We introduce a new automata model for query answering with two modes of acceptance: one captures queries returning nodes, and the other queries returning paths. We study properties of such automata, and the key computational tasks associated with them. Finally, we provide additional restrictions for tractability, and show that some intractable cases can be naturally cast as instances of constraint satisfaction problem.", acknowledgement = ack-nhfb, } @Article{Bhargava:2011:CMD, author = "Sanjay Bhargava and G. N. Purohit", title = "Construction of a Minimal Deterministic Finite Automaton from a Regular Expression", journal = j-INT-J-COMP-APPL, volume = "15", number = "??", pages = "16--27", month = feb, year = "2011", CODEN = "????", DOI = "https://doi.org/10.5120/1938-2589", ISSN = "0975-8887", ISSN-L = "0975-8887", bibdate = "Fri Jan 24 08:35:49 MST 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/intjcompappl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.ijcaonline.org/archives/volume15/number4/1938-2589/", acknowledgement = ack-nhfb, ajournal = "Intern. J. of Computer Applications", articleno = "4", fjournal = "International Journal of Computer Applications", journal-URL = "https://www.ijcaonline.org/", } @Article{Burton:2011:SBL, author = "Benjamin A. Burton", title = "Searching a Bitstream in Linear Time for the Longest Substring of Any Given Density", journal = j-ALGORITHMICA, volume = "61", number = "3", pages = "555--579", month = nov, year = "2011", CODEN = "ALGOEJ", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", bibdate = "Mon Sep 5 20:44:15 MDT 2011", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0178-4617&volume=61&issue=3; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0178-4617&volume=61&issue=3&spage=555", acknowledgement = ack-nhfb, journal-URL = "http://link.springer.com/journal/453", } @Article{Caron:2011:PMB, author = "Eddy Caron and Fr{\'e}d{\'e}ric Desprez and Adrian Muresan", title = "Pattern Matching Based Forecast of Non-periodic Repetitive Behavior for Cloud Clients", journal = j-J-GRID-COMP, volume = "9", number = "1", pages = "49--64", month = mar, year = "2011", CODEN = "????", ISSN = "1570-7873 (print), 1572-9184 (electronic)", ISSN-L = "1570-7873", bibdate = "Tue Sep 6 21:35:04 MDT 2011", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=1570-7873&volume=9&issue=1; https://www.math.utah.edu/pub/tex/bib/jgridcomp.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=1570-7873&volume=9&issue=1&spage=49", acknowledgement = ack-nhfb, fjournal = "Journal of Grid Computing", journal-URL = "http://link.springer.com/journal/10723", } @Article{Choi:2011:CPM, author = "Yongwook Choi and Wojciech Szpankowski", title = "Constrained pattern matching", journal = j-TALG, volume = "7", number = "2", pages = "25:1--25:??", month = mar, year = "2011", CODEN = "????", DOI = "https://doi.org/10.1145/1921659.1921671", ISSN = "1549-6325 (print), 1549-6333 (electronic)", ISSN-L = "1549-6325", bibdate = "Sat Dec 8 09:35:38 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/talg.bib", abstract = "Constrained sequences are strings satisfying certain additional structural restrictions (e.g., some patterns are forbidden). They find applications in communication, digital recording, and biology. In this article, we restrict our attention to the so-called $ (d, k) $ constrained binary sequences in which any run of zeros must be of length at least $d$ and at most $k$, where $ 0 \leq d < k $. In many applications, one needs to know the number of occurrences of a given pattern $w$ in such sequences, for which we coin the term constrained pattern matching. For a given word $w$, we first estimate the mean and the variance of the number of occurrences of $w$ in a $ (d, k) $ sequence generated by a memoryless source. Then we present the central limit theorem and large deviations results. As a by-product, we enumerate asymptotically the number of $ (d, k) $ sequences with exactly $r$ occurrences of $w$, and compute Shannon entropy of $ (d, k) $ sequences with a given number of occurrences of $w$. We also apply our results to detect under- and overrepresented patterns in neuronal data (spike trains), which satisfy structural constraints that match the framework of $ (d, k) $ binary sequences. Throughout this article we use techniques of analytic combinatorics such as combinatorial calculus, generating functions, and complex asymptotics.", acknowledgement = ack-nhfb, articleno = "25", fjournal = "ACM Transactions on Algorithms (TALG)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J982", } @InProceedings{Coquand:2011:DPR, author = "T. Coquand and V. Siles", editor = "Jean-Pierre Jouannaud and Zhong Shao", booktitle = "Proceedings of the {1st International Conference on Certified Programs and Proofs (CPP)}", title = "A decision procedure for regular expression equivalence in type theory", volume = "7086", publisher = pub-SV, address = pub-SV:adr, pages = "119--134", year = "2011", DOI = "https://doi.org/10.1007/978-3-642-25379-9_11", bibdate = "Fri Sep 22 12:39:50 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, acknowledgement = ack-nhfb, } @Article{Denning:2011:MIV, author = "Jonathan D. Denning and William B. Kerr and Fabio Pellacini", title = "{MeshFlow}: interactive visualization of mesh construction sequences", journal = j-TOG, volume = "30", number = "4", pages = "66:1--66:??", month = jul, year = "2011", CODEN = "ATGRDF", DOI = "https://doi.org/10.1145/2010324.1964961; https://doi.org/10.1145/2010324.1965003", ISSN = "0730-0301 (print), 1557-7368 (electronic)", ISSN-L = "0730-0301", bibdate = "Wed Aug 17 09:36:30 MDT 2011", bibsource = "http://www.acm.org/pubs/contents/journals/tog/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tog.bib", abstract = "The construction of polygonal meshes remains a complex task in Computer Graphics, taking tens of thousands of individual operations over several hours of modeling time. The complexity of modeling in terms of number of operations and time makes it difficult for artists to understand all details of how meshes are constructed. We present MeshFlow, an interactive system for visualizing mesh construction sequences. MeshFlow hierarchically clusters mesh editing operations to provide viewers with an overview of the model construction while still allowing them to view more details on demand. We base our clustering on an analysis of the frequency of repeated operations and implement it using substituting regular expressions.", acknowledgement = ack-nhfb, articleno = "66", fjournal = "ACM Transactions on Graphics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J778", } @Article{Droste:2011:WAR, author = "Manfred Droste and Ingmar Meinecke", title = "Weighted Automata and Regular Expressions Over Valuation Monoids", journal = j-INT-J-FOUND-COMP-SCI, volume = "22", number = "8", pages = "1829--1844", month = dec, year = "2011", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S0129054111009069", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Wed Feb 8 18:31:47 MST 2012", bibsource = "http://ejournals.wspc.com.sg/ijfcs/mkt/archive.shtml; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Ficara:2011:DED, author = "Domenico Ficara and Andrea {Di Pietro} and Stefano Giordano and Gregorio Procissi and Fabio Vitucci and Gianni Antichi", title = "Differential encoding of {DFAs} for fast regular expression matching", journal = j-IEEE-TRANS-NETWORKING, volume = "19", number = "3", pages = "683--694", month = jun, year = "2011", CODEN = "IEANEP", DOI = "https://doi.org/10.1109/TNET.2010.2089639", ISSN = "1063-6692 (print), 1558-2566 (electronic)", ISSN-L = "1063-6692", bibdate = "Sun Nov 6 07:43:51 MST 2011", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/ieeetransnetworking.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE\slash ACM Transactions on Networking", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J771", } @Article{Garcia:2011:RES, author = "Pedro Garc{\'\i}a and Dami{\'a}n L{\'o}pez and Jos{\'e} Ruiz and Gloria I. {\'A}lvarez", title = "From regular expressions to smaller {NFAs}", journal = j-THEOR-COMP-SCI, volume = "412", number = "41", pages = "5802--5807", day = "23", month = sep, year = "2011", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Tue Aug 30 18:51:58 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Grabowski:2011:SMI, author = "Szymon Grabowski and Simone Faro and Emanuele Giaquinta", title = "String matching with inversions and translocations in linear average time (most of the time)", journal = j-INFO-PROC-LETT, volume = "111", number = "11", pages = "516--520", day = "15", month = may, year = "2011", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu Mar 31 12:47:01 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Henglein:2011:REC, author = "Fritz Henglein and Lasse Nielsen", title = "Regular expression containment: coinductive axiomatization and computational interpretation", journal = j-SIGPLAN, volume = "46", number = "1", pages = "385--398", month = jan, year = "2011", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1925844.1926429", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jan 26 15:06:39 MST 2011", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", } @Article{Holzer:2011:CRL, author = "Markus Holzer and Martin Kutrib", title = "The Complexity of Regular(-Like) Expressions", journal = j-INT-J-FOUND-COMP-SCI, volume = "22", number = "7", pages = "1533--1548", month = nov, year = "2011", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S0129054111008866", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Wed Feb 8 18:31:45 MST 2012", bibsource = "http://ejournals.wspc.com.sg/ijfcs/mkt/archive.shtml; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Hon:2011:COI, author = "Wing-Kai Hon and Tak-Wah Lam and Rahul Shah and Siu-Lung Tam and Jeffrey Scott Vitter", title = "Cache-oblivious index for approximate string matching", journal = j-THEOR-COMP-SCI, volume = "412", number = "29", pages = "3579--3588", day = "1", month = jul, year = "2011", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Tue Aug 30 18:51:38 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Jay:2011:TSI, author = "Barry Jay and Jens Palsberg", title = "Typed self-interpretation by pattern matching", journal = j-SIGPLAN, volume = "46", number = "9", pages = "247--258", month = sep, year = "2011", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2034574.2034808", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sat Oct 22 08:31:30 MDT 2011", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "ICFP '11 conference proceedings.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", } @Article{Kim:2011:MEB, author = "Hyun Jin Kim and Hong-Sik Kim and Sungho Kang", title = "A Memory-Efficient Bit-Split Parallel String Matching Using Pattern Dividing for Intrusion Detection Systems", journal = j-IEEE-TRANS-PAR-DIST-SYS, volume = "22", number = "11", pages = "1904--1911", month = nov, year = "2011", CODEN = "ITDSEO", DOI = "https://doi.org/10.1109/TPDS.2011.85", ISSN = "1045-9219 (print), 1558-2183 (electronic)", ISSN-L = "1045-9219", bibdate = "Thu Sep 29 12:07:39 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranspardistsys.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Parallel and Distributed Systems", journal-URL = "http://www.computer.org/tpds/archives.htm", } @InProceedings{Kimelfeld:2011:FMT, author = "Benny Kimelfeld and Yehoshua Sagiv", title = "Finding a minimal tree pattern under neighborhood constraints", crossref = "Lenzerini:2011:PPT", pages = "235--246", year = "2011", DOI = "https://doi.org/10.1145/1989284.1989318", bibdate = "Mon Apr 23 08:27:56 MDT 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Tools that automatically generate queries are useful when schemas are hard to understand due to size or complexity. Usually, these tools find minimal tree patterns that contain a given set (or bag) of labels. The labels could be, for example, XML tags or relation names. The only restriction is that, in a tree pattern, adjacent labels must be among some specified pairs. A more expressive framework is developed here, where a schema is a mapping of each label to a collection of bags of labels. A tree pattern conforms to the schema if for all nodes v, the bag comprising the labels of the neighbors is contained in one of the bags to which the label of v is mapped. The problem at hand is to find a minimal tree pattern that conforms to the schema and contains a given bag of labels. This problem is NP-hard even when using the simplest conceivable language for describing schemas. In practice, however, the set of labels is small, so efficiency is realized by means of an algorithm that is fixed-parameter tractable (FPT). Two languages for specifying schemas are discussed. In the first, one expresses pairwise mutual exclusions between labels. Though W[1]-hardness (hence, unlikeliness of an FPT algorithm) is shown, an FPT algorithm is described for the case where the mutual exclusions form a circular-arc graph (e.g., disjoint cliques). The second language is that of regular expressions, and for that another FPT algorithm is described.", acknowledgement = ack-nhfb, } @Article{Kiwi:2011:LAS, author = "Marcos Kiwi and Gonzalo Navarro and Claudio Telha", title = "On-line approximate string matching with bounded errors", journal = j-THEOR-COMP-SCI, volume = "412", number = "45", pages = "6359--6370", day = "21", month = oct, year = "2011", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2011.08.005", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Tue Nov 29 19:11:39 MST 2011", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397511006669", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @InProceedings{Klein:2011:SDM, author = "S. T. Klein and D. Shapira", title = "The String-to-Dictionary Matching Problem", crossref = "Storer:2011:DDC", pages = "143--152", year = "2011", DOI = "https://doi.org/10.1109/DCC.2011.21", bibdate = "Tue Feb 5 11:58:09 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5749472", acknowledgement = ack-nhfb, } @Article{Knessl:2011:EAF, author = "Charles Knessl and Mark W. Coffey", title = "An effective asymptotic formula for the {Stieltjes} constants", journal = j-MATH-COMPUT, volume = "80", number = "273", pages = "379--386", month = jan, year = "2011", CODEN = "MCMPAF", DOI = "https://doi.org/10.1090/S0025-5718-2010-02390-7", ISSN = "0025-5718 (print), 1088-6842 (electronic)", ISSN-L = "0025-5718", bibdate = "Wed Oct 13 16:46:42 MDT 2010", bibsource = "http://www.ams.org/mcom/2011-80-273; https://www.math.utah.edu/pub/tex/bib/elefunt.bib; https://www.math.utah.edu/pub/tex/bib/mathcomp2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.ams.org/journals/mcom/2011-80-273/S0025-5718-2010-02390-7/; http://www.ams.org/journals/mcom/2011-80-273/S0025-5718-2010-02390-7/home.html; http://www.ams.org/journals/mcom/2011-80-273/S0025-5718-2010-02390-7/S0025-5718-2010-02390-7.pdf", abstract = "The Stieltjes constants $ \gamma_k $ appear in the coefficients in the regular part of the Laurent expansion of the Riemann zeta function $ \zeta (s) $ about its only pole at $ s = 1 $. We present an asymptotic expression for $ \gamma_k $ for $ k \gg 1 $. This form encapsulates both the leading rate of growth and the oscillations with $k$. Furthermore, our result is effective for computation, consistently in close agreement (for both magnitude and sign) for even moderate values of $k$. Comparison to some earlier work is made.", acknowledgement = ack-nhfb, fjournal = "Mathematics of Computation", journal-URL = "http://www.ams.org/mcom/", } @Article{Kulick:2011:ESC, author = "Seth Kulick", title = "Exploiting Separation of Closed-Class Categories for {Arabic} Tokenization and Part-of-Speech Tagging", journal = j-TALIP, volume = "10", number = "1", pages = "4:1--4:??", month = mar, year = "2011", CODEN = "????", DOI = "https://doi.org/10.1145/1929908.1929912", ISSN = "1530-0226 (print), 1558-3430 (electronic)", ISSN-L = "1530-0226", bibdate = "Wed Mar 16 18:07:50 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/talip.bib", abstract = "Research on the problem of morphological disambiguation of Arabic has noted that techniques developed for lexical disambiguation in English do not easily transfer over, since the affixation present in Arabic creates a very different tag set than for English, encoding both inflectional morphology and more complex tokenization sequences. This work takes a new approach to this problem based on a distinction between the open-class and closed-class categories of tokens, which differ both in their frequencies and in their possible morphological affixations. This separation simplifies the morphological analysis problem considerably, making it possible to use a Conditional Random Field model for joint tokenization and ``core'' part-of-speech tagging of the open-class items, while the closed-class items are handled by regular expressions.", acknowledgement = ack-nhfb, articleno = "4", fjournal = "ACM Transactions on Asian Language Information Processing", journal-URL = "http://portal.acm.org/browse_dl.cfm?&idx=J820", } @Article{Lipsky:2011:APM, author = "Ohad Lipsky and Ely Porat", title = "Approximate Pattern Matching with the {$ L_1 $}, {$ L_2 $} and {$ L_\infty $} Metrics", journal = j-ALGORITHMICA, volume = "60", number = "2", pages = "335--348", month = jun, year = "2011", CODEN = "ALGOEJ", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", bibdate = "Fri Jun 17 18:57:00 MDT 2011", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0178-4617&volume=60&issue=2; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0178-4617&volume=60&issue=2&spage=335", acknowledgement = ack-nhfb, fjournal = "Algorithmica", journal-URL = "http://link.springer.com/journal/453", } @Article{Ma:2011:CTG, author = "Shuai Ma and Yang Cao and Wenfei Fan and Jinpeng Huai and Tianyu Wo", title = "Capturing topology in graph pattern matching", journal = j-PROC-VLDB-ENDOWMENT, volume = "5", number = "4", pages = "310--321", month = dec, year = "2011", CODEN = "????", ISSN = "2150-8097", bibdate = "Sat Mar 24 07:52:11 MDT 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "Graph pattern matching is often defined in terms of subgraph isomorphism, an np-complete problem. To lower its complexity, various extensions of graph simulation have been considered instead. These extensions allow pattern matching to be conducted in cubic-time. However, they fall short of capturing the topology of data graphs, i.e., graphs may have a structure drastically different from pattern graphs they match, and the matches found are often too large to understand and analyze. To rectify these problems, this paper proposes a notion of strong simulation, a revision of graph simulation, for graph pattern matching. (1) We identify a set of criteria for preserving the topology of graphs matched. We show that strong simulation preserves the topology of data graphs and finds a bounded number of matches. (2) We show that strong simulation retains the same complexity as earlier extensions of simulation, by providing a cubic-time algorithm for computing strong simulation. (3) We present the locality property of strong simulation, which allows us to effectively conduct pattern matching on distributed graphs. (4) We experimentally verify the effectiveness and efficiency of these algorithms, using real-life data and synthetic data.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{Marschall:2011:ACC, author = "Tobias Marschall and Sven Rahmann", title = "An Algorithm to Compute the Character Access Count Distribution for Pattern Matching Algorithms", journal = j-ALGORITHMS-BASEL, volume = "4", number = "4", pages = "285--306", month = dec, year = "2011", CODEN = "ALGOCH", DOI = "https://doi.org/10.3390/a4040285", ISSN = "1999-4893 (electronic)", ISSN-L = "1999-4893", bibdate = "Fri May 3 13:50:12 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/algorithms.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.mdpi.com/1999-4893/4/4/285", acknowledgement = ack-nhfb, fjournal = "Algorithms (Basel)", journal-URL = "https://www.mdpi.com/journal/algorithms", pubdates = "Received: 14 October 2011 / Revised: 26 October 2011 / Accepted: 26 October 2011 / Published: 31 October 2011", } @Article{Mateescu:2011:CEC, author = "Radu Mateescu and Pedro T. Monteiro and Estelle Dumas and Hidde de Jong", title = "{CTRL}: {Extension} of {CTL} with regular expressions and fairness operators to verify genetic regulatory networks", journal = j-THEOR-COMP-SCI, volume = "412", number = "26", pages = "2854--2883", day = "10", month = jun, year = "2011", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat May 14 09:05:20 MDT 2011", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @InProceedings{Nielsen:2011:BCR, author = "Lasse Nielsen and Fritz Henglein", editor = "Carlos Mart{\'\i}n-Vide and Shunsuke Inenaga and Adrian-Horia Dediu", booktitle = "Language and Automata Theory and Applications", title = "Bit-coded Regular Expression Parsing: {5th International Conference, LATA 2011, Tarragona, Spain, May 26--31, 2011}", volume = "6638", publisher = pub-SV, address = pub-SV:adr, bookpages = "xiii + 512 + 115 + 33", pages = "402--413", year = "2011", DOI = "https://doi.org/10.1007/978-3-642-21254-3_32", ISBN = "3-642-21253-0 (soft cover), 3-642-21254-9 (e-book)", ISBN-13 = "978-3-642-21253-6 (soft cover), 978-3-642-21254-3 (e-book)", LCCN = "QA267 .L38 2011", bibdate = "Fri Sep 22 14:33:31 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-21254-3", } @InProceedings{Okui:2011:DRE, author = "Satoshi Okui and Taro Suzuki", editor = "Michael Domaratzki and Kai Salomaa", booktitle = "Implementation and Application of Automata: {15th International Conference, CIAA 2010, Manitoba, Canada, August 12-15, 2010. Revised Selected Papers}", title = "Disambiguation in Regular Expression Matching via Position Automata with Augmented Transitions", volume = "6482", publisher = pub-SV, address = pub-SV:adr, bookpages = "xii + 332 + 53 + 3", pages = "231--240", year = "2011", DOI = "https://doi.org/10.1007/978-3-642-18098-9_25", bibdate = "Fri Sep 22 15:05:50 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-18098-9", } @Article{Ong:2011:VHO, author = "C.-H. Luke Ong and Steven James Ramsay", title = "Verifying higher-order functional programs with pattern-matching algebraic data types", journal = j-SIGPLAN, volume = "46", number = "1", pages = "587--598", month = jan, year = "2011", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/1925844.1926453", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Jan 26 15:06:39 MST 2011", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", } @Article{Pao:2011:SSE, author = "Derek Pao and Xing Wang and Xiaoran Wang and Cong Cao and Yuesheng Zhu", title = "String Searching Engine for Virus Scanning", journal = j-IEEE-TRANS-COMPUT, volume = "60", number = "11", pages = "1596--1609", month = nov, year = "2011", CODEN = "ITCOB4", DOI = "https://doi.org/10.1109/TC.2010.250", ISSN = "0018-9340 (print), 1557-9956 (electronic)", ISSN-L = "0018-9340", bibdate = "Tue Sep 27 07:57:50 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5669261", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12", } @Article{Petricek:2011:EMP, author = "Tomas Petricek and Alan Mycroft and Don Syme", title = "Extending monads with pattern matching", journal = j-SIGPLAN, volume = "46", number = "12", pages = "1--12", month = dec, year = "2011", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2096148.2034677", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Jan 17 17:51:46 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Sequencing of effectful computations can be neatly captured using monads and elegantly written using do notation. In practice such monads often allow additional ways of composing computations, which have to be written explicitly using combinators. We identify joinads, an abstract notion of computation that is stronger than monads and captures many such ad-hoc extensions. In particular, joinads are monads with three additional operations: one of type m a -{$>$} m b -{$>$} m (a, b) captures various forms of parallel composition, one of type m a -{$>$} m a -{$>$} m a that is inspired by choice and one of type m a -{$>$} m (m a) that captures aliasing of computations.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "Haskell '11 conference proceedings.", } @Article{Pizzi:2011:FSM, author = "Cinzia Pizzi and Pasi Rastas and Esko Ukkonen", title = "Finding Significant Matches of Position Weight Matrices in Linear Time", journal = j-TCBB, volume = "8", number = "1", pages = "69--79", month = jan, year = "2011", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2009.35", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Mon Dec 20 18:39:04 MST 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "Position weight matrices are an important method for modeling signals or motifs in biological sequences, both in DNA and protein contexts. In this paper, we present fast algorithms for the problem of finding significant matches of such matrices. Our algorithms are of the online type, and they generalize classical multipattern matching, filtering, and superalphabet techniques of combinatorial string matching to the problem of weight matrix matching. Several variants of the algorithms are developed, including multiple matrix extensions that perform the search for several matrices in one scan through the sequence database. Experimental performance evaluation is provided to compare the new techniques against each other as well as against some other online and index-based algorithms proposed in the literature.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", } @Article{Scarpazza:2011:TPT, author = "Daniele Paolo Scarpazza", title = "Top-Performance Tokenization and Small-Ruleset Regular Expression Matching: a Quantitative Performance Analysis and Optimization Study on the {Cell\slash B.E. Processor}", journal = j-INT-J-PARALLEL-PROG, volume = "39", number = "1", pages = "3--32", month = feb, year = "2011", CODEN = "IJPPE5", ISSN = "0885-7458 (print), 1573-7640 (electronic)", ISSN-L = "0885-7458", bibdate = "Sat Mar 5 15:20:38 MST 2011", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0885-7458&volume=39&issue=1; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0885-7458&volume=39&issue=1&spage=3", acknowledgement = ack-nhfb, fjournal = "International Journal of Parallel Programming", journal-URL = "http://link.springer.com/journal/10766", } @Article{V:2011:BBI, author = "Sharath Chandra V. and S. Selvakumar", title = "{BIXSAN}: browser independent {XSS} sanitizer for prevention of {XSS} attacks", journal = j-SIGSOFT, volume = "36", number = "5", pages = "1--7", month = sep, year = "2011", CODEN = "SFENDP", DOI = "https://doi.org/10.1145/2020976.2020996", ISSN = "0163-5948 (print), 1943-5843 (electronic)", ISSN-L = "0163-5948", bibdate = "Wed Aug 1 17:16:04 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/java2010.bib; https://www.math.utah.edu/pub/tex/bib/sigsoft2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Proliferation of social networking sites, and web applications which deliver dynamic content to the clients have increased the user created HTML content in the World Wide Web. This user-created HTML content can be a notorious vector for Cross-Site Scripting,(XSS) attacks. XSS attacks have the ability to target websites, steal confidential information of the users, and hijack their accounts, etc. XSS attacks are launched to exploit the vulnerabilities of the poorly developed application code and data processing systems. In particular, improper validation of user created content and un-sanitized custom error messages introduce vulnerability for XSS attacks. It is a challenging task for any security mechanism to filter out only the harmful HTML content and retain safe content with high fidelity and robustness. This has motivated us to develop a mechanism that filters out the harmful HTML content, and allows safe HTML. The existing solutions to XSS attack include use of regular expressions to detect the presence of dynamic content and client side filtering mechanisms such as Noscript and Noxes tool. The drawbacks of these solutions are low fidelity and disallowing of benign HTML. In order to overcome these drawbacks BIXSAN, a Browser Independent XSS SANitizer for prevention of XSS attacks is proposed in this paper. BIXSAN includes the proposition of three pronged strategy. These strategies are as follows: Firstly the use of complete HTML parser is proposed rather than approximating the behavior of parser. The advantage of using complete HTML parser is that it offers high fidelity. Secondly the use of modified browser, viz., JavaScript Tester is proposed to detect the presence of JavaScript for filtering it out. Thirdly, identification of static tags is proposed for allowing the benign HTML. Further, BIXSAN includes the proposition of a parse tree generator at client side browser to reduce the anomalous behavior of browsers. BIXSAN was experimented in various browsers such as Opera, Netscape, Internet Explorer (IE), and Firefox and found to work for all the browsers. From the experiments conducted it has been found that the proposed BIXSAN prevents the injection of XSS attack code successfully. Further, it has been verified that BIXSAN reduces the anomalous behavior of browse.", acknowledgement = ack-nhfb, fjournal = "ACM SIGSOFT Software Engineering Notes", journal-URL = "https://dl.acm.org/loi/sigsoft", } @Article{Vespa:2011:DFA, author = "Lucas Vespa and Ning Weng", title = "Deterministic finite automata characterization and optimization for scalable pattern matching", journal = j-TACO, volume = "8", number = "1", pages = "4:1--4:??", month = apr, year = "2011", CODEN = "????", DOI = "https://doi.org/10.1145/1952998.1953002", ISSN = "1544-3566 (print), 1544-3973 (electronic)", ISSN-L = "1544-3566", bibdate = "Wed Apr 27 07:54:03 MDT 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/taco.bib", abstract = "Memory-based Deterministic Finite Automata (DFA) are ideal for pattern matching in network intrusion detection systems due to their deterministic performance and ease of update of new patterns, however severe DFA memory requirements make it impractical to implement thousands of patterns. This article aims to understand the basic relationship between DFA characteristics and memory requirements, and to design a practical memory-based pattern matching engine. We present a methodology that consists of theoretical DFA characterization, encoding optimization, and implementation architecture. Results show the validity of the characterization metrics, effectiveness of the encoding techniques, and efficiency of the memory-based pattern engines.", acknowledgement = ack-nhfb, articleno = "4", fjournal = "ACM Transactions on Architecture and Code Optimization (TACO)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J924", } @Article{Vespa:2011:MDM, author = "Lucas Vespa and Ning Weng and Ramaswamy Ramaswamy", title = "{MS-DFA}: Multiple-Stride Pattern Matching for Scalable Deep Packet Inspection", journal = j-COMP-J, volume = "54", number = "2", pages = "285--303", month = feb, year = "2011", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/bxq077", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Fri Jan 28 12:33:17 MST 2011", bibsource = "http://comjnl.oxfordjournals.org/content/54/2.toc; https://www.math.utah.edu/pub/tex/bib/compj2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://comjnl.oxfordjournals.org/content/54/2/285.full.pdf+html", acknowledgement = ack-nhfb, fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", onlinedate = "December 1, 2010", } @InProceedings{Xu:2011:MDP, author = "Y. Xu and L. Ma and Z. Liu and H. J. Chao", editor = "{ACM}", booktitle = "{ANCS'11: Proceedings of the 17th ACM\slash IEEE Symposium on Architectures for Networking and Communications Systems, Brooklyn, NY, USA, October 3--4, 2011}", title = "A multi-dimensional progressive perfect hashing for high-speed string matching", publisher = pub-ACM, address = pub-ACM:adr, pages = "167--177", year = "2011", DOI = "https://doi.org/10.1109/ANCS.2011.33", ISBN = "0-7695-4521-1", ISBN-13 = "978-0-7695-4521-9", bibdate = "Thu Aug 17 12:04:04 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Yang:2011:FME, author = "Liu Yang and Rezwana Karim and Vinod Ganapathy and Randy Smith", title = "Fast, memory-efficient regular expression matching with {NFA-OBDDs}", journal = j-COMP-NET-AMSTERDAM, volume = "55", number = "15", pages = "3376--3393", day = "27", month = oct, year = "2011", CODEN = "????", DOI = "https://doi.org/10.1016/j.comnet.2011.07.002", ISSN = "1389-1286 (print), 1872-7069 (electronic)", ISSN-L = "1389-1286", bibdate = "Sat Feb 4 10:22:52 MST 2012", bibsource = "http://www.sciencedirect.com/science/journal/13891286; https://www.math.utah.edu/pub/tex/bib/compnetamsterdam2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S1389128611002489", acknowledgement = ack-nhfb, fjournal = "Computer Networks", journal-URL = "http://www.sciencedirect.com/science/journal/13891286", } @InProceedings{Yoshida:2011:PCP, author = "S. Yoshida and T. Kida", title = "On Performance of Compressed Pattern Matching on {VF} Codes", crossref = "Storer:2011:DDC", pages = "486--486", year = "2011", DOI = "https://doi.org/10.1109/DCC.2011.89", bibdate = "Tue Feb 5 11:58:09 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5749543", acknowledgement = ack-nhfb, } @Article{Zheng:2011:SPM, author = "Kai Zheng and Hongbin Lu and Erich Nahum", title = "Scalable Pattern Matching on Multicore Platform via Dynamic Differentiated Distributed Detection ({D$^4$})", journal = j-IEEE-TRANS-COMPUT, volume = "60", number = "3", pages = "346--359", month = mar, year = "2011", CODEN = "ITCOB4", DOI = "https://doi.org/10.1109/TC.2010.89", ISSN = "0018-9340 (print), 1557-9956 (electronic)", ISSN-L = "0018-9340", bibdate = "Wed Jun 29 10:26:18 2011", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12", } @Article{Andoni:2012:SCE, author = "Alexandr Andoni and Robert Krauthgamer", title = "The smoothed complexity of edit distance", journal = j-TALG, volume = "8", number = "4", pages = "44:1--44:??", month = sep, year = "2012", CODEN = "????", DOI = "https://doi.org/10.1145/2344422.2344434", ISSN = "1549-6325 (print), 1549-6333 (electronic)", ISSN-L = "1549-6325", bibdate = "Sat Mar 2 10:10:02 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/talg.bib", abstract = "We initiate the study of the smoothed complexity of sequence alignment, by proposing a semi-random model of edit distance between two input strings, generated as follows: First, an adversary chooses two binary strings of length d and a longest common subsequence A of them. Then, every character is perturbed independently with probability p, except that A is perturbed in exactly the same way inside the two strings. We design two efficient algorithms that compute the edit distance on smoothed instances up to a constant factor approximation. The first algorithm runs in near-linear time, namely d$^{{1 + \epsilon }}$ for any fixed $ \epsilon > 0 $. The second one runs in time sublinear in $d$, assuming the edit distance is not too small. These approximation and runtime guarantees are significantly better than the bounds that were known for worst-case inputs. Our technical contribution is twofold. First, we rely on finding matches between substrings in the two strings, where two substrings are considered a match if their edit distance is relatively small, a prevailing technique in commonly used heuristics, such as PatternHunter of Ma et al. [2002]. Second, we effectively reduce the smoothed edit distance to a simpler variant of (worst-case) edit distance, namely, edit distance on permutations (a.k.a. Ulam's metric). We are thus able to build on algorithms developed for the Ulam metric, whose much better algorithmic guarantees usually do not carry over to general edit distance.", acknowledgement = ack-nhfb, articleno = "44", fjournal = "ACM Transactions on Algorithms (TALG)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J982", } @Article{Anonymous:2012:BRR, author = "Anonymous", title = "Book Review: {{\booktitle{Regular Expressions Cookbook}}, Jan Goyvaerts and Steven Levithan, Second edition, O'Reilly, ISBN 978-1-4493-1943-4}", journal = j-NETWORK-SECURITY, volume = "2012", number = "11", pages = "4--4", month = nov, year = "2012", CODEN = "NTSCF5", DOI = "https://doi.org/10.1016/S1353-4858(12)70100-9", ISSN = "1353-4858 (print), 1872-9371 (electronic)", ISSN-L = "1353-4858", bibdate = "Mon Dec 4 17:00:48 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/network-security.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S1353485812701009", acknowledgement = ack-nhfb, fjournal = "Network Security", journal-URL = "https://www.sciencedirect.com/journal/network-security", } @Article{Asperti:2012:CPD, author = "Andrea Asperti", title = "A Compact Proof of Decidability for Regular Expression Equivalence", journal = j-LECT-NOTES-COMP-SCI, volume = "7406", pages = "283--298", year = "2012", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-32347-8_19", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Dec 19 15:21:53 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs2012g.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/chapter/10.1007/978-3-642-32347-8_19/", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-32347-8", book-URL = "http://www.springerlink.com/content/978-3-642-32347-8", fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Bando:2012:SLR, author = "Masanori Bando and N. Sertac Artan and H. Jonathan Chao", title = "Scalable lookahead regular expression detection system for deep packet inspection", journal = j-IEEE-TRANS-NETWORKING, volume = "20", number = "3", pages = "699--714", month = jun, year = "2012", CODEN = "IEANEP", DOI = "https://doi.org/10.1109/TNET.2011.2181411", ISSN = "1063-6692 (print), 1558-2566 (electronic)", ISSN-L = "1063-6692", bibdate = "Mon Oct 22 11:13:33 MDT 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/ieeetransnetworking.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Regular expressions (RegExes) are widely used, yet their inherent complexity often limits the total number of RegExes that can be detected using a single chip for a reasonable throughput. This limit on the number of RegExes impairs the scalability of today's RegEx detection systems. The scalability of existing schemes is generally limited by the traditional detection paradigm based on per-character-state processing and state transition detection. The main focus of existing schemes is on optimizing the number of states and the required transitions, but not on optimizing the suboptimal character-based detection method. Furthermore, the potential benefits of allowing out-of-sequence detection, instead of detecting components of a RegEx in the order of appearance, have not been explored. Lastly, the existing schemes do not provide ways to adapt to the evolving RegExes. In this paper, we propose Lookahead Finite Automata (LaFA) to perform scalable RegEx detection. LaFA requires less memory due to these three contributions: (1) providing specialized and optimized detection modules to increase resource utilization; (2) systematically reordering the RegEx detection sequence to reduce the number of concurrent operations; (3) sharing states among automata for different RegExes to reduce resource requirements. Here, we demonstrate that LaFA requires an order of magnitude less memory compared to today's state-of-the-art RegEx detection systems. Using LaFA, a single-commodity field programmable gate array (FPGA) chip can accommodate up to 25 000 (25 k) RegExes. Based on the throughput of our LaFA prototype on FPGA, we estimate that a 34-Gb/s throughput can be achieved.", acknowledgement = ack-nhfb, fjournal = "IEEE\slash ACM Transactions on Networking", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J771", } @Article{Barcelo:2012:ELP, author = "Pablo Barcel{\'o} and Leonid Libkin and Anthony W. Lin and Peter T. Wood", title = "Expressive Languages for Path Queries over Graph-Structured Data", journal = j-TODS, volume = "37", number = "4", pages = "31:1--31:??", month = dec, year = "2012", CODEN = "ATDSD3", DOI = "https://doi.org/10.1145/2389241.2389250", ISSN = "0362-5915 (print), 1557-4644 (electronic)", ISSN-L = "0362-5915", bibdate = "Thu Dec 20 19:03:29 MST 2012", bibsource = "http://www.acm.org/pubs/contents/journals/tods/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tods.bib", abstract = "For many problems arising in the setting of graph querying (such as finding semantic associations in RDF graphs, exact and approximate pattern matching, sequence alignment, etc.), the power of standard languages such as the widely studied conjunctive regular path queries (CRPQs) is insufficient in at least two ways. First, they cannot output paths and second, more crucially, they cannot express relationships among paths. We thus propose a class of extended CRPQs, called ECRPQs, which add regular relations on tuples of paths, and allow path variables in the heads of queries. We provide several examples of their usefulness in querying graph structured data, and study their properties. We analyze query evaluation and representation of tuples of paths in the output by means of automata. We present a detailed analysis of data and combined complexity of queries, and consider restrictions that lower the complexity of ECRPQs to that of relational conjunctive queries. We study the containment problem, and look at further extensions with first-order features, and with nonregular relations that add arithmetic constraints on the lengths of paths and numbers of occurrences of labels.", acknowledgement = ack-nhfb, articleno = "31", fjournal = "ACM Transactions on Database Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J777", } @Article{Baron:2012:SPM, author = "Joshua Baron and Karim {El Defrawy} and Kirill Minkovich and Rafail Ostrovsky and Eric Tressler", title = "{5PM}: Secure Pattern Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "7485", pages = "222--240", year = "2012", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-32928-9_13", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Dec 19 15:23:35 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs2012h.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/chapter/10.1007/978-3-642-32928-9_13/", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-32928-9", book-URL = "http://www.springerlink.com/content/978-3-642-32928-9", fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Bille:2012:SMV, author = "Philip Bille and Inge Li G{\o}rtz and Hjalte Wedel Vildh{\o}j and David Kofoed Wind", title = "String matching with variable length gaps", journal = j-THEOR-COMP-SCI, volume = "443", number = "1", pages = "25--34", day = "20", month = jul, year = "2012", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2012.03.029", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jun 11 14:41:50 MDT 2012", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397512002915", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Blunschi:2012:SGS, author = "Lukas Blunschi and Claudio Jossen and Donald Kossmann and Magdalini Mori and Kurt Stockinger", title = "{SODA}: generating {SQL} for business users", journal = j-PROC-VLDB-ENDOWMENT, volume = "5", number = "10", pages = "932--943", month = jun, year = "2012", CODEN = "????", ISSN = "2150-8097", bibdate = "Tue Nov 6 16:43:13 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "The purpose of data warehouses is to enable business analysts to make better decisions. Over the years the technology has matured and data warehouses have become extremely successful. As a consequence, more and more data has been added to the data warehouses and their schemas have become increasingly complex. These systems still work great in order to generate pre-canned reports. However, with their current complexity, they tend to be a poor match for non tech-savvy business analysts who need answers to ad-hoc queries that were not anticipated. This paper describes the design, implementation, and experience of the SODA system (Search over DAta Warehouse). SODA bridges the gap between the business needs of analysts and the technical complexity of current data warehouses. SODA enables a Google-like search experience for data warehouses by taking keyword queries of business users and automatically generating executable SQL. The key idea is to use a graph pattern matching algorithm that uses the metadata model of the data warehouse. Our results with real data from a global player in the financial services industry show that SODA produces queries with high precision and recall, and makes it much easier for business users to interactively explore highly-complex data warehouses.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{Bremler-Barr:2012:AMM, author = "Anat Bremler-Barr and Yaron Koral", title = "Accelerating multipattern matching on compressed {HTTP} traffic", journal = j-IEEE-TRANS-NETWORKING, volume = "20", number = "3", pages = "970--983", month = jun, year = "2012", CODEN = "IEANEP", DOI = "https://doi.org/10.1109/TNET.2011.2172456", ISSN = "1063-6692 (print), 1558-2566 (electronic)", ISSN-L = "1063-6692", bibdate = "Mon Oct 22 11:13:33 MDT 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/ieeetransnetworking.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Current security tools, using ``signature-based'' detection, do not handle compressed traffic, whose market-share is constantly increasing. This paper focuses on compressed HTTP traffic. HTTP uses GZIP compression and requires some kind of decompression phase before performing a string matching. We present a novel algorithm, Aho--Corasick-based algorithm for Compressed HTTP (ACCH), that takes advantage of information gathered by the decompression phase in order to accelerate the commonly used Aho--Corasick pattern-matching algorithm. By analyzing real HTTP traffic and real Web application firewall signatures, we show that up to 84\% of the data can be skipped in its scan. Surprisingly, we show that it is faster to perform pattern matching on the compressed data, with the penalty of decompression, than on regular traffic. As far as we know, we are the first paper that analyzes the problem of ``on-the-fly'' multipattern matching on compressed HTTP traffic and suggest a solution.", acknowledgement = ack-nhfb, fjournal = "IEEE\slash ACM Transactions on Networking", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J771", } @Article{Breslauer:2012:CTW, author = "Dany Breslauer and Leszek G{\k{a}}sieniec and Roberto Grossi", title = "Constant-Time Word-Size String Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "7354", pages = "83--96", year = "2012", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-31265-6_7", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Dec 19 15:20:44 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs2012f.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/chapter/10.1007/978-3-642-31265-6_7/", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-31265-6", book-URL = "http://www.springerlink.com/content/978-3-642-31265-6", fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Bulling:2012:MRR, author = "Andreas Bulling and Jamie A. Ward and Hans Gellersen", title = "Multimodal recognition of reading activity in transit using body-worn sensors", journal = j-TAP, volume = "9", number = "1", pages = "2:1--2:??", month = mar, year = "2012", CODEN = "????", DOI = "https://doi.org/10.1145/2134203.2134205", ISSN = "1544-3558 (print), 1544-3965 (electronic)", ISSN-L = "1544-3558", bibdate = "Fri Mar 30 17:41:07 MDT 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tap.bib", abstract = "Reading is one of the most well-studied visual activities. Vision research traditionally focuses on understanding the perceptual and cognitive processes involved in reading. In this work we recognize reading activity by jointly analyzing eye and head movements of people in an everyday environment. Eye movements are recorded using an electrooculography (EOG) system; body movements using body-worn inertial measurement units. We compare two approaches for continuous recognition of reading: String matching (STR) that explicitly models the characteristic horizontal saccades during reading, and a support vector machine (SVM) that relies on 90 eye movement features extracted from the eye movement data. We evaluate both methods in a study performed with eight participants reading while sitting at a desk, standing, walking indoors and outdoors, and riding a tram. We introduce a method to segment reading activity by exploiting the sensorimotor coordination of eye and head movements during reading. Using person-independent training, we obtain an average precision for recognizing reading of 88.9\% (recall 72.3\%) using STR and of 87.7\% (recall 87.9\%) using SVM over all participants. We show that the proposed segmentation scheme improves the performance of recognizing reading events by more than 24\%. Our work demonstrates that the joint analysis of eye and body movements is beneficial for reading recognition and opens up discussion on the wider applicability of a multimodal recognition approach to other visual and physical activities.", acknowledgement = ack-nhfb, articleno = "2", fjournal = "ACM Transactions on Applied Perception (TAP)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J932", } @Article{Burcsi:2012:AJP, author = "P{\'e}ter Burcsi and Ferdinando Cicalese and Gabriele Fici and Zsuzsanna Lipt{\'a}k", title = "Algorithms for Jumbled Pattern Matching in Strings", journal = j-INT-J-FOUND-COMP-SCI, volume = "23", number = "2", pages = "357--374", month = feb, year = "2012", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S0129054112400175", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Sat Mar 24 15:27:30 MDT 2012", bibsource = "http://ejournals.wspc.com.sg/ijfcs/mkt/archive.shtml; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Campanelli:2012:PMS, author = "Matteo Campanelli and Domenico Cantone and Simone Faro and Emanuele Giaquinta", title = "Pattern Matching with Swaps in Practice", journal = j-INT-J-FOUND-COMP-SCI, volume = "23", number = "2", pages = "323--342", month = feb, year = "2012", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S0129054112400151", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Sat Mar 24 15:27:30 MDT 2012", bibsource = "http://ejournals.wspc.com.sg/ijfcs/mkt/archive.shtml; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Cantone:2012:ABM, author = "Domenico Cantone and Simone Faro and Emanuele Giaquinta", title = "Adapting {Boyer--Moore}-Like Algorithms for Searching {Huffman} Encoded Texts", journal = j-INT-J-FOUND-COMP-SCI, volume = "23", number = "2", pages = "343--356", month = feb, year = "2012", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S0129054112400163", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Sat Mar 24 15:27:30 MDT 2012", bibsource = "http://ejournals.wspc.com.sg/ijfcs/mkt/archive.shtml; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Champarnaud:2012:ARE, author = "Jean-Marc Champarnaud and Hadrien Jeanne and Ludovic Mignot", title = "Approximate Regular Expressions and Their Derivatives", journal = j-LECT-NOTES-COMP-SCI, volume = "7183", pages = "179--191", year = "2012", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-28332-1_16", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Dec 19 15:25:47 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs2012b.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/chapter/10.1007/978-3-642-28332-1_16/", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-28332-1", book-URL = "http://www.springerlink.com/content/978-3-642-28332-1", fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Clifford:2012:PMM, author = "Rapha{\"e}l Clifford and Markus Jalsenius and Ely Porat and Benjamin Sach", title = "Pattern Matching in Multiple Streams", journal = j-LECT-NOTES-COMP-SCI, volume = "7354", pages = "97--109", year = "2012", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-31265-6_8", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Dec 19 15:20:44 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs2012f.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/chapter/10.1007/978-3-642-31265-6_8/", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-31265-6", book-URL = "http://www.springerlink.com/content/978-3-642-31265-6", fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @TechReport{Cox:2012:REM, author = "Russ Cox", title = "Regular Expression Matching with a Trigram Index, or How {Google Code Search} worked", type = "Report", institution = "swtch.com", address = "Cambridge, MA, USA", month = jan, year = "2012", bibdate = "Tue Mar 27 11:39:17 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/plan9.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib; https://www.math.utah.edu/pub/tex/bib/virtual-machines.bib", note = "See also \cite{Thompson:1968:PTR,Kernighan:1999:REL,Cox:2007:REM,Cox:2009:REM,Cox:2010:REM}", URL = "http://swtch.com/~rsc/regexp/regexp4.html", acknowledgement = ack-nhfb, } @Article{Deng:2012:TPM, author = "Ziqiang Deng and Husheng Liao and Hongyu Gao", title = "Twig Pattern Matching Running on {XML} Streams", journal = j-LECT-NOTES-COMP-SCI, volume = "7234", pages = "35--42", year = "2012", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-29426-6_6", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Dec 19 15:18:10 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs2012c.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/chapter/10.1007/978-3-642-29426-6_6/", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-29426-6", book-URL = "http://www.springerlink.com/content/978-3-642-29426-6", fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Fan:2012:PGD, author = "Wenfei Fan and Xin Wang and Yinghui Wu", title = "Performance guarantees for distributed reachability queries", journal = j-PROC-VLDB-ENDOWMENT, volume = "5", number = "11", pages = "1304--1316", month = jul, year = "2012", CODEN = "????", ISSN = "2150-8097", bibdate = "Tue Nov 6 16:43:15 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "In the real world a graph is often fragmented and distributed across different sites. This highlights the need for evaluating queries on distributed graphs. This paper proposes distributed evaluation algorithms for three classes of queries: reachability for determining whether one node can reach another, bounded reachability for deciding whether there exists a path of a bounded length between a pair of nodes, and regular reachability for checking whether there exists a path connecting two nodes such that the node labels on the path form a string in a given regular expression. We develop these algorithms based on partial evaluation, to explore parallel computation. When evaluating a query Q on a distributed graph G, we show that these algorithms possess the following performance guarantees, no matter how G is fragmented and distributed: (1) each site is visited only once; (2) the total network traffic is determined by the size of Q and the fragmentation of G, independent of the size of G; and (3) the response time is decided by the largest fragment of G rather than the entire G. In addition, we show that these algorithms can be readily implemented in the MapReduce framework. Using synthetic and real-life data, we experimentally verify that these algorithms are scalable on large graphs, regardless of how the graphs are distributed.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{Faro:2012:FSA, author = "Simone Faro and Thierry Lecroq", title = "A Fast Suffix Automata Based Algorithm for Exact Online String Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "7381", pages = "149--158", year = "2012", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-31606-7_13", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Dec 19 15:21:20 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs2012f.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/chapter/10.1007/978-3-642-31606-7_13/", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-31606-7", book-URL = "http://www.springerlink.com/content/978-3-642-31606-7", fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Faro:2012:MSW, author = "Simone Faro and Thierry Lecroq", title = "A Multiple Sliding {Windows} Approach to Speed Up String Matching Algorithms", journal = j-LECT-NOTES-COMP-SCI, volume = "7276", pages = "172--183", year = "2012", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-30850-5_16", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Dec 19 15:19:01 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs2012d.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/chapter/10.1007/978-3-642-30850-5_16/", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-30850-5", book-URL = "http://www.springerlink.com/content/978-3-642-30850-5", fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Gawrychowski:2012:SEL, author = "Pawe{\l} Gawrychowski", title = "Simple and Efficient {LZW}-Compressed Multiple Pattern Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "7354", pages = "232--242", year = "2012", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-31265-6_19", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Dec 19 15:20:44 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs2012f.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/chapter/10.1007/978-3-642-31265-6_19/", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-31265-6", book-URL = "http://www.springerlink.com/content/978-3-642-31265-6", fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Gelade:2012:REC, author = "Wouter Gelade and Marc Gyssens and Wim Martens", title = "Regular Expressions with Counting: Weak versus Strong Determinism", journal = j-SIAM-J-COMPUT, volume = "41", number = "1", pages = "160--190", month = "????", year = "2012", CODEN = "SMJCAT", DOI = "https://doi.org/10.1137/100814196", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", bibdate = "Thu Feb 9 07:15:14 MST 2012", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/41/1; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://epubs.siam.org/sicomp/resource/1/smjcat/v41/i1/p160_s1", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", onlinedate = "January 31, 2012", } @Article{Gelade:2012:SCI, author = "Wouter Gelade and Frank Neven", title = "Succinctness of the Complement and Intersection of Regular Expressions", journal = j-TOCL, volume = "13", number = "1", pages = "4:1--4:??", month = jan, year = "2012", CODEN = "????", DOI = "https://doi.org/10.1145/2071368.2071372", ISSN = "1529-3785 (print), 1557-945X (electronic)", ISSN-L = "1529-3785", bibdate = "Thu Jan 26 16:08:06 MST 2012", bibsource = "http://www.acm.org/pubs/contents/journals/tocl/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tocl.bib", abstract = "We study the succinctness of the complement and intersection of regular expressions. In particular, we show that when constructing a regular expression defining the complement of a given regular expression, a double exponential size increase cannot be avoided. Similarly, when constructing a regular expression defining the intersection of a fixed and an arbitrary number of regular expressions, an exponential and double exponential size increase, respectively, cannot be avoided. All mentioned lower bounds improve the existing ones by one exponential and are tight in the sense that the target expression can be constructed in the corresponding time class, that is, exponential or double exponential time.", acknowledgement = ack-nhfb, articleno = "4", fjournal = "ACM Transactions on Computational Logic", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J773", } @Book{Goyvaerts:2012:REC, author = "Jan Goyvaerts and Steven Levithan", title = "Regular expressions cookbook", publisher = pub-ORA, address = pub-ORA:adr, edition = "Second", pages = "xiv + 594", year = "2012", ISBN = "1-4493-1943-2 (paperback)", ISBN-13 = "978-1-4493-1943-4 (paperback)", LCCN = "NLS PB8.212.757/6", bibdate = "Wed Nov 21 15:33:17 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/ora.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; library.ox.ac.uk:210/ADVANCE", acknowledgement = ack-nhfb, subject = "Computer programming; Text processing (Computer science)", tableofcontents = "Introduction to regular expressions \\ Basic regular expression skills \\ Programming with regular expressions \\ Validation and formatting \\ Words, lines, and special characters \\ Numbers \\ Source code and log files \\ URLs, paths, and Internet addresses \\ Markup and data formats", } @InProceedings{Grossi:2012:WTM, author = "Roberto Grossi and Giuseppe Ottaviano", title = "The wavelet trie: maintaining an indexed sequence of strings in compressed space", crossref = "Krotzsch:2012:PPA", pages = "203--214", year = "2012", DOI = "https://doi.org/10.1145/2213556.2213586", bibdate = "Tue Nov 6 11:31:12 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "An indexed sequence of strings is a data structure for storing a string sequence that supports random access, searching, range counting and analytics operations, both for exact matches and prefix search. String sequences lie at the core of column-oriented databases, log processing, and other storage and query tasks. In these applications each string can appear several times and the order of the strings in the sequence is relevant. The prefix structure of the strings is relevant as well: common prefixes are sought in strings to extract interesting features from the sequence. Moreover, space-efficiency is highly desirable as it translates directly into higher performance, since more data can fit in fast memory. We introduce and study the problem of compressed indexed sequence of strings, representing indexed sequences of strings in nearly-optimal compressed space, both in the static and dynamic settings, while preserving provably good performance for the supported operations. We present a new data structure for this problem, the Wavelet Trie, which combines the classical Patricia Trie with the Wavelet Tree, a succinct data structure for storing a compressed sequence. The resulting Wavelet Trie smoothly adapts to a sequence of strings that changes over time. It improves on the state-of-the-art compressed data structures by supporting a dynamic alphabet (i.e. the set of distinct strings) and prefix queries, both crucial requirements in the aforementioned applications, and on traditional indexes by reducing space occupancy to close to the entropy of the sequence.", acknowledgement = ack-nhfb, } @InProceedings{Groz:2012:DRE, author = "Benot{\^\i}t Groz and Sebastian Maneth and Slawek Staworko", title = "Deterministic regular expressions in linear time", crossref = "Krotzsch:2012:PPA", pages = "49--60", year = "2012", DOI = "https://doi.org/10.1145/2213556.2213566", bibdate = "Tue Nov 6 11:31:12 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Deterministic regular expressions are widely used in XML processing. For instance, all regular expressions in DTDs and XML Schemas are required to be deterministic. In this paper we show that determinism of a regular expression $e$ can be tested in linear time. The best known algorithms, based on the Glushkov automaton, require {$ O(\sigma |e|) $} time, where $ \sigma $ is the number of distinct symbols in $e$. We further show that matching a word $w$ against an expression $e$ can be achieved in combined linear time {$ O(|e| + |w|) $}, for a wide range of deterministic regular expressions: (i) star-free (for multiple input words), (ii) bounded-occurrence, i.e., expressions in which each symbol appears a bounded number of times, and (iii) bounded plus-depth, i.e., expressions in which the nesting depth of alternating plus (union) and concatenation symbols is bounded. Our algorithms use a new structural decomposition of the parse tree of $e$. For matching arbitrary deterministic regular expressions we present an {$ O(|e| + |w| \log \log |e|) $} time algorithm.", acknowledgement = ack-nhfb, } @Article{Grozea:2012:SMI, author = "Cristian Grozea and Florin Manea and Mike M{\"u}ller and Dirk Nowotka", title = "String Matching with Involutions", journal = j-LECT-NOTES-COMP-SCI, volume = "7445", pages = "106--117", year = "2012", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-32894-7_11", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Dec 19 15:22:44 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs2012g.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/chapter/10.1007/978-3-642-32894-7_11/", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-32894-7", book-URL = "http://www.springerlink.com/content/978-3-642-32894-7", fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Gulwani:2012:SDM, author = "Sumit Gulwani and William R. Harris and Rishabh Singh", title = "Spreadsheet data manipulation using examples", journal = j-CACM, volume = "55", number = "8", pages = "97--105", month = aug, year = "2012", CODEN = "CACMA2", DOI = "https://doi.org/10.1145/2240236.2240260", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Mon Aug 20 11:13:09 MDT 2012", bibsource = "http://www.acm.org/pubs/contents/journals/cacm/; https://www.math.utah.edu/pub/tex/bib/cacm2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Millions of computer end users need to perform tasks over large spreadsheet data, yet lack the programming knowledge to do such tasks automatically. We present a programming by example methodology that allows end users to automate such repetitive tasks. Our methodology involves designing a domain-specific language and developing a synthesis algorithm that can learn programs in that language from user-provided examples. We present instantiations of this methodology for particular domains of tasks: (a) syntactic transformations of strings using restricted forms of regular expressions, conditionals, and loops, (b) semantic transformations of strings involving lookup in relational tables, and (c) layout transformations on spreadsheet tables. We have implemented this technology as an add-in for the Microsoft Excel Spreadsheet system and have evaluated it successfully over several benchmarks picked from various Excel help forums.", acknowledgement = ack-nhfb, fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", } @Article{Hovland:2012:IPR, author = "Dag Hovland", title = "The inclusion problem for regular expressions", journal = j-J-COMP-SYS-SCI, volume = "78", number = "6", pages = "1795--1813", month = nov, year = "2012", CODEN = "JCSSBM", DOI = "https://doi.org/10.1016/j.jcss.2011.12.003", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:27:20 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0022000011001486", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Article{Hundt:2012:ETD, author = "Christian Hundt and Florian Wendland", title = "Efficient Two-Dimensional Pattern Matching with Scaling and Rotation and Higher-Order Interpolation", journal = j-LECT-NOTES-COMP-SCI, volume = "7354", pages = "124--137", year = "2012", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-31265-6_10", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Dec 19 15:20:44 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs2012f.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/chapter/10.1007/978-3-642-31265-6_10/", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-31265-6", book-URL = "http://www.springerlink.com/content/978-3-642-31265-6", fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Jiang:2012:SPM, author = "Kunpeng Jiang and Huifang Guo and Shengping Zhu and Julong Lan", title = "Static Patterns Matching for High Speed Networks", journal = j-LECT-NOTES-COMP-SCI, volume = "7473", pages = "15--22", year = "2012", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-34062-8_2", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Dec 19 15:23:20 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs2012h.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/chapter/10.1007/978-3-642-34062-8_2/", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-34062-8", book-URL = "http://www.springerlink.com/content/978-3-642-34062-8", fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Kiezun:2012:HSW, author = "Adam Kiezun and Vijay Ganesh and Shay Artzi and Philip J. Guo and Pieter Hooimeijer and Michael D. Ernst", title = "{HAMPI}: a solver for word equations over strings, regular expressions, and context-free grammars", journal = j-TOSEM, volume = "21", number = "4", pages = "25:1--25:??", month = nov, year = "2012", CODEN = "ATSMER", DOI = "https://doi.org/10.1145/2377656.2377662", ISSN = "1049-331X (print), 1557-7392 (electronic)", ISSN-L = "1049-331X", bibdate = "Sat Feb 2 06:46:47 MST 2013", bibsource = "http://www.acm.org/pubs/contents/journals/tosem/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tosem.bib", abstract = "Many automatic testing, analysis, and verification techniques for programs can be effectively reduced to a constraint-generation phase followed by a constraint-solving phase. This separation of concerns often leads to more effective and maintainable software reliability tools. The increasing efficiency of off-the-shelf constraint solvers makes this approach even more compelling. However, there are few effective and sufficiently expressive off-the-shelf solvers for string constraints generated by analysis of string-manipulating programs, so researchers end up implementing their own ad-hoc solvers. To fulfill this need, we designed and implemented Hampi, a solver for string constraints over bounded string variables. Users of Hampi specify constraints using regular expressions, context-free grammars, equality between string terms, and typical string operations such as concatenation and substring extraction. Hampi then finds a string that satisfies all the constraints or reports that the constraints are unsatisfiable. We demonstrate Hampi's expressiveness and efficiency by applying it to program analysis and automated testing. We used Hampi in static and dynamic analyses for finding SQL injection vulnerabilities in Web applications with hundreds of thousands of lines of code. We also used Hampi in the context of automated bug finding in C programs using dynamic systematic testing (also known as concolic testing). We then compared Hampi with another string solver, CFGAnalyzer, and show that Hampi is several times faster. Hampi's source code, documentation, and experimental data are available at \path=http://people.csail.mit.edu/akiezun/hampi=", acknowledgement = ack-nhfb, articleno = "25", fjournal = "ACM Transactions on Software Engineering and Methodology", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J790", } @Article{Klein:2012:SDM, author = "Shmuel T. Klein and Dana Shapira", title = "The String-to-Dictionary Matching Problem", journal = j-COMP-J, volume = "55", number = "11", pages = "1347--1356", month = nov, year = "2012", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/bxs004", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Thu Nov 1 11:25:36 MDT 2012", bibsource = "http://comjnl.oxfordjournals.org/content/55/11.toc; https://www.math.utah.edu/pub/tex/bib/compj2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://comjnl.oxfordjournals.org/content/55/11/1347.full.pdf+html", acknowledgement = ack-nhfb, fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", onlinedate = "February 17, 2012", } @Article{Krauss:2012:PPR, author = "Alexander Krauss and Tobias Nipkow", title = "Proof Pearl: Regular Expression Equivalence and Relation Algebra", journal = j-J-AUTOM-REASON, volume = "49", number = "1", pages = "95--106", month = jun, year = "2012", CODEN = "JAREEW", DOI = "https://doi.org/10.1007/s10817-011-9223-4", ISSN = "0168-7433 (print), 1573-0670 (electronic)", ISSN-L = "0168-7433", bibdate = "Sat Apr 2 10:51:00 MDT 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/jautomreason.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/s10817-011-9223-4", acknowledgement = ack-nhfb, ajournal = "J. Autom. Reason.", fjournal = "Journal of Automated Reasoning", journal-URL = "http://link.springer.com/journal/10817", } @Article{Kucherov:2012:CDP, author = "Gregory Kucherov and Yakov Nekrich and Tatiana Starikovskaya", title = "Cross-Document Pattern Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "7354", pages = "196--207", year = "2012", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-31265-6_16", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Dec 19 15:20:44 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs2012f.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/chapter/10.1007/978-3-642-31265-6_16/", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-31265-6", book-URL = "http://www.springerlink.com/content/978-3-642-31265-6", fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Kulekci:2012:FPM, author = "M. O{\u{g}}uzhan K{\"u}lekci and Jeffrey Scott Vitter and Bojian Xu", title = "Fast Pattern-Matching via $k$-bit Filtering Based Text Decomposition", journal = j-COMP-J, volume = "55", number = "1", pages = "62--68", month = jan, year = "2012", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/bxq090", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Thu Dec 22 12:46:32 MST 2011", bibsource = "http://comjnl.oxfordjournals.org/content/55/1.toc; https://www.math.utah.edu/pub/tex/bib/compj2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://comjnl.oxfordjournals.org/content/55/1/62.full.pdf+html", acknowledgement = ack-nhfb, fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", onlinedate = "December 20, 2010", } @Article{Kurz:2012:CLI, author = "Alexander Kurz and Tomoyuki Suzuki and Emilio Tuosto", title = "A Characterisation of Languages on Infinite Alphabets with Nominal Regular Expressions", journal = j-LECT-NOTES-COMP-SCI, volume = "7604", pages = "193--208", year = "2012", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-33475-7_14", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Dec 19 15:25:41 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs2012k.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/chapter/10.1007/978-3-642-33475-7_14/", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-33475-7", book-URL = "http://www.springerlink.com/content/978-3-642-33475-7", fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Labarre:2012:RBP, author = "Anthony Labarre", title = "Review of {{\booktitle{Combinatorial Pattern Matching Algorithms in Computational Biology using Perl and R}}, by Gabriel Valiente}", journal = j-SIGACT, volume = "43", number = "3", pages = "48--50", month = sep, year = "2012", CODEN = "SIGNDM", DOI = "https://doi.org/10.1145/2421096.2421107", ISSN = "0163-5700 (print), 1943-5827 (electronic)", ISSN-L = "0163-5700", bibdate = "Sun May 5 10:25:39 MDT 2013", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/s-plus.bib; https://www.math.utah.edu/pub/tex/bib/sigact.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGACT News", journal-URL = "https://dl.acm.org/loi/sigact", } @Article{Labarre:2012:RCP, author = "Anthony Labarre", title = "Review of {{\booktitle{Combinatorial Pattern Matching Algorithms in Computational Biology using Perl and R}}, by Gabriel Valiente}", journal = j-SIGACT, volume = "43", number = "3", pages = "48--50", month = sep, year = "2012", CODEN = "SIGNDM", DOI = "https://doi.org/10.1145/2421096.2421107", ISSN = "0163-5700 (print), 1943-5827 (electronic)", ISSN-L = "0163-5700", bibdate = "Sun May 5 10:25:39 MDT 2013", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/s-plus.bib; https://www.math.utah.edu/pub/tex/bib/sigact.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "ACM SIGACT News", journal-URL = "http://dl.acm.org/citation.cfm?id=J697", } @Article{LeBlond:2012:CPB, author = "Stevens {Le Blond} and Fabrice {Le Fessant} and Erwan {Le Merrer}", title = "Choosing partners based on availability in {P2P} networks", journal = j-TAAS, volume = "7", number = "2", pages = "25:1--25:??", month = jul, year = "2012", CODEN = "????", DOI = "https://doi.org/10.1145/2240166.2240175", ISSN = "1556-4665 (print), 1556-4703 (electronic)", ISSN-L = "1556-4665", bibdate = "Tue Nov 6 19:20:32 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/taas.bib", abstract = "Availability of applications or devices is known to be one of the most critical variables impacting the performances of software systems. We study in this article the problem of finding peers matching a given availability pattern in a peer-to-peer (P2P) system. Motivated by practical examples, we specify two formal problems of availability matching that arise in real applications: disconnection matching, where peers look for partners expected to disconnect at the same time, and presence matching, where peers look for partners expected to be online simultaneously in the future. As a scalable and inexpensive solution, we propose to use epidemic protocols for topology management; we provide corresponding metrics for both matching problems. We evaluated this solution by simulating two P2P applications, task scheduling and file storage, over a new trace of the eDonkey network, the largest one with availability information. We first proved the existence of regularity patterns in the sessions of 14M peers over 27 days. We also showed that, using only 7 days of history, a simple predictor could select predictable peers and successfully predicted their online periods for the next week. Finally, simulations showed that our simple solution provided good partners fast enough to match the needs of both applications, and that consequently, these applications performed as efficiently at a much lower cost. This solution is purely distributed as it does not rely on any central server or oracle to operate. We believe that this work will be useful for many P2P applications for which it has been shown that choosing good partners, based on their availability, drastically improves their performance and stability.", acknowledgement = ack-nhfb, articleno = "25", fjournal = "ACM Transactions on Autonomous and Adaptive Systems (TAAS)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1010", } @Article{Li:2012:MQG, author = "Dan Li and Xiaoshan Li and Volker Stolz", title = "Model querying with graphical notation of {QVT} relations", journal = j-SIGSOFT, volume = "37", number = "4", pages = "1--8", month = jul, year = "2012", CODEN = "SFENDP", DOI = "https://doi.org/10.1145/2237796.2237808", ISSN = "0163-5948 (print), 1943-5843 (electronic)", ISSN-L = "0163-5948", bibdate = "Wed Aug 1 17:16:14 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigsoft2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "As a standard high-level model transformation language, QVT Relations defines a graphical notation, which provides a concise, intuitive way to specify transformations. However, QVT Relations relies only on the textual language OCL for model querying, leading to verbose and complicated OCL expressions. Here, we present a graphical model query facility based on the checking semantics and pattern matching of QVT Relations. The query facility also borrows from QVT Relations the graphical notation. In addition we propose an approach to map the queries into XSLT to facilitate their execution. We have developed a tool for designing the queries and automatically generating the XSLT programs.", acknowledgement = ack-nhfb, fjournal = "ACM SIGSOFT Software Engineering Notes", journal-URL = "https://dl.acm.org/loi/sigsoft", } @Article{Li:2012:WHT, author = "Yinan Li and Jignesh M. Patel and Allison Terrell", title = "{WHAM}: a High-Throughput Sequence Alignment Method", journal = j-TODS, volume = "37", number = "4", pages = "28:1--28:??", month = dec, year = "2012", CODEN = "ATDSD3", DOI = "https://doi.org/10.1145/2389241.2389247", ISSN = "0362-5915 (print), 1557-4644 (electronic)", ISSN-L = "0362-5915", bibdate = "Thu Dec 20 19:03:29 MST 2012", bibsource = "http://www.acm.org/pubs/contents/journals/tods/; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tods.bib", abstract = "Over the last decade, the cost of producing genomic sequences has dropped dramatically due to the current so-called next-generation sequencing methods. However, these next-generation sequencing methods are critically dependent on fast and sophisticated data processing methods for aligning a set of query sequences to a reference genome using rich string matching models. The focus of this work is on the design, development and evaluation of a data processing system for this crucial ``short read alignment'' problem. Our system, called WHAM, employs hash-based indexing methods and bitwise operations for sequence alignments. It allows rich match models and it is significantly faster than the existing state-of-the-art methods. In addition, its relative speedup over the existing method is poised to increase in the future in which read sequence lengths will increase.", acknowledgement = ack-nhfb, articleno = "28", fjournal = "ACM Transactions on Database Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J777", } @Article{Lin:2012:AAA, author = "Jie Lin and Don Adjeroh", title = "All-Against-All Circular Pattern Matching", journal = j-COMP-J, volume = "55", number = "7", pages = "897--906", month = jul, year = "2012", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/bxr126", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Fri Jun 29 12:32:07 MDT 2012", bibsource = "http://comjnl.oxfordjournals.org/content/55/7.toc; https://www.math.utah.edu/pub/bibnet/authors/t/turing-alan-mathison.bib; https://www.math.utah.edu/pub/tex/bib/compj2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Special Focus on the Centenary of Alan Turing.", URL = "http://comjnl.oxfordjournals.org/content/55/7/897.full.pdf+html", acknowledgement = ack-nhfb, fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", onlinedate = "December 16, 2011", } @InProceedings{Losemann:2012:CEP, author = "Katja Losemann and Wim Martens", title = "The complexity of evaluating path expressions in {SPARQL}", crossref = "Krotzsch:2012:PPA", pages = "101--112", year = "2012", DOI = "https://doi.org/10.1145/2213556.2213573", bibdate = "Tue Nov 6 11:31:12 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The World Wide Web Consortium (W3C) recently introduced property paths in SPARQL 1.1, a query language for RDF data. Property paths allow SPARQL queries to evaluate regular expressions over graph data. However, they differ from standard regular expressions in several notable aspects. For example, they have a limited form of negation, they have numerical occurrence indicators as syntactic sugar, and their semantics on graphs is defined in a non-standard manner. We formalize the W3C semantics of property paths and investigate various query evaluation problems on graphs. More specifically, let x and y be two nodes in an edge-labeled graph and r be an expression. We study the complexities of (1) deciding whether there exists a path from x to y that matches r and (2) counting how many paths from x to y match r. Our main results show that, compared to an alternative semantics of regular expressions on graphs, the complexity of (1) and (2) under W3C semantics is significantly higher. Whereas the alternative semantics remains in polynomial time for large fragments of expressions, the W3C semantics makes problems (1) and (2) intractable almost immediately. As a side-result, we prove that the membership problem for regular expressions with numerical occurrence indicators and negation is in polynomial time.", acknowledgement = ack-nhfb, } @Article{Marschall:2012:PAA, author = "Tobias Marschall and Inke Herms and Hans-Michael Kaltenbach and Sven Rahmann", title = "Probabilistic Arithmetic Automata and Their Applications", journal = j-TCBB, volume = "9", number = "6", pages = "1737--1750", month = nov, year = "2012", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2012.109", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Wed Dec 19 17:33:56 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "We present a comprehensive review on probabilistic arithmetic automata (PAAs), a general model to describe chains of operations whose operands depend on chance, along with two algorithms to numerically compute the distribution of the results of such probabilistic calculations. PAAs provide a unifying framework to approach many problems arising in computational biology and elsewhere. We present five different applications, namely (1) pattern matching statistics on random texts, including the computation of the distribution of occurrence counts, waiting times, and clump sizes under hidden Markov background models; (2) exact analysis of window-based pattern matching algorithms; (3) sensitivity of filtration seeds used to detect candidate sequence alignments; (4) length and mass statistics of peptide fragments resulting from enzymatic cleavage reactions; and (5) read length statistics of 454 and IonTorrent sequencing reads. The diversity of these applications indicates the flexibility and unifying character of the presented framework. While the construction of a PAA depends on the particular application, we single out a frequently applicable construction method: We introduce deterministic arithmetic automata (DAAs) to model deterministic calculations on sequences, and demonstrate how to construct a PAA from a given DAA and a finite-memory random text model. This procedure is used for all five discussed applications and greatly simplifies the construction of PAAs. Implementations are available as part of the MoSDi package. Its application programming interface facilitates the rapid development of new applications based on the PAA framework.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", } @Article{Martens:2012:DAX, author = "Wim Martens and Matthias Niewerth and Frank Neven and Thomas Schwentick", title = "Developing and analyzing {XSDs} through {BonXai}", journal = j-PROC-VLDB-ENDOWMENT, volume = "5", number = "12", pages = "1994--1997", month = aug, year = "2012", CODEN = "????", ISSN = "2150-8097", bibdate = "Tue Nov 6 16:43:21 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "BonXai is a versatile schema specification language expressively equivalent to XML Schema. It is not intended as a replacement for XML Schema but it can serve as an additional, user-friendly front-end. It offers a simple way and a lightweight syntax to specify the context of elements based on regular expressions rather than on types. In this demo we show the front-end capabilities of BonXai and exemplify its potential to offer a novel way to view existing XML Schema Definitions. In particular, we present several usage scenarios specifically targeted to showcase the ease of specifying, modifying, and understanding XML Schema Definitions through BonXai.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{Moore:2012:MLF, author = "J. Strother Moore", title = "Meta-level features in an industrial-strength theorem prover", journal = j-SIGPLAN, volume = "47", number = "1", pages = "425--426", month = jan, year = "2012", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2103621.2103707", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Thu Mar 15 18:16:55 MDT 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/common-lisp.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The ACL2 theorem prover---the current incarnation of `the' Boyer--Moore theorem prover---is a theorem prover for an extension of a first-order, applicative subset of Common Lisp. The ACL2 system provides a useful specification and modeling language as well as a useful mechanical theorem proving environment. ACL2 is in use at several major microprocessor manufacturers to verify functional correctness of important components of commercial designs. This talk explores the design of ACL2 and the tradeoffs that have turned out to be pivotal to its success.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "https://dl.acm.org/loi/sigplan", remark = "POPL '12 conference proceedings.", } @Article{Moraru:2012:EPM, author = "Iulian Moraru and David G. Andersen", title = "Exact pattern matching with feed-forward {Bloom} filters", journal = j-ACM-J-EXP-ALGORITHMICS, volume = "17", number = "??", pages = "3.4:1--3.4:??", year = "2012", CODEN = "????", DOI = "https://doi.org/10.1145/2133803.2330085", ISSN = "1084-6654", bibdate = "Wed Jan 21 07:42:23 MST 2015", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/jea.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "This article presents a new, memory efficient and cache-optimized algorithm for simultaneously searching for a large number of patterns in a very large corpus. This algorithm builds upon the Rabin--Karp string search algorithm and incorporates a new type of Bloom filter that we call a feed-forward Bloom filter. While it retains the asymptotic time complexity of previous multiple pattern matching algorithms, we show that this technique, along with a CPU architecture-aware design of the Bloom filter, can provide speed-ups between $ 2 \times $ and $ 30 \times $, and memory consumption reductions as large as $ 50 \times $ when compared with grep. Our algorithm is also well suited for implementations on GPUs: A modern GPU can search for 3 million patterns at a rate of 580MB/s, and for 100 million patterns (a prohibitive number for traditional algorithms) at a rate of 170MB/s.", acknowledgement = ack-nhfb, articleno = "3.4", fjournal = "Journal of Experimental Algorithmics (JEA)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J430", } @Article{Moreira:2012:DRE, author = "Nelma Moreira and David Pereira and Sim{\~a}o Melo de Sousa", title = "Deciding Regular Expressions (In-){Equivalence} in {Coq}", journal = j-LECT-NOTES-COMP-SCI, volume = "7560", pages = "98--113", year = "2012", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-33314-9_7", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Dec 19 15:24:57 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs2012j.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/chapter/10.1007/978-3-642-33314-9_7/", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-33314-9", book-URL = "http://www.springerlink.com/content/978-3-642-33314-9", fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Neatherway:2012:TBA, author = "Robin P. Neatherway and Steven J. Ramsay and Chih-Hao Luke Ong", title = "A traversal-based algorithm for higher-order model checking", journal = j-SIGPLAN, volume = "47", number = "9", pages = "353--364", month = sep, year = "2012", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2398856.2364578", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Thu Nov 15 16:40:19 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Higher-order model checking --- the model checking of trees generated by higher-order recursion schemes (HORS) --- is a natural generalisation of finite-state and pushdown model checking. Recent work has shown that it can serve as a basis for software model checking for functional languages such as ML and Haskell. In this paper, we introduce higher-order recursion schemes with cases (HORSC), which extend HORS with a definition-by-cases construct (to express program branching based on data) and non-determinism (to express abstractions of behaviours). This paper is a study of the universal HORSC model checking problem for deterministic trivial automata: does the automaton accept every tree in the tree language generated by the given HORSC? We first characterise the model checking problem by an intersection type system extended with a carefully restricted form of union types. We then present an algorithm for deciding the model checking problem, which is based on the notion of traversals induced by the fully abstract game semantics of these schemes, but presented as a goal-directed construction of derivations in the intersection and union type system. We view HORSC model checking as a suitable backend engine for an approach to verifying functional programs. We have implemented the algorithm in a tool called TravMC, and demonstrated its effectiveness on a test suite of programs, including abstract models of functional programs obtained via an abstraction-refinement procedure from pattern-matching recursion schemes.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "ICFP '12 conference proceedings.", } @Article{Oh:2012:MTS, author = "Doohwan Oh and Won W. Ro", title = "Multi-Threading and Suffix Grouping on Massive Multiple Pattern Matching Algorithm", journal = j-COMP-J, volume = "55", number = "11", pages = "1331--1346", month = nov, year = "2012", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/bxs002", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Thu Nov 1 11:25:36 MDT 2012", bibsource = "http://comjnl.oxfordjournals.org/content/55/11.toc; https://www.math.utah.edu/pub/tex/bib/compj2010.bib; https://www.math.utah.edu/pub/tex/bib/multithreading.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://comjnl.oxfordjournals.org/content/55/11/1331.full.pdf+html", acknowledgement = ack-nhfb, fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", onlinedate = "February 2, 2012", } @Article{Pandey:2012:PDS, author = "Kusum Lata Pandey and Suneeta Agarwal and Sanjay Misra and Rajesh Prasad", title = "Plagiarism Detection in Software Using Efficient String Matching", journal = j-LECT-NOTES-COMP-SCI, volume = "7336", pages = "147--156", year = "2012", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-31128-4_11", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Dec 19 15:20:20 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs2012e.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/chapter/10.1007/978-3-642-31128-4_11/", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-31128-4", book-URL = "http://www.springerlink.com/content/978-3-642-31128-4", fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Pao:2012:MSS, author = "Derek Pao and Xing Wang", title = "Multi-Stride String Searching for High-Speed Content Inspection", journal = j-COMP-J, volume = "55", number = "10", pages = "1216--1231", month = oct, year = "2012", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/bxs093", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Fri Oct 26 08:44:19 MDT 2012", bibsource = "http://comjnl.oxfordjournals.org/content/55/10.toc; https://www.math.utah.edu/pub/tex/bib/compj2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://comjnl.oxfordjournals.org/content/55/10/1216.full.pdf+html", acknowledgement = ack-nhfb, fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", onlinedate = "July 12, 2012", } @Article{Peng:2012:TBN, author = "Kunyang Peng and Qunfeng Dong", title = "{TCAM}-based {NFA} implementation", journal = j-SIGMETRICS, volume = "40", number = "1", pages = "379--380", month = jun, year = "2012", CODEN = "????", DOI = "https://doi.org/10.1145/2318857.2254802", ISSN = "0163-5999 (print), 1557-9484 (electronic)", ISSN-L = "0163-5999", bibdate = "Fri Nov 9 11:06:39 MST 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigmetrics.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Regular expression matching as the core packet inspection engine of network systems has long been striving to be both fast in matching speed (like DFA) and scalable in storage space (like NFA). Recently, ternary content addressable memory (TCAM) has been investigated as a promising way out, by implementing DFA using TCAM for regular express matching. In this paper, we present the first method for implementing NFA using TCAM. Through proper TCAM encoding, our method matches each input byte with one single TCAM lookup --- operating at precisely the same speed as DFA, while using a number of TCAM entries that can be close to NFA size. These properties make our method an important step along a new path --- TCAM-based NFA implementation --- towards the long-standing goal of fast and scalable regular expression matching.", acknowledgement = ack-nhfb, fjournal = "ACM SIGMETRICS Performance Evaluation Review", journal-URL = "http://portal.acm.org/toc.cfm?id=J618", } @Article{Salmela:2012:ACB, author = "Leena Salmela", title = "Average complexity of backward $q$-gram string matching algorithms", journal = j-INFO-PROC-LETT, volume = "112", number = "11", pages = "433--437", day = "15", month = jun, year = "2012", CODEN = "IFPLAT", DOI = "https://doi.org/10.1016/j.ipl.2012.02.010", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon May 21 07:12:59 MDT 2012", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0020019012000592", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Schafer:2012:DCH, author = "Benjamin Carrion Schafer and Kazutoshi Wakabayashi", title = "Divide and conquer high-level synthesis design space exploration", journal = j-TODAES, volume = "17", number = "3", pages = "29:1--29:??", month = jun, year = "2012", CODEN = "ATASFO", DOI = "https://doi.org/10.1145/2209291.2209302", ISSN = "1084-4309 (print), 1557-7309 (electronic)", ISSN-L = "1084-4309", bibdate = "Tue Jul 31 16:58:51 MDT 2012", bibsource = "http://www.acm.org/pubs/contents/journals/todaes/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/todaes.bib", abstract = "A method to accelerate the Design Space Exploration (DSE) of behavioral descriptions for high-level synthesis based on a divide and conquer method called Divide and Conquer Exploration Algorithm (DC-ExpA) is presented. DC-ExpA parses an untimed behavioral description given in C or SystemC and clusters interdependent operations which are in turn explored independently by inserting synthesis directives automatically in the source code. The method then continues by combining the exploration results to obtain only Pareto-optimal designs. This method accelerates the design space exploration considerably and is compared against two previous methods: an Adaptive Simulated Annealer Exploration Algorithm (ASA-ExpA) that shows good optimality at high runtimes, and a pattern matching method called Clustering Design Space Exploration Acceleration (CDS-ExpA) that is fast but suboptimal. Our proposed method is orthogonal to previous exploration methods that focus on the exploration of resource constraints, allocation, binding, and/or scheduling. Our proposed method on contrary sets local synthesis directives that decide upon the overall architectural structure of the design (e.g., mapping certain arrays to memories or registers). Results show that DC-ExpA explores the design space on average 61\% faster than ASA-ExpA, obtaining comparable results indicated by several quality indicators, for example, distance to reference Pareto-front, hypervolume, and Pareto dominance. Compared to CDS-ExpA it is 69\% slower, but obtains much betters results compared to the same quality indicators.", acknowledgement = ack-nhfb, articleno = "29", fjournal = "ACM Transactions on Design Automation of Electronic Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J776", } @Article{Schmid:2012:ICR, author = "Markus L. Schmid", title = "Inside the Class of {REGEX} Languages", journal = j-LECT-NOTES-COMP-SCI, volume = "7410", pages = "73--84", year = "2012", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-31653-1_8", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Dec 19 15:21:58 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs2012g.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/chapter/10.1007/978-3-642-31653-1_8/", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-31653-1", book-URL = "http://www.springerlink.com/content/978-3-642-31653-1", fjournal = "Lecture Notes in Computer Science", } @Article{Singh:2012:LSS, author = "Rishabh Singh and Sumit Gulwani", title = "Learning semantic string transformations from examples", journal = j-PROC-VLDB-ENDOWMENT, volume = "5", number = "8", pages = "740--751", month = apr, year = "2012", CODEN = "????", ISSN = "2150-8097", bibdate = "Tue Nov 6 16:43:10 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "We address the problem of performing semantic transformations on strings, which may represent a variety of data types (or their combination) such as a column in a relational table, time, date, currency, etc. Unlike syntactic transformations, which are based on regular expressions and which interpret a string as a sequence of characters, semantic transformations additionally require exploiting the semantics of the data type represented by the string, which may be encoded as a database of relational tables. Manually performing such transformations on a large collection of strings is error prone and cumbersome, while programmatic solutions are beyond the skill-set of end-users. We present a programming by example technology that allows end-users to automate such repetitive tasks. We describe an expressive transformation language for semantic manipulation that combines table lookup operations and syntactic manipulations. We then present a synthesis algorithm that can learn all transformations in the language that are consistent with the user-provided set of input-output examples. We have implemented this technology as an add-in for the Microsoft Excel Spreadsheet system and have evaluated it successfully over several benchmarks picked from various Excel help-forums.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{Steele:2012:PLL, author = "Guy L. {Steele, Jr.}", title = "Programming language life cycles", journal = j-SIGADA-LETTERS, volume = "32", number = "3", pages = "95--96", month = dec, year = "2012", CODEN = "AALEE5", DOI = "https://doi.org/10.1145/2402709.2402705", ISSN = "1094-3641 (print), 1557-9476 (electronic)", ISSN-L = "1094-3641", bibdate = "Sun May 5 10:05:12 MDT 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigada.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "HILT '12 conference proceedings.", abstract = "New programming languages keep getting invented, and old languages (most of them) eventually die. Many languages are eventually reduced to, if anything, a single surviving slogan or idea. (Examples: COBOL = programs look like English; SNOBOL = pattern matching on strings.) How do ideas about what programmers want or need to do drive decisions made by language designers? We'll look at some of these ideas, and also at the origin, evolution, and possible destinations of certain ideas pursued during the development of the Fortress programming language, speculating on the forces that drive these life cycles.", acknowledgement = ack-nhfb, fjournal = "ACM SIGAda Ada Letters", journal-URL = "https://dl.acm.org/loi/sigada", } @Article{Sun:2012:ESM, author = "Zhao Sun and Hongzhi Wang and Haixun Wang and Bin Shao and Jianzhong Li", title = "Efficient subgraph matching on billion node graphs", journal = j-PROC-VLDB-ENDOWMENT, volume = "5", number = "9", pages = "788--799", month = may, year = "2012", CODEN = "????", ISSN = "2150-8097", bibdate = "Tue Nov 6 16:43:11 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "The ability to handle large scale graph data is crucial to an increasing number of applications. Much work has been dedicated to supporting basic graph operations such as subgraph matching, reachability, regular expression matching, etc. In many cases, graph indices are employed to speed up query processing. Typically, most indices require either super-linear indexing time or super-linear indexing space. Unfortunately, for very large graphs, super-linear approaches are almost always infeasible. In this paper, we study the problem of subgraph matching on billion-node graphs. We present a novel algorithm that supports efficient subgraph matching for graphs deployed on a distributed memory store. Instead of relying on super-linear indices, we use efficient graph exploration and massive parallel computing for query processing. Our experimental results demonstrate the feasibility of performing subgraph matching on web-scale graph data.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{TranconyWidemann:2012:PPMa, author = "Baltasar {Tranc{\'o}n y Widemann} and Markus Lepper", title = "{Paisley}: Pattern Matching {\`a} la Carte", journal = j-LECT-NOTES-COMP-SCI, volume = "7307", pages = "240--247", year = "2012", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-30476-7_16", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Dec 19 15:19:43 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs2012e.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/chapter/10.1007/978-3-642-30476-7_16/", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-30476-7", book-URL = "http://www.springerlink.com/content/978-3-642-30476-7", fjournal = "Lecture Notes in Computer Science", } @Article{TranconyWidemann:2012:PPMb, author = "Baltasar {Tranc{\'o}n y Widemann} and Markus Lepper", title = "{Paisley}: Pattern Matching {\`a} la Carte", journal = j-LECT-NOTES-COMP-SCI, volume = "7307", pages = "240--247", year = "2012", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-30476-7_16", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Dec 19 15:19:43 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs2012e.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/chapter/10.1007/978-3-642-30476-7_16/", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-30476-7", book-URL = "http://www.springerlink.com/content/978-3-642-30476-7", fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Tumeo:2012:ACS, author = "Antonino Tumeo and Oreste Villa and Daniel G. Chavarria-Miranda", title = "{Aho--Corasick} String Matching on Shared and Distributed-Memory Parallel Architectures", journal = j-IEEE-TRANS-PAR-DIST-SYS, volume = "23", number = "3", pages = "436--443", month = mar, year = "2012", CODEN = "ITDSEO", DOI = "https://doi.org/10.1109/TPDS.2011.181", ISSN = "1045-9219 (print), 1558-2183 (electronic)", ISSN-L = "1045-9219", bibdate = "Thu Mar 01 14:48:10 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranspardistsys.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Parallel and Distributed Systems", journal-URL = "http://www.computer.org/tpds/archives.htm", } @Article{Valgenti:2012:GGH, author = "Victor C. Valgenti and Jatin Chhugani and Yan Sun and Nadathur Satish and Min Sik Kim and Changkyu Kim", title = "{GPP}-Grep: High-Speed Regular Expression Processing Engine on General Purpose Processors", journal = j-LECT-NOTES-COMP-SCI, volume = "7462", pages = "334--353", year = "2012", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-33338-5_17", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", bibdate = "Wed Dec 19 15:23:06 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs2012h.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/chapter/10.1007/978-3-642-33338-5_17/", acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-33338-5", book-URL = "http://www.springerlink.com/content/978-3-642-33338-5", fjournal = "Lecture Notes in Computer Science", journal-URL = "http://link.springer.com/bookseries/558", } @Article{Varol:2012:HMA, author = "Cihan Varol and Coskun Bayrak", title = "Hybrid Matching Algorithm for Personal Names", journal = j-JDIQ, volume = "3", number = "4", pages = "8:1--8:??", month = sep, year = "2012", CODEN = "????", DOI = "https://doi.org/10.1145/2348828.2348830", ISSN = "1936-1955", bibdate = "Thu Nov 8 18:27:14 MST 2012", bibsource = "http://www.acm.org/pubs/contents/journals/jdqi/; https://www.math.utah.edu/pub/tex/bib/jdiq.bib; https://www.math.utah.edu/pub/tex/bib/spell.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Companies acquire personal information from phone, World Wide Web, or email in order to sell or send an advertisement about their product. However, when this information is acquired, moved, copied, or edited, the data may lose its quality. Often, the use of data administrators or a tool that has limited capabilities to correct the mistyped information can cause many problems. Moreover, most of the correction techniques are particularly implemented for the words used in daily conversations. Since personal names have different characteristics compared to general text, a hybrid matching algorithm (PNRS) which employs phonetic encoding, string matching and statistical facts to provide a possible candidate for misspelled names is developed. At the end, the efficiency of the proposed algorithm is compared with other well known spelling correction techniques.", acknowledgement = ack-nhfb, articleno = "8", fjournal = "Journal of Data and Information Quality (JDIQ)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1191", } @Article{Veanes:2012:SFS, author = "Margus Veanes and Pieter Hooimeijer and Benjamin Livshits and David Molnar and Nikolaj Bjorner", title = "Symbolic finite state transducers: algorithms and applications", journal = j-SIGPLAN, volume = "47", number = "1", pages = "137--150", month = jan, year = "2012", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2103621.2103674", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Thu Mar 15 18:16:55 MDT 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Finite automata and finite transducers are used in a wide range of applications in software engineering, from regular expressions to specification languages. We extend these classic objects with symbolic alphabets represented as parametric theories. Admitting potentially infinite alphabets makes this representation strictly more general and succinct than classical finite transducers and automata over strings. Despite this, the main operations, including composition, checking that a transducer is single-valued, and equivalence checking for single-valued symbolic finite transducers are effective given a decision procedure for the background theory. We provide novel algorithms for these operations and extend composition to symbolic transducers augmented with registers. Our base algorithms are unusual in that they are nonconstructive, therefore, we also supply a separate model generation algorithm that can quickly find counterexamples in the case two symbolic finite transducers are not equivalent. The algorithms give rise to a complete decidable algebra of symbolic transducers. Unlike previous work, we do not need any syntactic restriction of the formulas on the transitions, only a decision procedure. In practice we leverage recent advances in satisfiability modulo theory (SMT) solvers. We demonstrate our techniques on four case studies, covering a wide range of applications. Our techniques can synthesize string pre-images in excess of 8,000 bytes in roughly a minute, and we find that our new encodings significantly outperform previous techniques in succinctness and speed of analysis.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "POPL '12 conference proceedings.", } @Article{Volanschi:2012:PMM, author = "Nic Volanschi", title = "Pattern matching for the masses using custom notations", journal = j-SCI-COMPUT-PROGRAM, volume = "77", number = "5", pages = "609--635", day = "1", month = may, year = "2012", CODEN = "SCPGD4", DOI = "https://doi.org/10.1016/j.scico.2011.12.002", ISSN = "0167-6423 (print), 1872-7964 (electronic)", ISSN-L = "0167-6423", bibdate = "Wed Feb 29 07:03:02 MST 2012", bibsource = "http://www.sciencedirect.com/science/journal/01676423; https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0167642311002243", acknowledgement = ack-nhfb, fjournal = "Science of Computer Programming", journal-URL = "http://www.sciencedirect.com/science/journal/01676423", } @Article{Wang:2012:GRE, author = "Yu Wang and Yang Xiang and Wanlei Zhou and Shunzheng Yu", title = "Generating regular expression signatures for network traffic classification in trusted network management", journal = j-J-NETW-COMPUT-APPL, volume = "35", number = "3", pages = "992--1000", month = may, year = "2012", CODEN = "JNCAF3", ISSN = "1084-8045 (print), 1095-8592 (electronic)", ISSN-L = "1084-8045", bibdate = "Wed Jan 28 15:44:17 MST 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/jnetwcomputappl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S1084804511000713", acknowledgement = ack-nhfb, ajournal = "J. Netw. Comput. Appl.", fjournal = "Journal of Network and Computer Applications", journal-URL = "http://www.sciencedirect.com/science/journal/10848045", } @Article{Wang:2012:RCM, author = "Shu-Lin Wang and Yi-Hai Zhu and Wei Jia and De-Shuang Huang", title = "Robust Classification Method of Tumor Subtype by Using Correlation Filters", journal = j-TCBB, volume = "9", number = "2", pages = "580--591", month = mar, year = "2012", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2011.135", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Thu Jan 26 16:30:44 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "Tumor classification based on Gene Expression Profiles (GEPs), which is of great benefit to the accurate diagnosis and personalized treatment for different types of tumor, has drawn a great attention in recent years. This paper proposes a novel tumor classification method based on correlation filters to identify the overall pattern of tumor subtype hidden in differentially expressed genes. Concretely, two correlation filters, i.e., Minimum Average Correlation Energy (MACE) and Optimal Tradeoff Synthetic Discriminant Function (OTSDF), are introduced to determine whether a test sample matches the templates synthesized for each subclass. The experiments on six publicly available data sets indicate that the proposed method is robust to noise, and can more effectively avoid the effects of dimensionality curse.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", } @Article{Yang:2012:HPC, author = "Yi-Hua Edward Yang and Viktor K. Prasanna", title = "High-Performance and Compact Architecture for Regular Expression Matching on {FPGA}", journal = j-IEEE-TRANS-COMPUT, volume = "61", number = "7", pages = "1013--1025", month = jul, year = "2012", CODEN = "ITCOB4", DOI = "https://doi.org/10.1109/TC.2011.129", ISSN = "0018-9340 (print), 1557-9956 (electronic)", ISSN-L = "0018-9340", bibdate = "Fri Jul 27 08:32:31 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12", } @Article{Yun:2012:ETB, author = "SangKyun Yun", title = "An Efficient {TCAM}-Based Implementation of Multipattern Matching Using Covered State Encoding", journal = j-IEEE-TRANS-COMPUT, volume = "61", number = "2", pages = "213--221", month = feb, year = "2012", CODEN = "ITCOB4", DOI = "https://doi.org/10.1109/TC.2010.273", ISSN = "0018-9340 (print), 1557-9956 (electronic)", ISSN-L = "0018-9340", bibdate = "Fri Jan 13 17:55:10 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12", } @Article{Zeng:2012:CSB, author = "Qiang Zeng and Hai Zhuge", title = "Comments on {``Stack-based Algorithms for Pattern Matching on DAGs''}", journal = j-PROC-VLDB-ENDOWMENT, volume = "5", number = "7", pages = "668--679", month = mar, year = "2012", CODEN = "????", ISSN = "2150-8097", bibdate = "Tue Nov 6 16:43:09 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "The paper ``Stack-based Algorithms for Pattern Matching on DAGs'' generalizes the classical holistic twig join algorithms and proposes PathStackD, TwigStackD and DagStackD to respectively evaluate path, twig and DAG pattern queries on directed acyclic graphs. In this paper, we investigate the major results of that paper, pointing out several discrepancies and proposing solutions to resolving them. We show that the original algorithms do not find particular types of query solutions that are common in practice. We also analyze the effect of an underlying assumption on the correctness of the algorithms and discuss the pre-filtering process that the original work proposes to prune redundant nodes. Our experimental study on both real and synthetic data substantiates our conclusions.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{Zhai:2012:MML, author = "Deming Zhai and Hong Chang and Shiguang Shan and Xilin Chen and Wen Gao", title = "Multiview Metric Learning with Global Consistency and Local Smoothness", journal = j-TIST, volume = "3", number = "3", pages = "53:1--53:??", month = may, year = "2012", CODEN = "????", DOI = "https://doi.org/10.1145/2168752.2168767", ISSN = "2157-6904 (print), 2157-6912 (electronic)", ISSN-L = "2157-6904", bibdate = "Tue Nov 6 18:47:23 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tist.bib", abstract = "In many real-world applications, the same object may have different observations (or descriptions) from multiview observation spaces, which are highly related but sometimes look different from each other. Conventional metric-learning methods achieve satisfactory performance on distance metric computation of data in a single-view observation space, but fail to handle well data sampled from multiview observation spaces, especially those with highly nonlinear structure. To tackle this problem, we propose a new method called Multiview Metric Learning with Global consistency and Local smoothness (MVML-GL) under a semisupervised learning setting, which jointly considers global consistency and local smoothness. The basic idea is to reveal the shared latent feature space of the multiview observations by embodying global consistency constraints and preserving local geometric structures. Specifically, this framework is composed of two main steps. In the first step, we seek a global consistent shared latent feature space, which not only preserves the local geometric structure in each space but also makes those labeled corresponding instances as close as possible. In the second step, the explicit mapping functions between the input spaces and the shared latent space are learned via regularized locally linear regression. Furthermore, these two steps both can be solved by convex optimizations in closed form. Experimental results with application to manifold alignment on real-world datasets of pose and facial expression demonstrate the effectiveness of the proposed method.", acknowledgement = ack-nhfb, articleno = "53", fjournal = "ACM Transactions on Intelligent Systems and Technology (TIST)", journal-URL = "http://portal.acm.org/citation.cfm?id=J1318", } @Article{Zhou:2012:PSG, author = "Yahan Zhou and Haibin Huang and Li-Yi Wei and Rui Wang", title = "Point sampling with general noise spectrum", journal = j-TOG, volume = "31", number = "4", pages = "76:1--76:11", month = jul, year = "2012", CODEN = "ATGRDF", ISSN = "0730-0301 (print), 1557-7368 (electronic)", ISSN-L = "0730-0301", bibdate = "Thu Jul 26 18:44:43 MDT 2012", bibsource = "http://www.acm.org/pubs/contents/journals/tog/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tog.bib", abstract = "Point samples with different spectral noise properties (often defined using color names such as white, blue, green, and red) are important for many science and engineering disciplines including computer graphics. While existing techniques can easily produce white and blue noise samples, relatively little is known for generating other noise patterns. In particular, no single algorithm is available to generate different noise patterns according to user-defined spectra. In this paper, we describe an algorithm for generating point samples that match a user-defined Fourier spectrum function. Such a spectrum function can be either obtained from a known sampling method, or completely constructed by the user. Our key idea is to convert the Fourier spectrum function into a differential distribution function that describes the samples' local spatial statistics; we then use a gradient descent solver to iteratively compute a sample set that matches the target differential distribution function. Our algorithm can be easily modified to achieve adaptive sampling, and we provide a GPU-based implementation. Finally, we present a variety of different sample patterns obtained using our algorithm, and demonstrate suitable applications.", acknowledgement = ack-nhfb, articleno = "76", fjournal = "ACM Transactions on Graphics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J778", } @Article{Zhu:2012:GFE, author = "Haohan Zhu and George Kollios and Vassilis Athitsos", title = "A generic framework for efficient and effective subsequence retrieval", journal = j-PROC-VLDB-ENDOWMENT, volume = "5", number = "11", pages = "1579--1590", month = jul, year = "2012", CODEN = "????", ISSN = "2150-8097", bibdate = "Tue Nov 6 16:43:15 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "This paper proposes a general framework for matching similar subsequences in both time series and string databases. The matching results are pairs of query subsequences and database subsequences. The framework finds all possible pairs of similar subsequences if the distance measure satisfies the ``consistency'' property, which is a property introduced in this paper. We show that most popular distance functions, such as the Euclidean distance, DTW, ERP, the Frech{\'e}t distance for time series, and the Hamming distance and Levenshtein distance for strings, are all ``consistent''. We also propose a generic index structure for metric spaces named ``reference net''. The reference net occupies {$ O(n) $} space, where $n$ is the size of the dataset and is optimized to work well with our framework. The experiments demonstrate the ability of our method to improve retrieval performance when combined with diverse distance measures. The experiments also illustrate that the reference net scales well in terms of space overhead and query time.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{Zou:2012:APM, author = "Lei Zou and Lei Chen and M. Tamer {\"O}zsu and Dongyan Zhao", title = "Answering pattern match queries in large graph databases via graph embedding", journal = j-VLDB-J, volume = "21", number = "1", pages = "97--120", month = feb, year = "2012", CODEN = "VLDBFR", DOI = "https://doi.org/10.1007/s00778-011-0238-6", ISSN = "1066-8888 (print), 0949-877X (electronic)", ISSN-L = "1066-8888", bibdate = "Tue Jan 31 06:48:57 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbj.bib", abstract = "The growing popularity of graph databases has generated interesting data management problems, such as subgraph search, shortest path query, reachability verification, and pattern matching. Among these, a pattern match query is more flexible compared with a subgraph search and more informative compared with a shortest path or a reachability query. In this paper, we address distance-based pattern match queries over a large data graph G. Due to the huge search space, we adopt a filter-and-refine framework to answer a pattern match query over a large graph. We first find a set of candidate matches by a graph embedding technique and then evaluate these to find the exact matches.", acknowledgement = ack-nhfb, fjournal = "VLDB Journal: Very Large Data Bases", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{Zu:2012:GBN, author = "Yuan Zu and Ming Yang and Zhonghu Xu and Lin Wang and Xin Tian and Kunyang Peng and Qunfeng Dong", title = "{GPU}-based {NFA} implementation for memory efficient high speed regular expression matching", journal = j-SIGPLAN, volume = "47", number = "8", pages = "129--140", month = aug, year = "2012", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2370036.2145833", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Sep 12 12:11:57 MDT 2012", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "PPOPP '12 conference proceedings.", abstract = "Regular expression pattern matching is the foundation and core engine of many network functions, such as network intrusion detection, worm detection, traffic analysis, web applications and so on. DFA-based solutions suffer exponentially exploding state space and cannot be remedied without sacrificing matching speed. Given this scalability problem of DFA-based methods, there has been increasing interest in NFA-based methods for memory efficient regular expression matching. To achieve high matching speed using NFA, it requires potentially massive parallel processing, and hence represents an ideal programming task on Graphic Processor Unit (GPU). Based on in-depth understanding of NFA properties as well as GPU architecture, we propose effective methods for fitting NFAs into GPU architecture through proper data structure and parallel programming design, so that GPU's parallel processing power can be better utilized to achieve high speed regular expression matching. Experiment results demonstrate that, compared with the existing GPU-based NFA implementation method [9], our proposed methods can boost matching speed by 29~46 times, consistently yielding above 10Gbps matching speed on NVIDIA GTX-460 GPU. Meanwhile, our design only needs a small amount of memory space, growing exponentially more slowly than DFA size. These results make our design an effective solution for memory efficient high speed regular expression matching, and clearly demonstrate the power and potential of GPU as a platform for memory efficient high speed regular expression matching.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", } @Article{Abel:2013:CPI, author = "Andreas Abel and Brigitte Pientka and David Thibodeau and Anton Setzer", title = "{Copatterns}: programming infinite structures by observations", journal = j-SIGPLAN, volume = "48", number = "1", pages = "27--38", month = jan, year = "2013", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2480359.2429075", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Mon Jul 1 17:15:03 MDT 2013", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Inductive datatypes provide mechanisms to define finite data such as finite lists and trees via constructors and allow programmers to analyze and manipulate finite data via pattern matching. In this paper, we develop a dual approach for working with infinite data structures such as streams. Infinite data inhabits coinductive datatypes which denote greatest fixpoints. Unlike finite data which is defined by constructors we define infinite data by observations. Dual to pattern matching, a tool for analyzing finite data, we develop the concept of copattern matching, which allows us to synthesize infinite data. This leads to a symmetric language design where pattern matching on finite and infinite data can be mixed. We present a core language for programming with infinite structures by observations together with its operational semantics based on (co)pattern matching and describe coverage of copatterns. Our language naturally supports both call-by-name and call-by-value interpretations and can be seamlessly integrated into existing languages like Haskell and ML. We prove type soundness for our language and sketch how copatterns open new directions for solving problems in the interaction of coinductive and dependent types.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "POPL '13 conference proceedings.", } @Article{Abel:2013:WRC, author = "Andreas M. Abel and Brigitte Pientka", title = "Wellfounded recursion with copatterns: a unified approach to termination and productivity", journal = j-SIGPLAN, volume = "48", number = "9", pages = "185--196", month = sep, year = "2013", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2544174.2500591", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Nov 27 18:32:10 MST 2013", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "In this paper, we study strong normalization of a core language based on System F-omega which supports programming with finite and infinite structures. Building on our prior work, finite data such as finite lists and trees are defined via constructors and manipulated via pattern matching, while infinite data such as streams and infinite trees is defined by observations and synthesized via copattern matching. In this work, we take a type-based approach to strong normalization by tracking size information about finite and infinite data in the type. This guarantees compositionality. More importantly, the duality of pattern and copatterns provide a unifying semantic concept which allows us for the first time to elegantly and uniformly support both well-founded induction and coinduction by mere rewriting. The strong normalization proof is structured around Girard's reducibility candidates. As such our system allows for non-determinism and does not rely on coverage. Since System F-omega is general enough that it can be the target of compilation for the Calculus of Constructions, this work is a significant step towards representing observation-centric infinite data in proof assistants such as Coq and Agda.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "ICFP '13 conference proceedings.", } @Article{Abouelella:2013:HEI, author = "Fatma Abouelella and Tom Davidson and Wim Meeus and Karel Bruneel and Dirk Stroobandt", title = "How to efficiently implement dynamic circuit specialization systems", journal = j-TODAES, volume = "18", number = "3", pages = "35:1--35:??", month = jul, year = "2013", CODEN = "ATASFO", DOI = "https://doi.org/10.1145/2491477.2491479", ISSN = "1084-4309 (print), 1557-7309 (electronic)", ISSN-L = "1084-4309", bibdate = "Sat Jul 27 08:09:07 MDT 2013", bibsource = "http://www.acm.org/pubs/contents/journals/todaes/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/todaes.bib", abstract = "Dynamic circuit specialization (DCS) is a technique used to implement FPGA applications where some of the input data, called parameters, change slowly compared to other inputs. Each time the parameter values change, the FPGA is reconfigured by a configuration that is specialized for those new parameter values. This specialized configuration is much smaller and faster than a regular configuration. However, the overhead associated with the specialization process should be minimized to achieve the desired benefits of using the DCS technique. This overhead is represented by both the FPGA resources needed to specialize the FPGA at runtime and by the specialization time. The introduction of parameterized configurations [Bruneel and Stroobandt 2008] has improved the efficiency of DCS implementations. However, the specialization overhead still takes a considerable amount of resources and time. In this article, we explore how to efficiently build DCS systems by presenting a variety of possible solutions for the specialization process and the overhead associated with each of them. We split the specialization process into two main phases: the evaluation and the configuration phase. The PowerPC embedded processor, the MicroBlaze, and a customized processor (CP) are used as alternatives in the evaluation phase. In the configuration phase, the ICAP and a custom configuration interface (SRL configuration) are used as alternatives. Each solution is used to implement a DCS system for three applications: an adaptive finite impulse response (FIR) filter, a ternary content-addressable memory (TCAM), and a regular expression matcher (RegEx). The experiments show that the use of our CP along with the SRL configuration achieves minimum overhead in terms of resources and time. Our CP is 1.8 and 3.5 times smaller than the PowerPC and the area-optimized implementation of the MicroBlaze, respectively. Moreover, the use of the CP enables a more compact representation for the parameterized configuration in comparison to both the PowerPC and the MicroBlaze processors. For instance, in the FIR, the parameterized configuration compiled for our CP is 6--7 times smaller than that for the embedded processors.", acknowledgement = ack-nhfb, articleno = "35", fjournal = "ACM Transactions on Design Automation of Electronic Systems (TODAES)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J776", } @Article{Alonso:2013:ABM, author = "Laurent Alonso and Edward M. Reingold", title = "Analysis of {Boyer} and {Moore}'s {MJRTY} algorithm", journal = j-INFO-PROC-LETT, volume = "113", number = "13", pages = "495--497", day = "15", month = jul, year = "2013", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue May 7 14:14:17 MDT 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0020019013001166", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190/", keywords = "MJRTY (Majority) algorithm", } @Misc{Anonymous:2013:TC, author = "Anonymous", title = "{TRE} (Computing)", howpublished = "Encyclopedia article", year = "2013", bibdate = "Thu Aug 17 13:59:28 2023", bibsource = "https://laurikari.net/tre/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://en.wikipedia.org/wiki/TRE_(computing)", abstract = "TRE is an open-source library for pattern matching in text, which works like a regular expression engine with the ability to do approximate string matching", acknowledgement = ack-nhfb, } @Article{Atallah:2013:LVR, author = "Mikhail J. Atallah and Elena Grigorescu and Yi Wu", title = "A lower-variance randomized algorithm for approximate string matching", journal = j-INFO-PROC-LETT, volume = "113", number = "18", pages = "690--692", day = "15", month = sep, year = "2013", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon Jul 8 16:33:18 MDT 2013", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0020019013001622", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Badkobeh:2013:BJS, author = "Golnaz Badkobeh and Gabriele Fici and Steve Kroon and Zsuzsanna Lipt{\'a}k", title = "Binary jumbled string matching for highly run-length compressible texts", journal = j-INFO-PROC-LETT, volume = "113", number = "17", pages = "604--608", day = "30", month = aug, year = "2013", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon Jul 1 18:58:27 MDT 2013", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0020019013001415", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @InProceedings{Bagan:2013:TRS, author = "Guillaume Bagan and Angela Bonifati and Benoit Groz", title = "A trichotomy for regular simple path queries on graphs", crossref = "Hull:2013:SPC", pages = "261--272", year = "2013", DOI = "https://doi.org/10.1145/2463664.2467795", bibdate = "Wed Mar 5 07:53:56 MST 2014", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Regular path queries (RPQs) select vertices connected by some path in a graph. The edge labels of such a path have to form a word that matches a given regular expression. We investigate the evaluation of RPQs with an additional constraint that prevents multiple traversals of the same vertices. Those regular simple path queries (RSPQs) quickly become intractable, even for basic languages such as (aa) * or a*ba*. In this paper, we establish a comprehensive classification of regular languages with respect to the complexity of the corresponding regular simple path query problem. More precisely, we identify for which languages RSPQs can be evaluated in polynomial time, and show that evaluation is NP-complete for languages outside this fragment. We thus fully characterize the frontier between tractability and intractability for RSPQs, and we refine our results to show the following trichotomy: evaluation of RSPQs is either AC0 , NL-complete or NP-complete in data complexity, depending on the language L. The fragment identified also admits a simple characterization in terms of regular expressions. Finally, we also discuss the complexity of deciding whether a language L belongs to the fragment above. We consider several alternative representations of L: DFAs, NFAs or regular expressions, and prove that this problem is NL-complete for the first representation and PSPACE-complete for the other two. As a conclusion we extend our results from edge-labeled graphs to vertex-labeled graphs.", acknowledgement = ack-nhfb, } @Article{Barcelo:2013:PRE, author = "Pablo Barcel{\'o} and Juan Reutter and Leonid Libkin", title = "Parameterized regular expressions and their languages", journal = j-THEOR-COMP-SCI, volume = "474", number = "??", pages = "21--45", day = "25", month = feb, year = "2013", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2012.12.036", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Tue Feb 12 17:38:13 MST 2013", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397513000029", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Baron:2013:SPM, author = "Joshua Baron and Karim {El Defrawy} and Kirill Minkovich and Rafail Ostrovsky and Eric Tressler", title = "{5PM}: Secure pattern matching", journal = j-J-COMP-SECUR, volume = "21", number = "5", pages = "601--625", month = "????", year = "2013", CODEN = "JCSIET", DOI = "https://doi.org/10.3233/JCS-130481", ISSN = "0926-227X (print), 1875-8924 (electronic)", ISSN-L = "0926-227X", bibdate = "Tue May 24 06:25:59 MDT 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsecur.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Journal of Computer Security", journal-URL = "http://content.iospress.com/journals/journal-of-computer-security", } @Article{Bast:2013:EFS, author = "Hannah Bast and Marjan Celikik", title = "Efficient fuzzy search in large text collections", journal = j-TOIS, volume = "31", number = "2", pages = "10:1--10:??", month = may, year = "2013", CODEN = "ATISET", ISSN = "1046-8188", ISSN-L = "0734-2047", bibdate = "Fri May 17 19:16:24 MDT 2013", bibsource = "http://www.acm.org/pubs/contents/journals/tois/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tois.bib", abstract = "We consider the problem of fuzzy full-text search in large text collections, that is, full-text search which is robust against errors both on the side of the query as well as on the side of the documents. Standard inverted-index techniques work extremely well for ordinary full-text search but fail to achieve interactive query times (below 100 milliseconds) for fuzzy full-text search even on moderately-sized text collections (above 10 GBs of text). We present new preprocessing techniques that achieve interactive query times on large text collections (100 GB of text, served by a single machine). We consider two similarity measures, one where the query terms match similar terms in the collection (e.g., algorithm matches algoritm or vice versa) and one where the query terms match terms with a similar prefix in the collection (e.g., alori matches algorithm). The latter is important when we want to display results instantly after each keystroke (search as you type). All algorithms have been fully integrated into the CompleteSearch engine.", acknowledgement = ack-nhfb, articleno = "10", fjournal = "ACM Transactions on Information Systems (TOIS)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J779", } @Article{Becchi:2013:DTS, author = "Michela Becchi and Patrick Crowley", title = "{A-DFA}: a Time- and Space-Efficient {DFA} Compression Algorithm for Fast Regular Expression Evaluation", journal = j-TACO, volume = "10", number = "1", pages = "4:1--4:26", month = apr, year = "2013", CODEN = "????", DOI = "https://doi.org/10.1145/2445572.2445576", ISSN = "1544-3566 (print), 1544-3973 (electronic)", ISSN-L = "1544-3566", bibdate = "Fri Apr 5 18:36:16 MDT 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/taco.bib", abstract = "Modern network intrusion detection systems need to perform regular expression matching at line rate in order to detect the occurrence of critical patterns in packet payloads. While Deterministic Finite Automata (DFAs) allow this operation to be performed in linear time, they may exhibit prohibitive memory requirements. Kumar et al. [2006a] have proposed Delayed Input DFAs (D2FAs), which provide a trade-off between the memory requirements of the compressed DFA and the number of states visited for each character processed, which in turn affects the memory bandwidth required to evaluate regular expressions. In this article we introduce Amortized time --- bandwidth overhead DFAs ( A --- DFAs ), a general compression technique that results in at most N ( k + 1)/ k state traversals when processing a string of length N, k being a positive integer. In comparison to the D2FA approach, our technique achieves comparable levels of compression with lower provable bounds on memory bandwidth (or greater compression for a given bandwidth bound). Moreover, the A-DFA algorithm has lower complexity, can be applied during DFA creation, and is suitable for scenarios where a compressed DFA needs to be dynamically built or updated. Finally, we show how to combine A-DFA with alphabet reduction and multistride DFAs, two techniques aimed at reducing the memory space and bandwidth requirement of DFAs, and discuss memory encoding schemes suitable for A-DFAs.", acknowledgement = ack-nhfb, articleno = "4", fjournal = "ACM Transactions on Architecture and Code Optimization (TACO)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J924", } @TechReport{Beebe:2013:BPM, author = "Nelson H. F. Beebe", title = "A Bibliography on Pattern Matching, Regular Expressions, and String Matching", institution = inst-UTAH-MATH, address = inst-UTAH-MATH:adr, pages = "292", day = "13", month = mar, year = "2013", bibdate = "Wed Mar 13 18:40:11 2013", bibsource = "https://www.math.utah.edu/pub/bibnet/authors/b/beebe-nelson-h-f.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "This report is updated frequently.", URL = "https://www.math.utah.edu/pub/tex/bib/index-table-s.html#string-matching", acknowledgement = ack-nhfb, ORCID-numbers = "Beebe, Nelson H. F./0000-0001-7281-4263", } @Article{Bjorklund:2013:SRP, author = "Johanna Bj{\"o}rklund and Lars-Daniel {\"O}hman", title = "Simulation relations for pattern matching in directed graphs", journal = j-THEOR-COMP-SCI, volume = "485", number = "??", pages = "1--15", day = "13", month = may, year = "2013", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon May 6 18:32:46 MDT 2013", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", URL = "http://www.sciencedirect.com/science/article/pii/S030439751300234X", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Bloom:2013:RSP, author = "Bard Bloom and Martin J. Hirzel", title = "Robust scripting via patterns", journal = j-SIGPLAN, volume = "48", number = "2", pages = "29--40", month = feb, year = "2013", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2480360.2384582", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Mon Jul 1 17:15:12 MDT 2013", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Dynamic typing in scripting languages is a two-edged sword. On the one hand, it can be more flexible and more concise than static typing. On the other hand, it can lead to less robust code. We argue that patterns can give scripts much of the robustness of static typing, without losing the flexibility and concision of dynamic typing. To make this case, we describe a rich pattern system in the dynamic language Thorn. Thorn patterns interact with its control constructs and scoping rules to support concise and robust test-and-extract idioms. Thorn patterns encompass an extensive set of features from ML-style patterns to regular expressions and beyond. And Thorn patterns can be first-class and support pattern-punning (mirror constructor syntax). Overall, this paper describes a powerful pattern system that makes scripting more robust.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "https://dl.acm.org/loi/sigplan", remark = "DLS '12 conference proceedings.", } @Article{Boyen:2013:MMM, author = "Peter Boyen and Frank Neven and Dries {Van Dyck} and Felipe Valentim and Aalt van Dijk", title = "Mining Minimal Motif Pair Sets Maximally Covering Interactions in a Protein--Protein Interaction Network", journal = j-TCBB, volume = "10", number = "1", pages = "73--86", month = jan, year = "2013", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2012.165", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Mon Jun 10 07:28:56 MDT 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "Correlated motif covering (CMC) is the problem of finding a set of motif pairs, i.e., pairs of patterns, in the sequences of proteins from a protein-protein interaction network (PPI-network) that describe the interactions in the network as concisely as possible. In other words, a perfect solution for CMC would be a minimal set of motif pairs that describes the interaction behavior perfectly in the sense that two proteins from the network interact if and only if their sequences match a motif pair in the minimal set. In this paper, we introduce and formally define CMC and show that it is closely related to the red-blue set cover (RBSC) problem and its weighted version (WRBSC)-both well-known NP-hard problems for that there exist several algorithms with known approximation factor guarantees. We prove the hardness of approximation of CMC by providing an approximation factor preserving reduction from RBSC to CMC. We show the existence of a theoretical approximation algorithm for CMC by providing an approximation factor preserving reduction from CMC to WRBSC. We adapt the latter algorithm into a functional heuristic for CMC, called CMC-approx, and experimentally assess its performance and biological relevance. The implementation in Java can be found at {\tt http://bioinformatics.uhasselt.be}.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", } @Article{Breslauer:2013:SRT, author = "Dany Breslauer and Roberto Grossi and Filippo Mignosi", title = "Simple real-time constant-space string matching", journal = j-THEOR-COMP-SCI, volume = "483", number = "??", pages = "2--9", day = "29", month = apr, year = "2013", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon May 6 18:32:37 MDT 2013", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397512010900", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Butman:2013:PMU, author = "Ayelet Butman and Peter Clifford and Rapha{\"e}l Clifford and Markus Jalsenius and Noa Lewenstein and Benny Porat and Ely Porat and Benjamin Sach", title = "Pattern Matching under Polynomial Transformation", journal = j-SIAM-J-COMPUT, volume = "42", number = "2", pages = "611--633", month = "????", year = "2013", CODEN = "SMJCAT", DOI = "https://doi.org/10.1137/110853327", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", bibdate = "Tue Feb 11 17:21:19 MST 2014", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/42/2; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp/", onlinedate = "January 2013", } @Article{Cantone:2013:ESM, author = "Domenico Cantone and Salvatore Cristofaro and Simone Faro", title = "Efficient string-matching allowing for non-overlapping inversions", journal = j-THEOR-COMP-SCI, volume = "483", number = "??", pages = "85--95", day = "29", month = apr, year = "2013", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2012.06.009", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon May 6 18:32:37 MDT 2013", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397512005452", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Chan:2013:MAP, author = "Tak-Ming Chan and Leung-Yau Lo and Ho-Yin Sze-To and Kwong-Sak Leung and Xinshu Xiao and Man-Hon Wong", title = "Modeling Associated Protein-{DNA} Pattern Discovery with Unified Scores", journal = j-TCBB, volume = "10", number = "3", pages = "696--707", month = may, year = "2013", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2013.60", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Wed Nov 27 16:23:40 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "Understanding protein-DNA interactions, specifically transcription factor (TF) and transcription factor binding site (TFBS) bindings, is crucial in deciphering gene regulation. The recent associated TF-TFBS pattern discovery combines one-sided motif discovery on both the TF and the TFBS sides. Using sequences only, it identifies the short protein-DNA binding cores available only in high-resolution 3D structures. The discovered patterns lead to promising subtype and disease analysis applications. While the related studies use either association rule mining or existing TFBS annotations, none has proposed any formal unified (both-sided) model to prioritize the top verifiable associated patterns. We propose the unified scores and develop an effective pipeline for associated TF-TFBS pattern discovery. Our stringent instance-level evaluations show that the patterns with the top unified scores match with the binding cores in 3D structures considerably better than the previous works, where up to 90 percent of the top 20 scored patterns are verified. We also introduce extended verification from literature surveys, where the high unified scores correspond to even higher verification percentage. The top scored patterns are confirmed to match the known WRKY binding cores with no available 3D structures and agree well with the top binding affinities of in vivo experiments.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", } @Article{Chen:2013:EMT, author = "Chien-Chi Chen and Sheng-De Wang", title = "An efficient multicharacter transition string-matching engine based on the {Aho--Corasick} algorithm", journal = j-TACO, volume = "10", number = "4", pages = "25:1--25:??", month = dec, year = "2013", CODEN = "????", DOI = "https://doi.org/10.1145/2541228.2541232", ISSN = "1544-3566 (print), 1544-3973 (electronic)", ISSN-L = "1544-3566", bibdate = "Mon Dec 23 10:31:41 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/taco.bib", abstract = "A string-matching engine capable of inspecting multiple characters in parallel can multiply the throughput. However, the space required for implementing a matching engine that can process multiple characters in parallel generally grows exponentially with respect to the characters to be processed in parallel. Based on the Aho--Corasick algorithm (AC-algorithm), this work presents a novel multicharacter transition Nondeterministic Finite Automaton (NFA) approach, called multicharacter AC-NFA, to allow for the inspection of multiple characters in parallel. This approach first converts an AC-trie to an AC-NFA by allowing for the simultaneous activation of multiple states and then converts the AC-NFA to a $k$-character AC-NFA by an algorithm with concatenation operations and assistant transitions. Additionally, the alignment problem, which occurs while multiple characters are being inspected in parallel, is solved using assistant transitions. Moreover, a corresponding output is provided for each inspected character by introducing priority multiplexers to determine the final matching outputs during implementation of the multicharacter AC-NFA. Consequently, the number of derived $k$-character transitions grows linearly with respect to the number $k$. Furthermore, the derived multicharacter AC-NFA is implemented on FPGAs for evaluation. The resulting throughput grows approximately 14 times and the hardware cost grows about 18 times for 16-character AC-NFA implementation, as compared with that for 1-character AC-NFA implementation. The achievable throughput is 21.4Gbps for the 16-character AC-NFA implementation operating at a 167.36MHz clock.", acknowledgement = ack-nhfb, articleno = "25", fjournal = "ACM Transactions on Architecture and Code Optimization (TACO)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J924", } @InProceedings{Chen:2013:PPP, author = "X. Chen and B. Jones and M. Becchi and T. Wolf", editor = "Walid A. Najjar", booktitle = "2013 {ACM/IEEE} Symposium on Architectures for Networking and Communications Systems ({ANCS})", title = "Picking pesky parameters: Optimizing regular expression matching in practice", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "203--213", year = "2013", DOI = "https://doi.org/10.1109/ANCS.2013.6665202", ISBN = "1-4799-1640-4, 1-4799-1639-0", ISBN-13 = "978-1-4799-1640-5, 978-1-4799-1639-9", LCCN = "QA76.9.A73", bibdate = "Fri Apr 15 13:51:41 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Chen:2013:TCF, author = "Yang Chen and Alex Groce and Chaoqiang Zhang and Weng-Keen Wong and Xiaoli Fern and Eric Eide and John Regehr", title = "Taming compiler fuzzers", journal = j-SIGPLAN, volume = "48", number = "6", pages = "197--208", month = jun, year = "2013", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2499370.2462173", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Mon Jul 1 17:15:38 MDT 2013", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Aggressive random testing tools (``fuzzers'') are impressively effective at finding compiler bugs. For example, a single test-case generator has resulted in more than 1,700 bugs reported for a single JavaScript engine. However, fuzzers can be frustrating to use: they indiscriminately and repeatedly find bugs that may not be severe enough to fix right away. Currently, users filter out undesirable test cases using ad hoc methods such as disallowing problematic features in tests and grepping test results. This paper formulates and addresses the fuzzer taming problem: given a potentially large number of random test cases that trigger failures, order them such that diverse, interesting test cases are highly ranked. Our evaluation shows our ability to solve the fuzzer taming problem for 3,799 test cases triggering 46 bugs in a C compiler and 2,603 test cases triggering 28 bugs in a JavaScript engine.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "https://dl.acm.org/loi/sigplan", remark = "PLDI '13 conference proceedings.", } @Article{Christou:2013:ESC, author = "M. Christou and M. Crochemore and C. S. Iliopoulos and M. Kubica and S. P. Pissis and J. Radoszewski and W. Rytter and B. Szreder and T. Wale{\'n}", title = "Efficient seed computation revisited", journal = j-THEOR-COMP-SCI, volume = "483", number = "??", pages = "171--181", day = "29", month = apr, year = "2013", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2011.12.078", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon May 6 18:32:37 MDT 2013", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397511010632", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", keywords = "cover; linear time cover algorithm; seed in a string; suffix tree", } @Article{Clifford:2013:SLB, author = "Rapha{\"e}l Clifford and Markus Jalsenius and Ely Porat and Benjamin Sach", title = "Space lower bounds for online pattern matching", journal = j-THEOR-COMP-SCI, volume = "483", number = "??", pages = "68--74", day = "29", month = apr, year = "2013", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon May 6 18:32:37 MDT 2013", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397512005816", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Colazzo:2013:ALI, author = "Dario Colazzo and Giorgio Ghelli and Luca Pardini and Carlo Sartiani", title = "Almost-linear inclusion for {XML} regular expression types", journal = j-TODS, volume = "38", number = "3", pages = "15:1--15:??", month = aug, year = "2013", CODEN = "ATDSD3", DOI = "https://doi.org/10.1145/2508020.2508022", ISSN = "0362-5915 (print), 1557-4644 (electronic)", ISSN-L = "0362-5915", bibdate = "Fri Aug 30 16:33:21 MDT 2013", bibsource = "http://www.acm.org/pubs/contents/journals/tods/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tods.bib", abstract = "Type inclusion is a fundamental operation in every type-checking compiler, but it is quite expensive for XML manipulation languages. A polynomial inclusion checking algorithm for an expressive family of XML type languages is known, but it runs in quadratic time both in the best and in the worst cases. We present here an algorithm that has a linear-time backbone, and resorts to the quadratic approach for some specific parts of the compared types. Our experiments show that the new algorithm is much faster than the quadratic one, and that it typically runs in linear time, hence it can be used as a building block for a practical type-checking compiler.", acknowledgement = ack-nhfb, articleno = "15", fjournal = "ACM Transactions on Database Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J777", } @Article{Colazzo:2013:EAI, author = "D. Colazzo and G. Ghelli and L. Pardini and C. Sartiani", title = "Efficient asymmetric inclusion of regular expressions with interleaving and counting for {XML} type-checking", journal = j-THEOR-COMP-SCI, volume = "492", number = "??", pages = "88--116", day = "24", month = jun, year = "2013", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jul 8 16:38:50 MDT 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397513003319", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", } @Article{Deo:2013:PSA, author = "Mrinal Deo and Sean Keely", title = "Parallel suffix array and least common prefix for the {GPU}", journal = j-SIGPLAN, volume = "48", number = "8", pages = "197--206", month = aug, year = "2013", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2517327.2442536", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Mon Aug 26 13:48:51 MDT 2013", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/pvm.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "PPoPP '13 Conference proceedings.", abstract = "Suffix Array (SA) is a data structure formed by sorting the suffixes of a string into lexicographic order. SAs have been used in a variety of applications, most notably in pattern matching and Burrows--Wheeler Transform (BWT) based lossless data compression. SAs have also become the data structure of choice for many, if not all, string processing problems to which suffix tree methodology is applicable. Over the last two decades researchers have proposed many suffix array construction algorithm (SACAs). We do a systematic study of the main classes of SACAs with the intent of mapping them onto a data parallel architecture like the GPU. We conclude that skew algorithm [12], a linear time recursive algorithm, is the best candidate for GPUs as all its phases can be efficiently mapped to a data parallel hardware. Our OpenCL implementation of skew algorithm achieves a throughput of up to 25 MStrings/sec and a speedup of up to 34x and 5.8x over a single threaded CPU implementation using a discrete GPU and APU respectively. We also compare our OpenCL implementation against the fastest known CPU implementation based on induced copying and achieve a speedup of up to 3.7x. Using SA we construct BWT on GPU and achieve a speedup of 11x over the fastest known BWT on GPU. Suffix arrays are often augmented with the longest common prefix (LCP) information. We design a novel high-performance parallel algorithm for computing LCP on the GPU. Our GPU implementation of LCP achieves a speedup of up to 25x and 4.3x on discrete GPU and APU respectively.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", } @Article{ElDefrawy:2013:BDS, author = "Karim {El Defrawy} and Sky Faber", title = "Blindfolded Data Search via Secure Pattern Matching", journal = j-COMPUTER, volume = "46", number = "12", pages = "68--75", month = dec, year = "2013", CODEN = "CPTRB4", DOI = "https://doi.org/10.1109/MC.2013.73", ISSN = "0018-9162 (print), 1558-0814 (electronic)", ISSN-L = "0018-9162", bibdate = "Tue Mar 4 08:53:21 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/computer2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Computer", journal-URL = "http://www.computer.org/portal/web/csdl/magazines/computer", } @InProceedings{Fagin:2013:SFF, author = "Ronald Fagin and Benny Kimelfeld and Frederick Reiss and Stijn Vansummeren", title = "Spanners: a formal framework for information extraction", crossref = "Hull:2013:SPC", pages = "37--48", year = "2013", DOI = "https://doi.org/10.1145/2463664.2463665", bibdate = "Wed Mar 5 07:53:56 MST 2014", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "An intrinsic part of information extraction is the creation and manipulation of relations extracted from text. In this paper, we develop a foundational framework where the central construct is what we call a spanner. A spanner maps an input string into relations over the spans (intervals specified by bounding indices) of the string. The focus of this paper is on the representation of spanners. Conceptually, there are two kinds of such representations. Spanners defined in a primitive representation extract relations directly from the input string; those defined in an algebra apply algebraic operations to the primitively represented spanners. This framework is driven by SystemT, an IBM commercial product for text analysis, where the primitive representation is that of regular expressions with capture variables. We define additional types of primitive spanner representations by means of two kinds of automata that assign spans to variables. We prove that the first kind has the same expressive power as regular expressions with capture variables; the second kind expresses precisely the algebra of the regular spanners---the closure of the first kind under standard relational operators. The core spanners extend the regular ones by string-equality selection (an extension used in SystemT). We give some fundamental results on the expressiveness of regular and core spanners. As an example, we prove that regular spanners are closed under difference (and complement), but core spanners are not. Finally, we establish connections with related notions in the literature.", acknowledgement = ack-nhfb, } @Article{Fan:2013:DTG, author = "Wenfei Fan and Xin Wang and Yinghui Wu", title = "Diversified top-$k$ graph pattern matching", journal = j-PROC-VLDB-ENDOWMENT, volume = "6", number = "13", pages = "1510--1521", month = aug, year = "2013", CODEN = "????", ISSN = "2150-8097", bibdate = "Fri Dec 13 05:57:09 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "Graph pattern matching has been widely used in e.g., social data analysis. A number of matching algorithms have been developed that, given a graph pattern $Q$ and a graph $G$, compute the set $ M(Q, G) $ of matches of $Q$ in $G$. However, these algorithms often return an excessive number of matches, and are expensive on large real-life social graphs. Moreover, in practice many social queries are to find matches of a specific pattern node, rather than the entire $ M(Q, G) $. This paper studies top- $k$ graph pattern matching. (1) We revise graph pattern matching defined in terms of simulation, by supporting a designated output node $ u o $. Given $G$ and $Q$, it is to find those nodes in $ M(Q, G) $ that match $ u o $, instead of the large set $ M(Q, G) $. (2) We study two classes of functions for ranking the matches: relevance functions $ \delta r() $ based on, e.g., social impact, and distance functions $ \delta d() $ to cover diverse elements. (3) We develop two algorithms for computing top-$k$ matches of $ u o $ based on $ \delta r() $, with the early termination property, i.e., they find top-$k$ matches without computing the entire $ M(Q, G) $. (4) We also study diversified top-$k$ matching, a bi-criteria optimization problem based on both $ \delta r() $ and $ \delta d() $. We show that its decision problem is NP-complete. Nonetheless, we provide an approximation algorithm with performance guarantees and a heuristic one with the early termination property. (5) Using real-life and synthetic data, we experimentally verify that our (diversified) top-$k$ matching algorithms are effective, and outperform traditional matching algorithms in efficiency.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{Fan:2013:DTK, author = "Wenfei Fan and Xin Wang and Yinghui Wu", title = "Diversified top-$k$ graph pattern matching", journal = j-PROC-VLDB-ENDOWMENT, volume = "6", number = "13", pages = "1510--1521", month = aug, year = "2013", CODEN = "????", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Fri Dec 13 05:57:09 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "Graph pattern matching has been widely used in e.g., social data analysis. A number of matching algorithms have been developed that, given a graph pattern $Q$ and a graph $G$, compute the set $ M(Q, G) $ of matches of $Q$ in $G$. However, these algorithms often return an excessive number of matches, and are expensive on large real-life social graphs. Moreover, in practice many social queries are to find matches of a specific pattern node, rather than the entire $ M(Q, G) $. This paper studies top- $k$ graph pattern matching. (1) We revise graph pattern matching defined in terms of simulation, by supporting a designated output node $ u o $. Given $G$ and $Q$, it is to find those nodes in $ M(Q, G) $ that match $ u o $, instead of the large set $ M(Q, G) $. (2) We study two classes of functions for ranking the matches: relevance functions $ \delta r() $ based on, e.g., social impact, and distance functions $ \delta d() $ to cover diverse elements. (3) We develop two algorithms for computing top-$k$ matches of $ u o $ based on $ \delta r() $, with the early termination property, i.e., they find top-$k$ matches without computing the entire $ M(Q, G) $. (4) We also study diversified top-$k$ matching, a bi-criteria optimization problem based on both $ \delta r() $ and $ \delta d() $. We show that its decision problem is NP-complete. Nonetheless, we provide an approximation algorithm with performance guarantees and a heuristic one with the early termination property. (5) Using real-life and synthetic data, we experimentally verify that our (diversified) top-$k$ matching algorithms are effective, and outperform traditional matching algorithms in efficiency.", acknowledgement = ack-nhfb, ajournal = "Proc. VLDB Endowment", fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Fan:2013:IGP, author = "Wenfei Fan and Xin Wang and Yinghui Wu", title = "Incremental graph pattern matching", journal = j-TODS, volume = "38", number = "3", pages = "18:1--18:??", month = aug, year = "2013", CODEN = "ATDSD3", DOI = "https://doi.org/10.1145/2489791", ISSN = "0362-5915 (print), 1557-4644 (electronic)", ISSN-L = "0362-5915", bibdate = "Fri Aug 30 16:33:21 MDT 2013", bibsource = "http://www.acm.org/pubs/contents/journals/tods/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tods.bib", abstract = "Graph pattern matching is commonly used in a variety of emerging applications such as social network analysis. These applications highlight the need for studying the following two issues. First, graph pattern matching is traditionally defined in terms of subgraph isomorphism or graph simulation. These notions, however, often impose too strong a topological constraint on graphs to identify meaningful matches. Second, in practice a graph is typically large, and is frequently updated with small changes. It is often prohibitively expensive to recompute matches starting from scratch via batch algorithms when the graph is updated. This article studies these two issues. (1) We propose to define graph pattern matching based on a notion of bounded simulation, which extends graph simulation by specifying the connectivity of nodes in a graph within a predefined number of hops. We show that bounded simulation is able to find sensible matches that the traditional matching notions fail to catch. We also show that matching via bounded simulation is in cubic time, by giving such an algorithm. (2) We provide an account of results on incremental graph pattern matching, for matching defined with graph simulation, bounded simulation, and subgraph isomorphism. We show that the incremental matching problem is unbounded, that is, its cost is not determined alone by the size of the changes in the input and output, for all these matching notions. Nonetheless, when matching is defined in terms of simulation or bounded simulation, incremental matching is semibounded, that is, its worst-time complexity is bounded by a polynomial in the size of the changes in the input, output, and auxiliary information that is necessarily maintained to reuse previous computation, and the size of graph patterns. We also develop incremental matching algorithms for graph simulation and bounded simulation, by minimizing unnecessary recomputation. In contrast, matching based on subgraph isomorphism is neither bounded nor semibounded. (3) We experimentally verify the effectiveness and efficiency of these algorithms, and show that: (a) the revised notion of graph pattern matching allows us to identify communities commonly found in real-life networks, and (b) the incremental algorithms substantially outperform their batch counterparts in response to small changes. These suggest a promising framework for real-life graph pattern matching.", acknowledgement = ack-nhfb, articleno = "18", fjournal = "ACM Transactions on Database Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J777", } @Article{Faro:2013:EOS, author = "Simone Faro and Thierry Lecroq", title = "The exact online string matching problem: a review of the most recent results", journal = j-COMP-SURV, volume = "45", number = "2", pages = "13:1--13:42", month = feb, year = "2013", CODEN = "CMSVAN", DOI = "https://doi.org/10.1145/2431211.2431212", ISSN = "0360-0300 (print), 1557-7341 (electronic)", ISSN-L = "0360-0300", bibdate = "Thu Mar 7 11:42:33 MST 2013", bibsource = "http://www.acm.org/pubs/contents/journals/surveys/; https://www.math.utah.edu/pub/tex/bib/compsurv.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "This article addresses the online exact string matching problem which consists in finding all occurrences of a given pattern $p$ in a text $t$. It is an extensively studied problem in computer science, mainly due to its direct applications to such diverse areas as text, image and signal processing, speech analysis and recognition, information retrieval, data compression, computational biology and chemistry. In the last decade more than 50 new algorithms have been proposed for the problem, which add up to a wide set of (almost 40) algorithms presented before 2000. In this article we review the string matching algorithms presented in the last decade and present experimental results in order to bring order among the dozens of articles published in this area.", acknowledgement = ack-nhfb, articleno = "13", fjournal = "ACM Computing Surveys", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J204", } @Article{Feder:2013:ECA, author = "Tom{\'a}s Feder and Carlos Subi", title = "Edge-coloring almost bipartite multigraphs", journal = j-INFO-PROC-LETT, volume = "113", number = "18", pages = "685--689", day = "15", month = sep, year = "2013", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon Jul 8 16:33:18 MDT 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0020019013001737", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190/", } @Article{Gawrychowski:2013:OPM, author = "Pawel Gawrychowski", title = "Optimal Pattern Matching in {LZW} Compressed Strings", journal = j-TALG, volume = "9", number = "3", pages = "25:1--25:??", month = jun, year = "2013", CODEN = "????", DOI = "https://doi.org/10.1145/2483699.2483705", ISSN = "1549-6325 (print), 1549-6333 (electronic)", ISSN-L = "1549-6325", bibdate = "Mon Jun 24 09:39:46 MDT 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/talg.bib", abstract = "We consider the following variant of the classical pattern matching problem: given an uncompressed pattern $ p [1 \ldots {} m] $ and a compressed representation of a string {$ t [1 \ldots {} N] $}, does $p$ occur in $t$ ? When $t$ is compressed using the LZW method, we are able to detect the occurrence in optimal linear time, thus answering a question of Amir et al. [1994]. Previous results implied solutions with complexities {$ O(n \log m + m) $} Amir et al. [1994], {$ O(n + m^{1 + \epsilon }) $} [Kosaraju 1995], or (randomized) {$ O(n \log N n + m) $} [Farach and Thorup 1995], where $n$ is the size of the compressed representation of $t$. Our algorithm is conceptually simple and fully deterministic.", acknowledgement = ack-nhfb, articleno = "25", fjournal = "ACM Transactions on Algorithms (TALG)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J982", } @Article{Giaquinta:2013:APM, author = "Emanuele Giaquinta and Szymon Grabowski and Kimmo Fredriksson", title = "Approximate pattern matching with $k$-mismatches in packed text", journal = j-INFO-PROC-LETT, volume = "113", number = "19--21", pages = "693--697", month = sep # "\slash " # oct, year = "2013", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon Sep 9 07:26:45 MDT 2013", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0020019013001919", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Giaquinta:2013:NAB, author = "Emanuele Giaquinta and Szymon Grabowski", title = "New algorithms for binary jumbled pattern matching", journal = j-INFO-PROC-LETT, volume = "113", number = "14--16", pages = "538--542", month = jul # "\slash " # aug, year = "2013", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon Jul 1 18:58:11 MDT 2013", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0020019013001300", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Gonzalez-Alvarez:2013:AAD, author = "Cecilia Gonz{\'a}lez-{\'A}lvarez and Jennifer B. Sartor and Carlos {\'A}lvarez and Daniel Jim{\'e}nez-Gonz{\'a}lez and Lieven Eeckhout", title = "Accelerating an application domain with specialized functional units", journal = j-TACO, volume = "10", number = "4", pages = "47:1--47:??", month = dec, year = "2013", CODEN = "????", DOI = "https://doi.org/10.1145/2541228.2555303", ISSN = "1544-3566 (print), 1544-3973 (electronic)", ISSN-L = "1544-3566", bibdate = "Thu Jan 9 10:42:35 MST 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/taco.bib", abstract = "Hardware specialization has received renewed interest recently as chips are hitting power limits. Chip designers of traditional processor architectures have primarily focused on general-purpose computing, partially due to time-to-market pressure and simpler design processes. But new power limits require some chip specialization. Although hardware configured for a specific application yields large speedups for low-power dissipation, its design is more complex and less reusable. We instead explore domain-based specialization, a scalable approach that balances hardware's reusability and performance efficiency. We focus on specialization using customized compute units that accelerate particular operations. In this article, we develop automatic techniques to identify code sequences from different applications within a domain that can be targeted to a new custom instruction that will be run inside a configurable specialized functional unit (SFU). We demonstrate that using a canonical representation of computations finds more common code sequences among applications that can be mapped to the same custom instruction, leading to larger speedups while specializing a smaller core area than previous pattern-matching techniques. We also propose new heuristics to narrow the search space of domain-specific custom instructions, finding those that achieve the best performance across applications. We estimate the overall performance achieved with our automatic techniques using hardware models on a set of nine media benchmarks, showing that when limiting the core area devoted to specialization, the SFU customization with the largest speedups includes both application- and domain-specific custom instructions. We demonstrate that exploring domain-specific hardware acceleration is key to continued computing system performance improvements.", acknowledgement = ack-nhfb, articleno = "47", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J924", } @Article{Gruber:2013:PSR, author = "Hermann Gruber and Markus Holzer", title = "Provably Shorter Regular Expressions from Finite Automata", journal = j-INT-J-FOUND-COMP-SCI, volume = "24", number = "8", pages = "1255--??", month = dec, year = "2013", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S0129054113500330", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Wed Apr 2 05:58:19 MDT 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @InCollection{Haber:2013:ESE, author = "Stuart Haber and William Horne and Pratyusa Manadhata and Miranda Mowbray and Prasad Rao", booktitle = "Language and Automata Theory and Applications", title = "Efficient Submatch Extraction for Practical Regular Expressions", crossref = "Dediu:2013:LAT", pages = "323--334", year = "2013", DOI = "https://doi.org/10.1007/978-3-642-37064-9_29", bibdate = "Mon Sep 7 07:23:13 2020", bibsource = "http://www.labs.hpe.com/techreports/2012/HPL-2012-41R1.pdf; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, remark = "From the abstract: ``Our experimental results show that, for a large set of regular expressions used in practice, our algorithm is approximately twice as fast as Java's backtracking based regular expression library and approximately twenty times faster than the RE2 regular expression engine.''", } @Article{Han:2013:IPF, author = "Yo-Sub Han", title = "An Improved Prefix-Free Regular-Expression Matching", journal = j-INT-J-FOUND-COMP-SCI, volume = "24", number = "5", pages = "679--??", month = aug, year = "2013", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S0129054113500238", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Mon Dec 2 17:11:05 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Han:2013:SEH, author = "Yo-Sub Han", title = "State Elimination Heuristics for Short Regular Expressions", journal = j-FUND-INFO, volume = "128", number = "4", pages = "445--462", month = oct, year = "2013", CODEN = "FUMAAJ", DOI = "https://doi.org/10.3233/FI-2013-952", ISSN = "0169-2968 (print), 1875-8681 (electronic)", ISSN-L = "0169-2968", bibdate = "Sat Mar 5 17:17:55 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/fundinfo2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Fundamenta Informaticae", journal-URL = "http://content.iospress.com/journals/fundamenta-informaticae", } @Article{Hao:2013:TPP, author = "Tianyong Hao and Chunshen Zhu", title = "Toward a Professional Platform for {Chinese} Character Conversion", journal = j-TALIP, volume = "12", number = "1", pages = "1:1--1:??", month = mar, year = "2013", CODEN = "????", DOI = "https://doi.org/10.1145/2425327.2425328", ISSN = "1530-0226 (print), 1558-3430 (electronic)", ISSN-L = "1530-0226", bibdate = "Sat Mar 2 09:25:42 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/talip.bib", abstract = "Increasing communication among Chinese-speaking regions using respectively traditional and simplified Chinese character systems has highlighted the subtle-yet-extensive differences between the two systems, which can lead to unexpected hindrance in converting characters from one to the other. This article proposes a new priority-based multi-data resources management model, with a new algorithm called Fused Conversion algorithm from Multi-Data resources (FCMD), to ensure more context-sensitive, human controllable, and thus more reliable conversions, by drawing on reverse maximum matching, n -gram-based statistical model and pattern-based learning and matching. After parameter training on the Tagged Chinese Gigaword corpus, its conversion precision reaches 91.5\% in context-sensitive cases, the most difficult part in the conversion, with an overall precision rate at 99.8\%, a significant improvement over the state-of-the-art models. The conversion platform based on the model has extra features such as data resource selection and $n$-grams self-learning ability, providing a more sophisticated tool good especially for high-end professional uses.", acknowledgement = ack-nhfb, articleno = "1", fjournal = "ACM Transactions on Asian Language Information Processing", journal-URL = "http://portal.acm.org/browse_dl.cfm?&idx=J820", } @Article{Homer:2013:POG, author = "Michael Homer and James Noble and Kim B. Bruce and Andrew P. Black and David J. Pearce", title = "Patterns as objects in {Grace}", journal = j-SIGPLAN, volume = "48", number = "2", pages = "17--28", month = feb, year = "2013", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2480360.2384581", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Mon Jul 1 17:15:12 MDT 2013", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Object orientation and pattern matching are often seen as conflicting approaches to program design. Object-oriented programs place type-dependent behavior inside objects and invoke it via dynamic dispatch, while pattern-matching programs place type-dependent behavior outside data structures and invoke it via multiway conditionals (case statements). Grace is a new, dynamic, object-oriented language designed to support teaching: to this end, Grace needs to support both styles. We explain how this conflict can be resolved gracefully: by modelling patterns and cases as partial functions, reifying those functions as objects, and then building up complex patterns from simpler ones using pattern combinators. We describe the implementation of this design as an object-oriented framework, and a case study of its effectiveness.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "DLS '12 conference proceedings.", } @Article{I:2013:PPM, author = "Tomohiro I and Shunsuke Inenaga and Masayuki Takeda", title = "Palindrome pattern matching", journal = j-THEOR-COMP-SCI, volume = "483", number = "??", pages = "162--170", day = "29", month = apr, year = "2013", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2012.01.047", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon May 6 18:32:37 MDT 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397512001041", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", } @Article{Isradisaikul:2013:REP, author = "Chinawat Isradisaikul and Andrew C. Myers", title = "Reconciling exhaustive pattern matching with objects", journal = j-SIGPLAN, volume = "48", number = "6", pages = "343--354", month = jun, year = "2013", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2499370.2462194", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Mon Jul 1 17:15:38 MDT 2013", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Pattern matching, an important feature of functional languages, is in conflict with data abstraction and extensibility, which are central to object-oriented languages. Modal abstraction offers an integration of deep pattern matching and convenient iteration abstractions into an object-oriented setting; however, because of data abstraction, it is challenging for a compiler to statically verify properties such as exhaustiveness. In this work, we extend modal abstraction in the JMatch language to support static, modular reasoning about exhaustiveness and redundancy. New matching specifications allow these properties to be checked using an SMT solver. We also introduce expressive pattern-matching constructs. Our evaluation shows that these new features enable more concise code and that the performance of checking exhaustiveness and redundancy is acceptable.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "PLDI '13 conference proceedings.", } @Article{Jiang:2013:PSE, author = "Song Jiang and Xiaoning Ding and Yuehai Xu and Kei Davis", title = "A Prefetching Scheme Exploiting both Data Layout and Access History on Disk", journal = j-TOS, volume = "9", number = "3", pages = "10:1--10:??", month = aug, year = "2013", CODEN = "????", DOI = "https://doi.org/10.1145/2508010", ISSN = "1553-3077 (print), 1553-3093 (electronic)", ISSN-L = "1553-3077", bibdate = "Thu Dec 12 18:12:47 MST 2013", bibsource = "http://www.acm.org/pubs/contents/journals/tos/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tos.bib", abstract = "Prefetching is an important technique for improving effective hard disk performance. A prefetcher seeks to accurately predict which data will be requested and load it ahead of the arrival of the corresponding requests. Current disk prefetch policies in major operating systems track access patterns at the level of file abstraction. While this is useful for exploiting application-level access patterns, for two reasons file-level prefetching cannot realize the full performance improvements achievable by prefetching. First, certain prefetch opportunities can only be detected by knowing the data layout on disk, such as the contiguous layout of file metadata or data from multiple files. Second, nonsequential access of disk data (requiring disk head movement) is much slower than sequential access, and the performance penalty for mis-prefetching a randomly located block, relative to that of a sequential block, is correspondingly greater. To overcome the inherent limitations of prefetching at logical file level, we propose to perform prefetching directly at the level of disk layout, and in a portable way. Our technique, called DiskSeen, is intended to be supplementary to, and to work synergistically with, any present file-level prefetch policies. DiskSeen tracks the locations and access times of disk blocks and, based on analysis of their temporal and spatial relationships, seeks to improve the sequentiality of disk accesses and overall prefetching performance. It also implements a mechanism to minimize mis-prefetching, on a per-application basis, to mitigate the corresponding performance penalty. Our implementation of the DiskSeen scheme in the Linux 2.6 kernel shows that it can significantly improve the effectiveness of prefetching, reducing execution times by 20\%--60\% for microbenchmarks and real applications such as grep, CVS, and TPC-H. Even for workloads specifically designed to expose its weaknesses, DiskSeen incurs only minor performance loss.", acknowledgement = ack-nhfb, articleno = "10", fjournal = "ACM Transactions on Storage", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J960", } @Article{Jones:2013:FPU, author = "Capers Jones", title = "Function points as a universal software metric", journal = j-SIGSOFT, volume = "38", number = "4", pages = "1--27", month = jul, year = "2013", CODEN = "SFENDP", DOI = "https://doi.org/10.1145/2492248.2492268", ISSN = "0163-5948 (print), 1943-5843 (electronic)", ISSN-L = "0163-5948", bibdate = "Wed Aug 1 17:16:27 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigsoft2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Function point metrics are the most accurate and effective metrics yet developed for software sizing and also for studying software productivity, quality, costs, risks, and economic value. Unlike the older ``lines of code'' metric function points can be used to study requirements, design, and in fact all software activities from development through maintenance. In the future function point metrics can easily become a universal metric used for all software applications and for all software contracts in all countries. The government of Brazil already requires function points for all software contracts, and South Korea and Italy may soon follow. However, there are some logistical problems with function point metrics that need to be understood and overcome in order for function point metrics to become the primary metric for software economic analysis. Manual function point counting is too slow and costly to be used on large software projects above 10,000 function points in size. Also, application size is not constant but grows at about 2\% per calendar month during development and 8\% or more per calendar year for as long as software is in active use. This paper discusses a method of high-speed function point counting that can size any application in less than two minutes, and which can predict application growth during development and for five years after release. This new method is based on pattern matching and is covered by U.S. utility patent application and hence is patent pending.", acknowledgement = ack-nhfb, fjournal = "ACM SIGSOFT Software Engineering Notes", journal-URL = "https://dl.acm.org/citation.cfm?id=J728", } @Article{Kamthe:2013:IWL, author = "Ankur Kamthe and Miguel {\'A} Carreira-Perpi{\~n}{\'a}n and Alberto E. Cerpa", title = "Improving wireless link simulation using multilevel {Markov} models", journal = j-TOSN, volume = "10", number = "1", pages = "17:1--17:??", month = nov, year = "2013", CODEN = "????", DOI = "https://doi.org/10.1145/2529991", ISSN = "1550-4859 (print), 1550-4867 (electronic)", ISSN-L = "1550-4859", bibdate = "Thu Mar 13 07:56:30 MDT 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tosn.bib", abstract = "Modeling the behavior of 802.15.4 links is a nontrivial problem, because 802.15.4 links experience different level of dynamics at short and long time scales. This makes the design of a suitable model that combines the different dynamics at different time scales a nontrivial problem. We propose a novel multilevel approach, the M{\&}M model, involving hidden Markov models (HMMs) and mixtures of multivariate Bernoullis (MMBs) for modeling the long and short time-scale behavior of wireless links from 802.15.4 test beds. We characterize the synthetic traces generated from our model of the wireless link in terms of the mean and variance of the packet reception rates from the data traces, comparison of distributions of run lengths, and conditional packet delivery functions of successive packet receptions (1's) and losses (0's). Our results show that when compared to the closest-fit pattern matching model in TOSSIM, the proposed modeling approach is able to mimic the behavior of the data traces quite closely, with differences in packet reception rates of the empirical and simulated traces of less than 1.9\% on average and 6.6\% in the worst case. Moreover, the simulated links from our proposed approach were able to account for long runs of 1's and 0's as observed in empirical data traces.", acknowledgement = ack-nhfb, articleno = "17", fjournal = "ACM Transactions on Sensor Networks (TOSN)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J981", } @Article{Kawahito:2013:IRF, author = "Motohiro Kawahito and Hideaki Komatsu and Takao Moriyama and Hiroshi Inoue and Toshio Nakatani", title = "Idiom recognition framework using topological embedding", journal = j-TACO, volume = "10", number = "3", pages = "13:1--13:??", month = sep, year = "2013", CODEN = "????", DOI = "https://doi.org/10.1145/2512431", ISSN = "1544-3566 (print), 1544-3973 (electronic)", ISSN-L = "1544-3566", bibdate = "Mon Sep 16 17:20:12 MDT 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/taco.bib; https://www.math.utah.edu/pub/tex/bib/virtual-machines.bib", abstract = "Modern processors support hardware-assist instructions (such as TRT and TROT instructions on the IBM System z) to accelerate certain functions such as delimiter search and character conversion. Such special instructions are often used in high-performance libraries, but their exploitation in optimizing compilers has been limited. We devised a new idiom recognition technique based on a topological embedding algorithm to detect idiom patterns in the input programs more aggressively than in previous approaches using exact pattern matching. Our approach can detect a pattern even if the code segment does not exactly match the idiom. For example, we can detect a code segment that includes additional code within the idiom pattern. We also propose an instruction simplification for the idiom recognition. This optimization analyzes all of the usages of the output of the optimized code for a specific idiom. If we find that we do not need an actual value for the output but only a value in a subrange, then we can assign a value in that subrange as the output. The code generation can generate faster code with this optimization. We implemented our new idiom recognition approach based on the Java Just-In-Time (JIT) compiler that is part of the J9 Java Virtual Machine, and we supported several important idioms for the special hardware-assist instructions on the IBM System z and on some models of the IBM System p. To demonstrate the effectiveness of our technique, we performed two experiments. The first experiment was to see how many more patterns we can detect compared to the previous approach. The second experiment measured the performance improvements over the previous approaches. For the first experiment, we used the Java Compatibility Kit (JCK) API tests. For the second experiment we used the IBM XML parser, SPECjvm98, and SPCjbb2000. In summary, relative to a baseline implementation using exact pattern matching, our algorithm converted 76\% more loops in JCK tests. On a z9, we also observed significant average performance improvement of the XML parser by 54\%, of SPECjvm98 by 1.9\%, and of SPECjbb2000 by 4.4\%. Finally, we observed that the JIT compilation time increased by only 0.32\% to 0.44\%.", acknowledgement = ack-nhfb, articleno = "13", fjournal = "ACM Transactions on Architecture and Code Optimization (TACO)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J924", } @Article{Kouzinopoulos:2013:EOT, author = "Charalampos S. Kouzinopoulos and Konstantinos G. Margaritis", title = "Exact online two-dimensional pattern matching using multiple pattern matching algorithms", journal = j-ACM-J-EXP-ALGORITHMICS, volume = "18", number = "1", pages = "2.4:1--2.4:??", month = dec, year = "2013", CODEN = "????", DOI = "https://doi.org/10.1145/2513148", ISSN = "1084-6654", ISSN-L = "1084-6654", bibdate = "Wed May 21 14:36:03 MDT 2014", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/jea.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Baker and Bird and Baeza-Yates and Regnier are two of the most efficient and widely used algorithms for exact online two-dimensional pattern matching. Both use the automaton of the Aho--Corasick multiple pattern matching algorithm to locate all the occurrences of a two-dimensional pattern in a two-dimensional input string, a data structure that is considered by many as inefficient, especially when used to process long patterns or data using large alphabet sizes. This article presents variants of the Baker and Bird and the Baeza-Yates and Regnier algorithms that use the data structures of the Set Horspool, Wu-Manber, Set Backward Oracle Matching, and SOG multiple pattern matching algorithms in place of the automaton of Aho--Corasick and evaluates their performance experimentally in terms of preprocessing and searching time.", acknowledgement = ack-nhfb, articleno = "2.4", fjournal = "Journal of Experimental Algorithmics (JEA)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J430", } @Article{Kubica:2013:LTA, author = "M. Kubica and T. Kulczy{\'n}ski and J. Radoszewski and W. Rytter and T. Wale{\'n}", title = "A linear time algorithm for consecutive permutation pattern matching", journal = j-INFO-PROC-LETT, volume = "113", number = "12", pages = "430--433", day = "30", month = jun, year = "2013", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue Apr 16 06:15:28 MDT 2013", bibsource = "http://www.sciencedirect.com/science/journal/00200190; https://www.math.utah.edu/pub/tex/bib/infoproc2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0020019013000926", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Le:2013:MEM, author = "Hoang Le and Viktor K. Prasanna", title = "A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching", journal = j-IEEE-TRANS-COMPUT, volume = "62", number = "5", pages = "844--857", month = may, year = "2013", CODEN = "ITCOB4", DOI = "https://doi.org/10.1109/TC.2012.38", ISSN = "0018-9340 (print), 1557-9956 (electronic)", ISSN-L = "0018-9340", bibdate = "Tue Apr 30 12:26:22 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12", } @Article{Lee:2013:PMS, author = "Tsern-Huei Lee and Nai-Lun Huang", title = "A pattern-matching scheme with high throughput performance and low memory requirement", journal = j-IEEE-TRANS-NETWORKING, volume = "21", number = "4", pages = "1104--1116", month = aug, year = "2013", CODEN = "IEANEP", DOI = "https://doi.org/10.1109/TNET.2012.2224881", ISSN = "1063-6692 (print), 1558-2566 (electronic)", ISSN-L = "1063-6692", bibdate = "Mon Sep 9 17:27:57 MDT 2013", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/ieeetransnetworking.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Pattern-matching techniques have recently been applied to network security applications such as intrusion detection, virus protection, and spam filters. The widely used Aho--Corasick (AC) algorithm can simultaneously match multiple patterns while providing a worst-case performance guarantee. However, as transmission technologies improve, the AC algorithm cannot keep up with transmission speeds in high-speed networks. Moreover, it may require a huge amount of space to store a two-dimensional state transition table when the total length of patterns is large. In this paper, we present a pattern-matching architecture consisting of a stateful pre-filter and an AC-based verification engine. The stateful pre-filter is optimal in the sense that it is equivalent to utilizing all previous query results. In addition, the filter can be easily realized with bitmaps and simple bitwise-AND and shift operations. The size of the two-dimensional state transition table in our proposed architecture is proportional to the number of patterns, as opposed to the total length of patterns in previous designs. Our proposed architecture achieves a significant improvement in both throughput performance and memory usage.", acknowledgement = ack-nhfb, fjournal = "IEEE\slash ACM Transactions on Networking", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J771", } @Article{Li:2013:OPS, author = "Bin Li and Steven C. H. Hoi", title = "Online portfolio selection: a survey", journal = j-COMP-SURV, volume = "46", number = "3", pages = "35:1--35:??", month = jan, year = "2013", CODEN = "CMSVAN", DOI = "https://doi.org/10.1145/2512962", ISSN = "0360-0300 (print), 1557-7341 (electronic)", ISSN-L = "0360-0300", bibdate = "Thu Feb 6 07:33:31 MST 2014", bibsource = "http://www.acm.org/pubs/contents/journals/surveys/; https://www.math.utah.edu/pub/tex/bib/compsurv.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Online portfolio selection is a fundamental problem in computational finance, which has been extensively studied across several research communities, including finance, statistics, artificial intelligence, machine learning, and data mining. This article aims to provide a comprehensive survey and a structural understanding of online portfolio selection techniques published in the literature. From an online machine learning perspective, we first formulate online portfolio selection as a sequential decision problem, and then we survey a variety of state-of-the-art approaches, which are grouped into several major categories, including benchmarks, Follow-the-Winner approaches, Follow-the-Loser approaches, Pattern-Matching--based approaches, and Meta-Learning Algorithms. In addition to the problem formulation and related algorithms, we also discuss the relationship of these algorithms with the capital growth theory so as to better understand the similarities and differences of their underlying trading ideas. This article aims to provide a timely and comprehensive survey for both machine learning and data mining researchers in academia and quantitative portfolio managers in the financial industry to help them understand the state of the art and facilitate their research and practical applications. We also discuss some open issues and evaluate some emerging new trends for future research.", acknowledgement = ack-nhfb, articleno = "35", fjournal = "ACM Computing Surveys", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J204", } @InProceedings{Libkin:2013:TRA, author = "Leonid Libkin and Juan Reutter and Domagoj Vrgoc", title = "Trial for {RDF}: adapting graph query languages for {RDF} data", crossref = "Hull:2013:SPC", pages = "201--212", year = "2013", DOI = "https://doi.org/10.1145/2463664.2465226", bibdate = "Wed Mar 5 07:53:56 MST 2014", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Querying RDF data is viewed as one of the main applications of graph query languages, and yet the standard model of graph databases --- essentially labeled graphs --- is different from the triples-based model of RDF. While encodings of RDF databases into graph data exist, we show that even the most natural ones are bound to lose some functionality when used in conjunction with graph query languages. The solution is to work directly with triples, but then many properties taken for granted in the graph database context (e.g., reachability) lose their natural meaning. Our goal is to introduce languages that work directly over triples and are closed, i.e., they produce sets of triples, rather than graphs. Our basic language is called TriAL, or Triple Algebra: it guarantees closure properties by replacing the product with a family of join operations. We extend TriAL with recursion, and explain why such an extension is more intricate for triples than for graphs. We present a declarative language, namely a fragment of datalog, capturing the recursive algebra. For both languages, the combined complexity of query evaluation is given by low-degree polynomials. We compare our languages with relational languages, such as finite-variable logics, and previously studied graph query languages such as adaptations of XPath, regular path queries, and nested regular expressions; many of these languages are subsumed by the recursive triple algebra. We also provide examples of the usefulness of TriAL in querying graph and RDF data.", acknowledgement = ack-nhfb, } @Article{Lin:2013:APM, author = "Cheng-Hung Lin and Chen-Hsiung Liu and Lung-Sheng Chien and Shih-Chieh Chang", title = "Accelerating Pattern Matching Using a Novel Parallel Algorithm on {GPUs}", journal = j-IEEE-TRANS-COMPUT, volume = "62", number = "10", pages = "1906--1916", month = oct, year = "2013", CODEN = "ITCOB4", DOI = "https://doi.org/10.1109/TC.2012.254", ISSN = "0018-9340 (print), 1557-9956 (electronic)", ISSN-L = "0018-9340", bibdate = "Fri Nov 15 08:54:34 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12", } @Article{Liu:2013:IAA, author = "Nan Liu and Haitao Jiang and Daming Zhu and Binhai Zhu", title = "An Improved Approximation Algorithm for Scaffold Filling to Maximize the Common Adjacencies", journal = j-TCBB, volume = "10", number = "4", pages = "905--913", month = jul, year = "2013", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2013.100", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Thu Jan 9 15:33:59 MST 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "Scaffold filling is a new combinatorial optimization problem in genome sequencing. The one-sided scaffold filling problem can be described as given an incomplete genome $ (I) $ and a complete (reference) genome $ (G) $, fill the missing genes into $ (I) $ such that the number of common (string) adjacencies between the resulting genome $ (I^{\prime }) $ and $ (G) $ is maximized. This problem is NP-complete for genome with duplicated genes and the best known approximation factor is 1.33, which uses a greedy strategy. In this paper, we prove a better lower bound of the optimal solution, and devise a new algorithm by exploiting the maximum matching method and a local improvement technique, which improves the approximation factor to 1.25. For genome with gene repetitions, this is the only known NP-complete problem which admits an approximation with a small constant factor (less than 1.5).", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", } @Article{Losemann:2013:CRE, author = "Katja Losemann and Wim Martens", title = "The complexity of regular expressions and property paths in {SPARQL}", journal = j-TODS, volume = "38", number = "4", pages = "24:1--24:??", month = nov, year = "2013", CODEN = "ATDSD3", DOI = "https://doi.org/10.1145/2494529", ISSN = "0362-5915 (print), 1557-4644 (electronic)", ISSN-L = "0362-5915", bibdate = "Mon Dec 9 11:35:10 MST 2013", bibsource = "http://www.acm.org/pubs/contents/journals/tods/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tods.bib", abstract = "The World Wide Web Consortium (W3C) recently introduced property paths in SPARQL 1.1, a query language for RDF data. Property paths allow SPARQL queries to evaluate regular expressions over graph-structured data. However, they differ from standard regular expressions in several notable aspects. For example, they have a limited form of negation, they have numerical occurrence indicators as syntactic sugar, and their semantics on graphs is defined in a nonstandard manner. We formalize the W3C semantics of property paths and investigate various query evaluation problems on graphs. More specifically, let $x$ and $y$ be two nodes in an edge-labeled graph and $r$ be an expression. We study the complexities of: (1) deciding whether there exists a path from $x$ to $y$ that matches $r$ and (2) counting how many paths from $x$ to $y$ match $r$. Our main results show that, compared to an alternative semantics of regular expressions on graphs, the complexity of (1) and (2) under W3C semantics is significantly higher. Whereas the alternative semantics remains in polynomial time for large fragments of expressions, the W3C semantics makes problems (1) and (2) intractable almost immediately. As a side-result, we prove that the membership problem for regular expressions with numerical occurrence indicators and negation is in polynomial time.", acknowledgement = ack-nhfb, articleno = "24", fjournal = "ACM Transactions on Database Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J777", } @Article{Lu:2013:NFM, author = "Chia Wei Lu and Chin Lung Lu and R. C. T. Lee", title = "A new filtration method and a hybrid strategy for approximate string matching", journal = j-THEOR-COMP-SCI, volume = "481", number = "??", pages = "9--17", day = "15", month = apr, year = "2013", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Tue Apr 16 05:48:59 MDT 2013", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397513001540", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Mooney:2013:SPM, author = "Carl H. Mooney and John F. Roddick", title = "Sequential pattern mining --- approaches and algorithms", journal = j-COMP-SURV, volume = "45", number = "2", pages = "19:1--19:39", month = feb, year = "2013", CODEN = "CMSVAN", DOI = "https://doi.org/10.1145/2431211.2431218", ISSN = "0360-0300 (print), 1557-7341 (electronic)", ISSN-L = "0360-0300", bibdate = "Thu Mar 7 11:42:33 MST 2013", bibsource = "http://www.acm.org/pubs/contents/journals/surveys/; https://www.math.utah.edu/pub/tex/bib/compsurv.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Sequences of events, items, or tokens occurring in an ordered metric space appear often in data and the requirement to detect and analyze frequent subsequences is a common problem. Sequential Pattern Mining arose as a subfield of data mining to focus on this field. This article surveys the approaches and algorithms proposed to date.", acknowledgement = ack-nhfb, articleno = "19", fjournal = "ACM Computing Surveys", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J204", } @Article{Nataliani:2013:IBV, author = "Yessica Nataliani and Theophilus Wellem", title = "Implementation of Bit-Vector Algorithm for Approximate String Matching on Rhodopsin Protein Sequence", journal = j-INT-J-COMP-APPL, volume = "72", number = "??", pages = "34--38", month = jun, year = "2013", CODEN = "????", DOI = "https://doi.org/10.5120/12565-9214", ISSN = "0975-8887", ISSN-L = "0975-8887", bibdate = "Fri Jan 24 08:58:20 MST 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/intjcompappl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.ijcaonline.org/archives/volume72/number14/12565-9214/", acknowledgement = ack-nhfb, ajournal = "Intern. J. of Computer Applications", articleno = "14", fjournal = "International Journal of Computer Applications", journal-URL = "https://www.ijcaonline.org/", } @Article{Okcan:2013:SEA, author = "Alper Okcan and Mirek Riedewald and Biswanath Panda and Daniel Fink", title = "{Scolopax}: exploratory analysis of scientific data", journal = j-PROC-VLDB-ENDOWMENT, volume = "6", number = "12", pages = "1298--1301", month = aug, year = "2013", CODEN = "????", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Fri Dec 13 05:57:00 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "The formulation of hypotheses based on patterns found in data is an essential component of scientific discovery. As larger and richer data sets become available, new scalable and user-friendly tools for scientific discovery through data analysis are needed. We demonstrate Scolopax, which explores the idea of a search engine for hypotheses. It has an intuitive user interface that supports sophisticated queries. Scolopax can explore a huge space of possible hypotheses, returning a ranked list of those that best match the user preferences. To scale to large and complex data sets, Scolopax relies on parallel data management and mining techniques. These include model training, efficient model summary generation, and novel parallel join techniques that together with traditional approaches such as clustering manipulate massive model-summary collections to find the most interesting hypotheses. This demonstration of Scolopax uses a real observational data set, provided by the Cornell Lab of Ornithology. It contains more than 3.3 million bird sightings reported by citizen scientists and has almost 2500 attributes. Conference attendees have the opportunity to make novel discoveries in this data set, ranging from identifying variables that strongly affect bird populations in specific regions to detecting more sophisticated patterns such as habitat competition and migration.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Poleksic:2013:IAM, author = "Aleksandar Poleksic", title = "Improved Algorithms for Matching $r$-Separated Sets with Applications to Protein Structure Alignment", journal = j-TCBB, volume = "10", number = "1", pages = "226--229", month = jan, year = "2013", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2012.135", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Mon Jun 10 07:28:56 MDT 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "The Largest Common Point-set (LCP) and the Pattern Matching (PM) problems have received much attention in the fields of pattern matching, computer vision and computational biology. Perhaps, the most important application of these problems is the protein structural alignment, which seeks to find a superposition of a pair of input proteins that maximizes a given protein structure similarity metric. Although it has been shown that LCP and PM are both tractable problems, the running times of existing algorithms are high-degree polynomials. Here, we present novel methods for finding approximate and exact threshold-LCP and threshold-PM for r-separated sets, in general, and protein 3D structures, in particular. Improved running times of our methods are achieved by building upon several different, previously published techniques.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", } @Article{Qiao:2013:TKN, author = "Miao Qiao and Lu Qin and Hong Cheng and Jeffrey Xu Yu and Wentao Tian", title = "Top-$k$ nearest keyword search on large graphs", journal = j-PROC-VLDB-ENDOWMENT, volume = "6", number = "10", pages = "901--912", month = aug, year = "2013", CODEN = "????", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Fri Dec 13 05:56:50 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "It is quite common for networks emerging nowadays to have labels or textual contents on the nodes. On such networks, we study the problem of top-$k$ nearest keyword ($k$-NK) search. In a network $G$ modeled as an undirected graph, each node is attached with zero or more keywords, and each edge is assigned with a weight measuring its length. Given a query node $q$ in $G$ and a keyword $ \lambda $, a $k$-NK query seeks $k$ nodes which contain $ \lambda $ and are nearest to $q$. $k$-NK is not only useful as a stand-alone query but also as a building block for tackling complex graph pattern matching problems. The key to an accurate $k$-NK result is a precise shortest distance estimation in a graph. Based on the latest distance oracle technique, we build a shortest path tree for a distance oracle and use the tree distance as a more accurate estimation. With such representation, the original $k$-NK query on a graph can be reduced to answering the query on a set of trees and then assembling the results obtained from the trees. We propose two efficient algorithms to report the exact $k$-NK result on a tree. One is query time optimized for a scenario when a small number of result nodes are of interest to users. The other handles $k$-NK queries for an arbitrarily large $k$ efficiently. In obtaining a $k$-NK result on a graph from that on trees, a global storage technique is proposed to further reduce the index size and the query time. Extensive experimental results conform with our theoretical findings, and demonstrate the effectiveness and efficiency of our $k$-NK algorithms on large real graphs.", acknowledgement = ack-nhfb, ajournal = "Proc. VLDB Endowment", fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Qiao:2013:TNK, author = "Miao Qiao and Lu Qin and Hong Cheng and Jeffrey Xu Yu and Wentao Tian", title = "Top-$k$ nearest keyword search on large graphs", journal = j-PROC-VLDB-ENDOWMENT, volume = "6", number = "10", pages = "901--912", month = aug, year = "2013", CODEN = "????", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Fri Dec 13 05:56:50 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "It is quite common for networks emerging nowadays to have labels or textual contents on the nodes. On such networks, we study the problem of top-$k$ nearest keyword ($k$-NK) search. In a network $G$ modeled as an undirected graph, each node is attached with zero or more keywords, and each edge is assigned with a weight measuring its length. Given a query node $q$ in $G$ and a keyword $ \lambda $, a $k$-NK query seeks $k$ nodes which contain $ \lambda $ and are nearest to $q$. $k$-NK is not only useful as a stand-alone query but also as a building block for tackling complex graph pattern matching problems. The key to an accurate $k$-NK result is a precise shortest distance estimation in a graph. Based on the latest distance oracle technique, we build a shortest path tree for a distance oracle and use the tree distance as a more accurate estimation. With such representation, the original $k$-NK query on a graph can be reduced to answering the query on a set of trees and then assembling the results obtained from the trees. We propose two efficient algorithms to report the exact $k$-NK result on a tree. One is query time optimized for a scenario when a small number of result nodes are of interest to users. The other handles $k$-NK queries for an arbitrarily large $k$ efficiently. In obtaining a $k$-NK result on a graph from that on trees, a global storage technique is proposed to further reduce the index size and the query time. Extensive experimental results conform with our theoretical findings, and demonstrate the effectiveness and efficiency of our $k$-NK algorithms on large real graphs.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Qin:2013:ASS, author = "Jianbin Qin and Wei Wang and Chuan Xiao and Yifei Lu and Xuemin Lin and Haixun Wang", title = "Asymmetric signature schemes for efficient exact edit similarity query processing", journal = j-TODS, volume = "38", number = "3", pages = "16:1--16:??", month = aug, year = "2013", CODEN = "ATDSD3", DOI = "https://doi.org/10.1145/2508020.2508023", ISSN = "0362-5915 (print), 1557-4644 (electronic)", ISSN-L = "0362-5915", bibdate = "Fri Aug 30 16:33:21 MDT 2013", bibsource = "http://www.acm.org/pubs/contents/journals/tods/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tods.bib", abstract = "Given a query string Q, an edit similarity search finds all strings in a database whose edit distance with {$Q$} is no more than a given threshold $ \tau $ . Most existing methods answering edit similarity queries employ schemes to generate string subsequences as signatures and generate candidates by set overlap queries on query and data signatures. In this article, we show that for any such signature scheme, the lower bound of the minimum number of signatures is $ \tau + 1 $, which is lower than what is achieved by existing methods. We then propose several asymmetric signature schemes, that is, extracting different numbers of signatures for the data and query strings, which achieve this lower bound. A basic asymmetric scheme is first established on the basis of matching $q$-chunks and $q$-grams between two strings. Two efficient query processing algorithms (IndexGram and IndexChunk) are developed on top of this scheme. We also propose novel candidate pruning methods to further improve the efficiency. We then generalize the basic scheme by incorporating novel ideas of floating $q$-chunks, optimal selection of $q$-chunks, and reducing the number of signatures using global ordering. As a result, the Super and Turbo families of schemes are developed together with their corresponding query processing algorithms. We have conducted a comprehensive experimental study using the six asymmetric algorithms and nine previous state-of-the-art algorithms. The experiment results clearly showcase the efficiency of our methods and demonstrate space and time characteristics of our proposed algorithms.", acknowledgement = ack-nhfb, articleno = "16", fjournal = "ACM Transactions on Database Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J777", } @Article{Sadoghi:2013:AOB, author = "Mohammad Sadoghi and Hans-Arno Jacobsen", title = "Analysis and optimization for {Boolean} expression indexing", journal = j-TODS, volume = "38", number = "2", pages = "8:1--8:??", month = jun, year = "2013", CODEN = "ATDSD3", DOI = "https://doi.org/10.1145/2487259.2487260", ISSN = "0362-5915 (print), 1557-4644 (electronic)", ISSN-L = "0362-5915", bibdate = "Mon Jul 1 18:44:25 MDT 2013", bibsource = "http://www.acm.org/pubs/contents/journals/tods/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tods.bib", abstract = "BE-Tree is a novel dynamic data structure designed to efficiently index Boolean expressions over a high-dimensional discrete space. BE Tree-copes with both high-dimensionality and expressiveness of Boolean expressions by introducing an effective two-phase space-cutting technique that specifically utilizes the discrete and finite domain properties of the space. Furthermore, BE-Tree employs self-adjustment policies to dynamically adapt the tree as the workload changes. Moreover, in BE-Tree, we develop two novel cache-conscious predicate evaluation techniques, namely, lazy and bitmap evaluations, that also exploit the underlying discrete and finite space to substantially reduce BE-Tree's matching time by up to 75\% BE-Tree is a general index structure for matching Boolean expression which has a wide range of applications including (complex) event processing, publish/subscribe matching, emerging applications in cospaces, profile matching for targeted web advertising, and approximate string matching. Finally, the superiority of BE-Tree is proven through a comprehensive evaluation with state-of-the-art index structures designed for matching Boolean expressions.", acknowledgement = ack-nhfb, articleno = "8", fjournal = "ACM Transactions on Database Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J777", } @Article{Sarma:2013:ULB, author = "Anish Das Sarma and Foto N. Afrati and Semih Salihoglu and Jeffrey D. Ullman", title = "Upper and lower bounds on the cost of a map-reduce computation", journal = j-PROC-VLDB-ENDOWMENT, volume = "6", number = "4", pages = "277--288", month = feb, year = "2013", CODEN = "????", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Fri Dec 13 05:56:22 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "In this paper we study the tradeoff between parallelism and communication cost in a map-reduce computation. For any problem that is not ``embarrassingly parallel,'' the finer we partition the work of the reducers so that more parallelism can be extracted, the greater will be the total communication between mappers and reducers. We introduce a model of problems that can be solved in a single round of map-reduce computation. This model enables a generic recipe for discovering lower bounds on communication cost as a function of the maximum number of inputs that can be assigned to one reducer. We use the model to analyze the tradeoff for three problems: finding pairs of strings at Hamming distance d, finding triangles and other patterns in a larger graph, and matrix multiplication. For finding strings of Hamming distance 1, we have upper and lower bounds that match exactly. For triangles and many other graphs, we have upper and lower bounds that are the same to within a constant factor. For the problem of matrix multiplication, we have matching upper and lower bounds for one-round map-reduce algorithms. We are also able to explore two-round map-reduce algorithms for matrix multiplication and show that these never have more communication, for a given reducer size, than the best one-round algorithm, and often have significantly less.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Schmid:2013:ICR, author = "Markus L. Schmid", title = "Inside the Class of Regex Languages", journal = j-INT-J-FOUND-COMP-SCI, volume = "24", number = "7", pages = "1117--??", month = nov, year = "2013", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S0129054113400340", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Thu Feb 27 13:50:02 MST 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Schmidt:2013:PSM, author = "Thorsten-Walther Schmidt and Jan Nov{\'a}k and Johannes Meng and Anton S. Kaplanyan and Tim Reiner and Derek Nowrouzezahrai and Carsten Dachsbacher", title = "Path-space manipulation of physically-based light transport", journal = j-TOG, volume = "32", number = "4", pages = "129:1--129:??", month = jul, year = "2013", CODEN = "ATGRDF", DOI = "https://doi.org/10.1145/2461912.2461980", ISSN = "0730-0301 (print), 1557-7368 (electronic)", ISSN-L = "0730-0301", bibdate = "Sat Jul 13 11:43:20 MDT 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tog.bib", abstract = "Industry-quality content creation relies on tools for lighting artists to quickly prototype, iterate, and refine final renders. As industry-leading studios quickly adopt physically-based rendering (PBR) across their art generation pipelines, many existing tools have become unsuitable as they address only simple effects without considering underlying PBR concepts and constraints. We present a novel light transport manipulation technique that operates directly on path-space solutions of the rendering equation. We expose intuitive direct and indirect manipulation approaches to edit complex effects such as (multi-refracted) caustics, diffuse and glossy indirect bounces, and direct/indirect shadows. With our sketch- and object-space selection, all built atop a parameterized regular expression engine, artists can search and isolate shading effects to inspect and edit. We classify and filter paths on the fly and visualize the selected transport phenomena. We survey artists who used our tool to manipulate complex phenomena on both static and animated scenes.", acknowledgement = ack-nhfb, articleno = "129", fjournal = "ACM Transactions on Graphics", journal-URL = "https://dl.acm.org/loi/tog", } @Book{Stroustrup:2013:CPL, author = "Bjarne Stroustrup", title = "The {C++} programming language", publisher = pub-AW, address = pub-AW:adr, edition = "Fourth", pages = "xiv + 1346", year = "2013", ISBN = "0-321-56384-0 (paperback), 0-321-95832-2 (hardcover), 0-13-352283-0 (e-book)", ISBN-13 = "978-0-321-56384-2 (paperback), 978-0-321-95832-7 (hardcover), 978-0-13-352283-9 (e-book)", LCCN = "QA76.73.C153 S77 2013", bibdate = "Mon Sep 6 13:47:44 MDT 2021", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/prng.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The new C++11 standard allows programmers to express ideas more clearly, simply, and directly, and to write faster, more efficient code. Bjarne Stroustrup, the designer and original implementer of C++, has reorganized, extended, and completely rewritten his definitive reference and tutorial for programmers who want to use C++ most effectively. The C++ Programming Language, Fourth Edition, delivers meticulous, richly explained, and integrated coverage of the entire language-its facilities, abstraction mechanisms, standard libraries, and key design techniques. Throughout, Stroustrup presents concise, ``pure C++11'' examples, which have been carefully crafted to clarify both usage and program design. To promote deeper understanding, the author provides extensive cross-references, both within the book and to the ISO standard. New C++11 coverage includes Support for concurrency Regular expressions, resource management pointers, random numbers, and improved containers General and uniform initialization, simplified for-statements, move semantics, and Unicode support Lambdas, general constant expressions, control over class defaults, variadic templates, template aliases, and user-defined literals Compatibility issues Topics addressed in this comprehensive book include Basic facilities: type, object, scope, storage, computation fundamentals, and more Modularity, as supported by namespaces, source files, and exception handling C++ abstraction, including classes, class hierarchies, and templates in support of a synthesis of traditional programming, object-oriented programming, and generic programming Standard Library: containers, algorithms, iterators, utilities, strings, stream I/O, locales, numerics, and more The C++ basic memory model, in depth This fourth edition makes C++11 thoroughly accessible to programmers moving from C++98 or other languages, while introducing insights and techniques that even cutting-edge C++11 programmers will find indispensable. This book features an enhanced, layflat binding, which allows the book to stay open more easily when placed on a flat surface. This special binding method --- noticeable by a small space inside the spine also increases durability.", acknowledgement = ack-nhfb, libnote = "Not in my library.", subject = "C++ (Computer program language); Computer programming; C++ (Langage de programmation); Programmation (Informatique); C++ (Computer program language); Computer programming.", tableofcontents = "Part I: Introductory Material \\ 1. Notes to the Reader \\ 2. A Tour of C++: The Basics \\ 3. A Tour of C++: Abstraction Mechanisms \\ 4. A Tour of C++: Containers and Algorithms \\ 5. A Tour of C++: Concurrency and Utilities \\ Part II: Basic Facilities \\ 6. Types and Declarations \\ 7. Pointers, Arrays, and References \\ 8. Structures, Unions, and Enumerations \\ 9. Statements \\ 10. Expressions \\ 11. Select Operations \\ 12. Functions \\ 13. Exception Handling \\ 14. Namespaces \\ 15. Source Files and Programs \\ Part III: Abstraction Mechanisms \\ 16. Classes \\ 17. Construction, Cleanup, Copy, and Move \\ 18. Overloading \\ 19. Special Operators \\ 20. Derived Classes \\ 21. Class Hierarchies \\ 22. Run-Time Type Information \\ 23. Templates \\ 24. Generic Programming \\ 25. Specialization \\ 26. Instantiation \\ 27. Templates and Hierarchies \\ 28. Metaprogramming \\ 29. A Matrix Design \\ Part IV: The Standard Library \\ 30. Standard Library Summary \\ 31. STL Containers \\ 32. STL Algorithms \\ 33. STL Iterators \\ 34. Memory and Resources \\ 35. Utilities \\ 36. Strings \\ 37. Regular Expressions \\ 38. I/O Streams \\ 39. Locales \\ 40. Numerics \\ 41. Concurrency \\ 42. Threads and Tasks \\ 43. The C Standard Library \\ 44. Compatibility", } @Article{Tateishi:2013:PIS, author = "Takaaki Tateishi and Marco Pistoia and Omer Tripp", title = "Path- and index-sensitive string analysis based on monadic second-order logic", journal = j-TOSEM, volume = "22", number = "4", pages = "33:1--33:??", month = oct, year = "2013", CODEN = "ATSMER", DOI = "https://doi.org/10.1145/2522920.2522926", ISSN = "1049-331X (print), 1557-7392 (electronic)", ISSN-L = "1049-331X", bibdate = "Wed Oct 30 12:18:03 MDT 2013", bibsource = "http://www.acm.org/pubs/contents/journals/tosem/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tosem.bib", abstract = "We propose a novel technique for statically verifying the strings generated by a program. The verification is conducted by encoding the program in Monadic Second-order Logic (M2L). We use M2L to describe constraints among program variables and to abstract built-in string operations. Once we encode a program in M2L, a theorem prover for M2L, such as MONA, can automatically check if a string generated by the program satisfies a given specification, and if not, exhibit a counterexample. With this approach, we can naturally encode relationships among strings, accounting also for cases in which a program manipulates strings using indices. In addition, our string analysis is path sensitive in that it accounts for the effects of string and Boolean comparisons, as well as regular-expression matches. We have implemented our string analysis algorithm, and used it to augment an industrial security analysis for Web applications by automatically detecting and verifying sanitizers --- methods that eliminate malicious patterns from untrusted strings, making these strings safe to use in security-sensitive operations. On the 8 benchmarks we analyzed, our string analyzer discovered 128 previously unknown sanitizers, compared to 71 sanitizers detected by a previously presented string analysis.", acknowledgement = ack-nhfb, articleno = "33", fjournal = "ACM Transactions on Software Engineering and Methodology", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J790", } @Article{Tomohiro:2013:PPM, author = "Tomohiro I and Shunsuke Inenaga and Masayuki Takeda", title = "Palindrome pattern matching", journal = j-THEOR-COMP-SCI, volume = "483", number = "??", pages = "162--170", day = "29", month = apr, year = "2013", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2012.01.047", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon May 6 18:32:37 MDT 2013", bibsource = "http://www.sciencedirect.com/science/journal/03043975; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397512001041", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Toyoda:2013:PDD, author = "Machiko Toyoda and Yasushi Sakurai and Yoshiharu Ishikawa", title = "Pattern discovery in data streams under the time warping distance", journal = j-VLDB-J, volume = "22", number = "3", pages = "295--318", month = jun, year = "2013", CODEN = "VLDBFR", DOI = "https://doi.org/10.1007/s00778-012-0289-3", ISSN = "1066-8888 (print), 0949-877X (electronic)", ISSN-L = "1066-8888", bibdate = "Wed Jul 17 17:37:10 MDT 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbj.bib", abstract = "Subsequence matching is a basic problem in the field of data stream mining. In recent years, there has been significant research effort spent on efficiently finding subsequences similar to a query sequence. Another challenging issue in relation to subsequence matching is how we identify common local patterns when both sequences are evolving. This problem arises in trend detection, clustering, and outlier detection. Dynamic time warping (DTW) is often used for subsequence matching and is a powerful similarity measure. However, the straightforward method using DTW incurs a high computation cost for this problem. In this paper, we propose a one-pass algorithm, CrossMatch, that achieves the above goal. CrossMatch addresses two important challenges: (1) how can we identify common local patterns efficiently without any omission? (2) how can we find common local patterns in data stream processing? To tackle these challenges, CrossMatch incorporates three ideas: (1) a scoring function, which computes the DTW distance indirectly to reduce the computation cost, (2) a position matrix, which stores starting positions to keep track of common local patterns in a streaming fashion, and (3) a streaming algorithm, which identifies common local patterns efficiently and outputs them on the fly. We provide a theoretical analysis and prove that our algorithm does not sacrifice accuracy. Our experimental evaluation and case studies show that CrossMatch can incrementally discover common local patterns in data streams within constant time (per update) and space.", acknowledgement = ack-nhfb, fjournal = "VLDB Journal: Very Large Data Bases", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{Traytel:2013:VDP, author = "Dmitriy Traytel and Tobias Nipkow", title = "Verified decision procedures for {MSO} on words based on derivatives of regular expressions", journal = j-SIGPLAN, volume = "48", number = "9", pages = "3--12", month = sep, year = "2013", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2544174.2500612", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Nov 27 18:32:10 MST 2013", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Monadic second-order logic on finite words (MSO) is a decidable yet expressive logic into which many decision problems can be encoded. Since MSO formulas correspond to regular languages, equivalence of MSO formulas can be reduced to the equivalence of some regular structures (e.g. automata). This paper presents a verified functional decision procedure for MSO formulas that is not based on automata but on regular expressions. Functional languages are ideally suited for this task: regular expressions are data types and functions on them are defined by pattern matching and recursion and are verified by structural induction. Decision procedures for regular expression equivalence have been formalized before, usually based on Brzozowski derivatives. Yet, for a straightforward embedding of MSO formulas into regular expressions an extension of regular expressions with a projection operation is required. We prove total correctness and completeness of an equivalence checker for regular expressions extended in that way. We also define a language-preserving translation of formulas into regular expressions with respect to two different semantics of MSO. Our results have been formalized and verified in the theorem prover Isabelle. Using Isabelle's code generation facility, this yields purely functional, formally verified programs that decide equivalence of MSO formulas.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "ICFP '13 conference proceedings.", } @Article{Tseng:2013:NNE, author = "Kuo-Kun Tseng and Fu-Fu Zeng and Huang-Nan Huang and Yiming Liu and Jeng-Shyang Pan and W. H. Ip and C. H. Wu", title = "A new non-exact {Aho--Corasick} framework for {ECG} classification", journal = j-COMP-ARCH-NEWS, volume = "41", number = "2", pages = "41--46", month = may, year = "2013", CODEN = "CANED2", DOI = "https://doi.org/10.1145/2490302.2490310", ISSN = "0163-5964 (print), 1943-5851 (electronic)", ISSN-L = "0163-5964", bibdate = "Sat Jun 1 11:00:26 MDT 2013", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigarch.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The Aho--Corasick (AC) algorithm is a popular and useful exact string matching algorithm for text searching and deep packet inspection. However, it has seldom been used for non-exact classification or identification. We propose a novel framework to make use of AC for non-exact matching in the ECG identification. The AC classification (ACC) algorithm converts ECG waveforms into several short patterns for AC, and decides the identification result by AC matched counting value. In our experiments, the results are surprisingly good and superior to previous algorithms. So, we designed an AC algorithm application for non-exact classification with high accuracy. Meanwhile, ACC inherits the advantage from AC of being capable of handling a large pattern set with linear time complexity.", acknowledgement = ack-nhfb, fjournal = "ACM SIGARCH Computer Architecture News", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J89", } @Article{Wang:2013:MMC, author = "Hao Wang and Shi Pu and Gabe Knezek and Jyh-Charn Liu", title = "{MIN-MAX}: A Counter-Based Algorithm for Regular Expression Matching", journal = j-IEEE-TRANS-PAR-DIST-SYS, volume = "24", number = "1", pages = "92--103", month = jan, year = "2013", CODEN = "ITDSEO", DOI = "https://doi.org/10.1109/TPDS.2012.116", ISSN = "1045-9219 (print), 1558-2183 (electronic)", ISSN-L = "1045-9219", bibdate = "Wed May 1 08:02:21 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranspardistsys.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Parallel and Distributed Systems", journal-URL = "http://www.computer.org/tpds/archives.htm", } @Article{Wang:2013:RPM, author = "Meng Wang and Jeremy Gibbons and Kazutaka Matsuda and Zhenjiang Hu", title = "Refactoring pattern matching", journal = j-SCI-COMPUT-PROGRAM, volume = "78", number = "11", pages = "2216--2242", day = "1", month = nov, year = "2013", CODEN = "SCPGD4", ISSN = "0167-6423 (print), 1872-7964 (electronic)", ISSN-L = "0167-6423", bibdate = "Tue Sep 3 06:34:38 MDT 2013", bibsource = "http://www.sciencedirect.com/science/journal/01676423; https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0167642312001426", acknowledgement = ack-nhfb, fjournal = "Science of Computer Programming", journal-URL = "http://www.sciencedirect.com/science/journal/01676423", } @Article{Xiao:2013:EET, author = "Chuan Xiao and Jianbin Qin and Wei Wang and Yoshiharu Ishikawa and Koji Tsuda and Kunihiko Sadakane", title = "Efficient error-tolerant query autocompletion", journal = j-PROC-VLDB-ENDOWMENT, volume = "6", number = "6", pages = "373--384", month = apr, year = "2013", CODEN = "????", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Fri Dec 13 05:56:32 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "Query autocompletion is an important feature saving users many keystrokes from typing the entire query. In this paper we study the problem of query autocompletion that tolerates errors in users' input using edit distance constraints. Previous approaches index data strings in a trie, and continuously maintain all the prefixes of data strings whose edit distance from the query are within the threshold. The major inherent problem is that the number of such prefixes is huge for the first few characters of the query and is exponential in the alphabet size. This results in slow query response even if the entire query approximately matches only few prefixes. In this paper, we propose a novel neighborhood generation-based algorithm, IncNGTrie, which can achieve up to two orders of magnitude speedup over existing methods for the error-tolerant query autocompletion problem. Our proposed algorithm only maintains a small set of active nodes, thus saving both space and time to process the query. We also study efficient duplicate removal which is a core problem in fetching query answers. In addition, we propose optimization techniques to reduce our index size, as well as discussions on several extensions to our method. The efficiency of our method is demonstrated against existing methods through extensive experiments on real datasets.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Yang:2013:RSS, author = "Yi-Hua E. Yang and Viktor K. Prasanna", title = "Robust and Scalable String Pattern Matching for Deep Packet Inspection on Multicore Processors", journal = j-IEEE-TRANS-PAR-DIST-SYS, volume = "24", number = "11", pages = "2283--2292", month = nov, year = "2013", CODEN = "ITDSEO", DOI = "https://doi.org/10.1109/TPDS.2012.217", ISSN = "1045-9219 (print), 1558-2183 (electronic)", ISSN-L = "1045-9219", bibdate = "Fri Nov 15 10:31:20 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranspardistsys.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Parallel and Distributed Systems", journal-URL = "http://www.computer.org/tpds/archives.htm", } @Article{Yu:2013:EDA, author = "Xiaodong Yu and Michela Becchi", title = "Exploring different automata representations for efficient regular expression matching on {GPUs}", journal = j-SIGPLAN, volume = "48", number = "8", pages = "287--288", month = aug, year = "2013", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2517327.2442548", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Mon Aug 26 13:48:51 MDT 2013", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "PPoPP '13 Conference proceedings.", abstract = "Regular expression matching is a central task in several networking (and search) applications and has been accelerated on a variety of parallel architectures. All solutions are based on finite automata (either in deterministic or non-deterministic form), and mostly focus on effective memory representations for such automata. Recently, a handful of work has proposed efficient regular expression matching designs for GPUs; however, most of them aim at achieving good performance on small datasets. Nowadays, practical solutions must support the increased size and complexity of real world datasets. In this work, we explore the deployment and optimization of different GPU designs of regular expression matching engines, focusing on large datasets containing a large number of complex patterns.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", } @Article{Zha:2013:GGH, author = "Xinyan Zha and Sartaj Sahni", title = "{GPU-to-GPU} and Host-to-Host Multipattern String Matching on a {GPU}", journal = j-IEEE-TRANS-COMPUT, volume = "62", number = "6", pages = "1156--1169", month = jun, year = "2013", CODEN = "ITCOB4", DOI = "https://doi.org/10.1109/TC.2012.61", ISSN = "0018-9340 (print), 1557-9956 (electronic)", ISSN-L = "0018-9340", bibdate = "Tue Apr 30 12:26:22 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12", } @Article{Zhao:2013:EPG, author = "Xiang Zhao and Chuan Xiao and Xuemin Lin and Wei Wang and Yoshiharu Ishikawa", title = "Efficient processing of graph similarity queries with edit distance constraints", journal = j-VLDB-J, volume = "22", number = "6", pages = "727--752", month = dec, year = "2013", CODEN = "VLDBFR", DOI = "https://doi.org/10.1007/s00778-013-0306-1", ISSN = "1066-8888 (print), 0949-877X (electronic)", ISSN-L = "1066-8888", bibdate = "Thu Feb 13 09:58:45 MST 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbj.bib", abstract = "Graphs are widely used to model complicated data semantics in many applications in bioinformatics, chemistry, social networks, pattern recognition, etc. A recent trend is to tolerate noise arising from various sources such as erroneous data entries and find similarity matches. In this paper, we study graph similarity queries with edit distance constraints. Inspired by the q -gram idea for string similarity problems, our solution extracts paths from graphs as features for indexing. We establish a lower bound of common features to generate candidates. Efficient algorithms are proposed to handle three types of graph similarity queries by exploiting both matching and mismatching features as well as degree information to improve the filtering and verification on candidates. We demonstrate the proposed algorithms significantly outperform existing approaches with extensive experiments on real and synthetic datasets.", acknowledgement = ack-nhfb, fjournal = "VLDB Journal: Very Large Data Bases", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{Amit:2014:LEP, author = "Mika Amit and Rolf Backofen and Steffen Heyne and Gad M. Landau and Mathias M{\"o}hl and Christina Otto and Sebastian Will", title = "Local exact pattern matching for non-fixed {RNA} structures", journal = j-TCBB, volume = "11", number = "1", pages = "219--230", month = jan, year = "2014", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2013.2297113", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Thu Nov 6 16:13:12 MST 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "Detecting local common sequence-structure regions of RNAs is a biologically important problem. Detecting such regions allows biologists to identify functionally relevant similarities between the inspected molecules. We developed dynamic programming algorithms for finding common structure-sequence patterns between two RNAs. The RNAs are given by their sequence and a set of potential base pairs with associated probabilities. In contrast to prior work on local pattern matching of RNAs, we support the breaking of arcs. This allows us to add flexibility over matching only fixed structures; potentially matching only a similar subset of specified base pairs. We present an $ O(n^3) $ algorithm for local exact pattern matching between two nested RNAs, and an $ O(n^3 \log n) $ algorithm for one nested RNA and one bounded-unlimited RNA. In addition, an algorithm for approximate pattern matching is introduced that for two given nested RNAs and a number $k$, finds the maximal local pattern matching score between the two RNAs with at most $k$ mismatches in $ O(n^3 k^2)$ time. Finally, we present an $ O(n^3)$ algorithm for finding the most similar subforest between two nested RNAs.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", } @Article{Apostolico:2014:MSS, author = "Alberto Apostolico and P{\'e}ter L. Erd{\H{o}}s and Istv{\'a}n Mikl{\'o}s and Johannes Siemons", title = "Modulated string searching", journal = j-THEOR-COMP-SCI, volume = "525", number = "??", pages = "23--29", day = "13", month = mar, year = "2014", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Mar 8 16:44:06 MST 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397513007652", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", } @Article{Avigad:2014:FVM, author = "Jeremy Avigad and John Harrison", title = "Formally verified mathematics", journal = j-CACM, volume = "57", number = "4", pages = "66--75", month = apr, year = "2014", CODEN = "CACMA2", DOI = "https://doi.org/10.1145/2591012", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Wed May 21 10:20:09 MDT 2014", bibsource = "http://www.acm.org/pubs/contents/journals/cacm/; https://www.math.utah.edu/pub/tex/bib/cacm2010.bib; https://www.math.utah.edu/pub/tex/bib/kepler.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "With the help of computational proof assistants, formal verification could become the new standard for rigor in mathematics.", acknowledgement = ack-nhfb, fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", keywords = "ACL2 proof system; Boyer--Moore NQTHM theorem prover; Brouwer Fixed-Point Theorem; Coq proof system; de Bruijn factor; EQP theorem prover; Four Color Theorem; G{\"o}del Incompleteness Theorem; HOL proof system; HOL Light proof system; Isabelle proof checker; LCF proof checker; Milawa proof system; Mizar proof checker; Nuprl proof system; Prime Number Theorem; Project Flyspeck (Formal Proof of the Kepler Conjecture); Prototype Verification System (PVS) proof system; SSReflect proof language; Univalent Foundations Project", } @Article{Barcelo:2014:QRG, author = "Pablo Barcel{\'o} and Leonid Libkin and Juan L. Reutter", title = "Querying Regular Graph Patterns", journal = j-J-ACM, volume = "61", number = "1", pages = "8:1--8:??", month = jan, year = "2014", CODEN = "JACOAH", DOI = "https://doi.org/10.1145/2559905", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Wed Feb 5 17:06:24 MST 2014", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Graph data appears in a variety of application domains, and many uses of it, such as querying, matching, and transforming data, naturally result in incompletely specified graph data, that is, graph patterns. While queries need to be posed against such data, techniques for querying patterns are generally lacking, and properties of such queries are not well understood. Our goal is to study the basics of querying graph patterns. The key features of patterns we consider here are node and label variables and edges specified by regular expressions. We provide a classification of patterns, and study standard graph queries on graph patterns. We give precise characterizations of both data and combined complexity for each class of patterns. If complexity is high, we do further analysis of features that lead to intractability, as well as lower-complexity restrictions. Since our patterns are based on regular expressions, query answering for them can be captured by a new automata model. These automata have two modes of acceptance: one captures queries returning nodes, and the other queries returning paths. We study properties of such automata, and the key computational tasks associated with them. Finally, we provide additional restrictions for tractability, and show that some intractable cases can be naturally cast as instances of constraint satisfaction problems.", acknowledgement = ack-nhfb, articleno = "8", fjournal = "Journal of the ACM", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", } @Article{Bartoli:2014:ASR, author = "Alberto Bartoli and Giorgio Davanzo and Andrea {De Lorenzo} and Eric Medvet and Enrico Sorio", title = "Automatic Synthesis of Regular Expressions from Examples", journal = j-COMPUTER, volume = "47", number = "12", pages = "72--80", month = dec, year = "2014", CODEN = "CPTRB4", DOI = "https://doi.org/10.1109/MC.2014.344", ISSN = "0018-9162 (print), 1558-0814 (electronic)", ISSN-L = "0018-9162", bibdate = "Fri Feb 13 11:56:32 MST 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/computer2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://csdl.computer.org/csdl/mags/co/2014/12/mco2014120072-abs.html", abstract-URL = "http://csdl.computer.org/csdl/mags/co/2014/12/mco2014120072-abs.html", acknowledgement = ack-nhfb, journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2", } @Article{Ben-Kiki:2014:TOP, author = "Oren Ben-Kiki and Philip Bille and Dany Breslauer and Leszek G{\k{a}}sieniec and Roberto Grossi and Oren Weimann", title = "Towards optimal packed string matching", journal = j-THEOR-COMP-SCI, volume = "525", number = "??", pages = "111--129", day = "13", month = mar, year = "2014", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Mar 8 16:44:06 MST 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397513004672", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", } @Article{Bernardi:2014:DPD, author = "Mario Luca Bernardi and Marta Cimitile and Giuseppe {Di Lucca}", title = "Design pattern detection using a {DSL}-driven graph matching approach", journal = j-J-SOFTW-EVOL-PROC, volume = "26", number = "12", pages = "1233--1266", month = dec, year = "2014", CODEN = "????", DOI = "https://doi.org/10.1002/smr.1674", ISSN = "2047-7473 (print), 2047-7481 (electronic)", ISSN-L = "2047-7473", bibdate = "Wed Jan 31 13:48:31 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/jsoftwevolproc.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Journal of Software: Evolution and Process", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)2047-7481", } @Article{Bremler-Barr:2014:CSP, author = "Anat Bremler-Barr and David Hay and Yaron Koral", title = "{CompactDFA}: Scalable pattern matching using longest prefix match solutions", journal = j-IEEE-TRANS-NETWORKING, volume = "22", number = "2", pages = "415--428", month = apr, year = "2014", CODEN = "IEANEP", DOI = "https://doi.org/10.1109/TNET.2013.2253119", ISSN = "1063-6692 (print), 1558-2566 (electronic)", ISSN-L = "1063-6692", bibdate = "Wed Jun 11 19:05:55 MDT 2014", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/ieeetransnetworking.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "A central component in all contemporary intrusion detection systems (IDSs) is their pattern matching algorithms, which are often based on constructing and traversing a deterministic finite automaton (DFA) that represents the patterns. While this approach ensures deterministic time guarantees, modern IDSs need to deal with hundreds of patterns, thus requiring to store very large DFAs, which usually do not fit in fast memory. This results in a major bottleneck on the throughput of the IDS, as well as its power consumption and cost. We propose a novel method to compress DFAs by observing that the name used by common DFA encoding is meaningless. While regular DFAs store separately each transition between two states, we use this degree of freedom and encode states in such a way that all transitions to a specific state are represented by a single prefix that defines a set of current states. Our technique applies to a large class of automata, which can be categorized by simple properties. Then, the problem of pattern matching is reduced to the well-studied problem of Longest Prefix Match (LPM), which can be solved either in ternary content-addressable memory (TCAM), in commercially available IP-lookup chips, or in software. Specifically, we show that with a TCAM our scheme can reach a throughput of 10 Gb/s with low power consumption.", acknowledgement = ack-nhfb, fjournal = "IEEE\slash ACM Transactions on Networking", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J771", } @Article{Breslauer:2014:RTS, author = "Dany Breslauer and Zvi Galil", title = "Real-Time Streaming String-Matching", journal = j-TALG, volume = "10", number = "4", pages = "22:1--22:??", month = aug, year = "2014", DOI = "https://doi.org/10.1145/2635814", ISSN = "1549-6325 (print), 1549-6333 (electronic)", ISSN-L = "1549-6325", bibdate = "Mon Sep 1 11:11:53 MDT 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/talg.bib", abstract = "This article presents a real-time randomized streaming string-matching algorithm that uses $ O(\log m) $ space. The algorithm only makes one-sided small probability false-positive errors, possibly reporting phantom occurrences of the pattern, but never missing an actual occurrence.", acknowledgement = ack-nhfb, articleno = "22", fjournal = "ACM Transactions on Algorithms (TALG)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J982", } @TechReport{Chang:2014:TDC, author = "Angel X. Chang and Christopher D. Manning", title = "{TOKENSREGEX}: Defining cascaded regular expressions over tokens", type = "Technical Report", number = "CSTR 2014-02", institution = inst-STAN-CS, address = inst-STAN-CS:adr, day = "9", month = apr, year = "2014", bibdate = "Fri Nov 21 07:40:47 MST 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/stanford-cstr.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://hci.stanford.edu/cstr/reports/2014-02.pdf", abstract = "", acknowledgement = ack-nhfb, } @Article{Chen:2014:BPA, author = "Kuei-Hao Chen and Guan-Shieng Huang and Richard Chia-Tung Lee", title = "Bit-Parallel Algorithms for Exact Circular String Matching", journal = j-COMP-J, volume = "57", number = "5", pages = "731--743", month = may, year = "2014", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/bxt023", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Mon May 5 14:45:59 MDT 2014", bibsource = "http://comjnl.oxfordjournals.org/content/57/5.toc; https://www.math.utah.edu/pub/tex/bib/compj2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://comjnl.oxfordjournals.org/content/57/5/731.full.pdf+html", acknowledgement = ack-nhfb, fjournal = "Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", onlinedate = "March 3, 2013", } @Article{Cockx:2014:PMK, author = "Jesper Cockx and Dominique Devriese and Frank Piessens", title = "Pattern matching without {K}", journal = j-SIGPLAN, volume = "49", number = "9", pages = "257--268", month = sep, year = "2014", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2692915.2628139", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue May 12 17:41:21 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Dependent pattern matching is an intuitive way to write programs and proofs in dependently typed languages. It is reminiscent of both pattern matching in functional languages and case analysis in on-paper mathematics. However, in general it is incompatible with new type theories such as homotopy type theory (HoTT). As a consequence, proofs in such theories are typically harder to write and to understand. The source of this incompatibility is the reliance of dependent pattern matching on the so-called K axiom --- also known as the uniqueness of identity proofs --- which is inadmissible in HoTT. The Agda language supports an experimental criterion to detect definitions by pattern matching that make use of the K axiom, but so far it lacked a formal correctness proof. In this paper, we propose a new criterion for dependent pattern matching without K, and prove it correct by a translation to eliminators in the style of Goguen et al. (2006). Our criterion both allows more good definitions than existing proposals, and solves a previously undetected problem in the criterion offered by Agda. It has been implemented in Agda and is the first to be supported by a formal proof. Thus it brings the benefits of dependent pattern matching to contexts where we cannot assume K, such as HoTT. It also points the way to new forms of dependent pattern matching, for example on higher inductive types.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "ICFP '14 conference proceedings.", } @Article{Cole:2014:TDP, author = "Richard Cole and Carmit Hazay and Moshe Lewenstein and Dekel Tsur", title = "Two-Dimensional Parameterized Matching", journal = j-TALG, volume = "11", number = "2", pages = "12:1--12:??", month = oct, year = "2014", CODEN = "????", DOI = "https://doi.org/10.1145/2650220", ISSN = "1549-6325 (print), 1549-6333 (electronic)", ISSN-L = "1549-6325", bibdate = "Thu Oct 30 17:42:56 MDT 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/talg.bib", abstract = "Two equal-length strings, or two equal-sized two-dimensional texts, parameterize match (p-match) if there is a one-one mapping (relative to the alphabet) of their characters. Two-dimensional parameterized matching is the task of finding all $ m \times m $ substrings of an $ n \times n $ text that p-match an $ m \times m $ pattern. This models searching for color images with changing of color maps, for example. We present two algorithms that solve the two-dimensional parameterized matching problem. The time complexities of our algorithms are $ O (n^2 \log^2 m) $ and $ O (n^2 + m^{2.5} \polylog (m)) $. Our algorithms are faster than the $ O (n^2 m \log^2 m \log \log m) $ time algorithm for this problem of Amir et al. [2006]. A key step in both of our algorithms is to count the number of distinct characters in every $ m \times m $ substring of an $ n \times n $ string. We show how to solve this problem in $ O (n^2) $ time. This result may be of independent interest.", acknowledgement = ack-nhfb, articleno = "12", fjournal = "ACM Transactions on Algorithms (TALG)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J982", } @Article{Elseidy:2014:GFS, author = "Mohammed Elseidy and Ehab Abdelhamid and Spiros Skiadopoulos and Panos Kalnis", title = "{GraMi}: frequent subgraph and pattern mining in a single large graph", journal = j-PROC-VLDB-ENDOWMENT, volume = "7", number = "7", pages = "517--528", month = mar, year = "2014", CODEN = "????", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Wed Feb 4 09:22:07 MST 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "Mining frequent subgraphs is an important operation on graphs; it is defined as finding all subgraphs that appear frequently in a database according to a given frequency threshold. Most existing work assumes a database of many small graphs, but modern applications, such as social networks, citation graphs, or protein-protein interactions in bioinformatics, are modeled as a single large graph. In this paper we present GraMi, a novel framework for frequent subgraph mining in a single large graph. GraMi undertakes a novel approach that only finds the minimal set of instances to satisfy the frequency threshold and avoids the costly enumeration of all instances required by previous approaches. We accompany our approach with a heuristic and optimizations that significantly improve performance. Additionally, we present an extension of GraMi that mines frequent patterns. Compared to subgraphs, patterns offer a more powerful version of matching that captures transitive interactions between graph nodes (like friend of a friend) which are very common in modern applications. Finally, we present CGraMi, a version supporting structural and semantic constraints, and AGraMi, an approximate version producing results with no false positives. Our experiments on real data demonstrate that our framework is up to 2 orders of magnitude faster and discovers more interesting patterns than existing approaches.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Esparza:2014:PBV, author = "Javier Esparza and Pierre Ganty and Tom{\'a}s Poch", title = "Pattern-Based Verification for Multithreaded Programs", journal = j-TOPLAS, volume = "36", number = "3", pages = "9:1--9:??", month = sep, year = "2014", CODEN = "ATPSDT", DOI = "https://doi.org/10.1145/2629644", ISSN = "0164-0925 (print), 1558-4593 (electronic)", ISSN-L = "0164-0925", bibdate = "Tue Oct 28 17:06:29 MDT 2014", bibsource = "http://www.acm.org/pubs/contents/journals/toplas/; https://www.math.utah.edu/pub/tex/bib/multithreading.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/toplas.bib", abstract = "Pattern-based verification checks the correctness of program executions that follow a given pattern, a regular expression over the alphabet of program transitions of the form $ w_1^*, \ldots {},_n^* $ w. For multithreaded programs, the alphabet of the pattern is given by the reads and writes to the shared storage. We study the complexity of pattern-based verification for multithreaded programs with shared counters and finite variables. While unrestricted verification is undecidable for abstracted multithreaded programs with recursive procedures and PSPACE-complete for abstracted multithreaded while-programs (even without counters), we show that pattern-based verification is NP-complete for both classes, even in the presence of counters. We then conduct a multiparameter analysis to study the complexity of the problem on its three natural parameters (number of threads+counters+variables, maximal size of a thread, size of the pattern) and on two parameters related to thread structure (maximal number of procedures per thread and longest simple path of procedure calls). We present an algorithm that for a fixed number of threads, counters, variables, and pattern size solves the verification problem in $ {\rm st}^{O ({\rm lsp} + \lceil log ({\rm pr} + 1) \rceil)} $ time, where $ {\rm st} $ is the maximal size of a thread, $ {\rm pr} $ is the maximal number of procedures per thread, and $ {\rm lsp} $ is the longest simple path of procedure calls.", acknowledgement = ack-nhfb, articleno = "9", fjournal = "ACM Transactions on Programming Languages and Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783", } @TechReport{Grathwohl:2014:CCR, author = "Niels Bj{\o}rn Bugge Grathwohl and Fritz Henglein and Ulrik Terp Rasmussen", title = "A crash-course in regular expression parsing and regular expressions as types", type = "Technical report", number = "??", institution = "Department of Computer Science (DIKU), University of Copenhagen", address = "Copenhagen, Denmark", pages = "40", day = "21", month = aug, year = "2014", bibdate = "Fri Sep 22 12:59:49 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://di.ku.dk/kmc/documents/AiPL-CrashCourse.pdf", acknowledgement = ack-nhfb, } @Article{Guo:2014:LSS, author = "Jiong Guo and Danny Hermelin and Christian Komusiewicz", title = "Local search for string problems: Brute-force is essentially optimal", journal = j-THEOR-COMP-SCI, volume = "525", number = "??", pages = "30--41", day = "13", month = mar, year = "2014", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Mar 8 16:44:06 MST 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397513003575", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", } @Article{Hanada:2014:ACL, author = "Hiroyuki Hanada and Mineichi Kudo and Atsuyoshi Nakamura", title = "Average-case linear-time similar substring searching by the $q$-gram distance", journal = j-THEOR-COMP-SCI, volume = "530", number = "??", pages = "23--41", day = "17", month = apr, year = "2014", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Wed Mar 26 06:01:23 MDT 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397514001285", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", } @Article{Hazay:2014:CSP, author = "Carmit Hazay and Tomas Toft", title = "Computationally Secure Pattern Matching in the Presence of Malicious Adversaries", journal = j-J-CRYPTOLOGY, volume = "27", number = "2", pages = "358--395", month = apr, year = "2014", CODEN = "JOCREQ", DOI = "https://doi.org/10.1007/s00145-013-9147-8", ISSN = "0933-2790 (print), 1432-1378 (electronic)", ISSN-L = "0933-2790", bibdate = "Sat Apr 19 14:41:17 MDT 2014", bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0933-2790&volume=27&issue=2; https://www.math.utah.edu/pub/tex/bib/jcryptology.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/s00145-013-9147-8", acknowledgement = ack-nhfb, fjournal = "Journal of Cryptology", journal-URL = "http://link.springer.com/journal/145", } @Article{Heil:2014:APH, author = "Timothy Heil and Anil Krishna and Nicholas Lindberg and Farnaz Toussi and Steven Vanderwiel", title = "Architecture and Performance of the Hardware Accelerators in {IBM}'s {PowerEN} Processor", journal = j-TOPC, volume = "1", number = "1", pages = "5:1--5:??", month = sep, year = "2014", CODEN = "????", DOI = "https://doi.org/10.1145/2588888", ISSN = "2329-4949 (print), 2329-4957 (electronic)", ISSN-L = "2329-4949", bibdate = "Fri Oct 17 12:28:03 MDT 2014", bibsource = "http://topc.acm.org/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/topc.bib", abstract = "Computation at the edge of a datacenter has unique characteristics. It deals with streaming data from multiple sources, going to multiple destinations, often requiring repeated application of one or more of several standard algorithmic kernels. These kernels, related to encryption, compression, XML Parsing and regular expression searching on the data, demand a high data processing rate and power efficiency. This suggests the use of hardware acceleration for key functions. However, robust general purpose processing support is necessary to orchestrate the flow of data between accelerators, as well as perform tasks that are not suited to acceleration. Further, these accelerators must be tightly integrated with the general purpose computation in order to keep invocation overhead and latency low. The accelerators must be easy for software to use, and the system must be flexible enough to support evolving networking standards. In this article, we describe and evaluate the architecture of IBM's PowerEN processor, with a focus on PowerEN's architectural enhancements and its on-chip hardware accelerators. PowerEN unites the throughput of application-specific accelerators with the programmability of general purpose cores on a single coherent memory architecture. Hardware acceleration improves throughput by orders of magnitude in some cases compared to equivalent computation on the general purpose cores. By offloading work to the accelerators, general purpose cores are freed to simultaneously work on computation less suited to acceleration.", acknowledgement = ack-nhfb, articleno = "5", fjournal = "ACM Transactions on Parallel Computing", journal-URL = "http://dl.acm.org/citation.cfm?id=2632163", } @Article{Jiang:2014:SSJ, author = "Yu Jiang and Guoliang Li and Jianhua Feng and Wen-Syan Li", title = "String similarity joins: an experimental evaluation", journal = j-PROC-VLDB-ENDOWMENT, volume = "7", number = "8", pages = "625--636", month = apr, year = "2014", CODEN = "????", ISSN = "2150-8097", bibdate = "Wed Feb 4 09:22:10 MST 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "String similarity join is an important operation in data integration and cleansing that finds similar string pairs from two collections of strings. More than ten algorithms have been proposed to address this problem in the recent two decades. However, existing algorithms have not been thoroughly compared under the same experimental framework. For example, some algorithms are tested only on specific datasets. This makes it rather difficult for practitioners to decide which algorithms should be used for various scenarios. To address this problem, in this paper we provide a comprehensive survey on a wide spectrum of existing string similarity join algorithms, classify them into different categories based on their main techniques, and compare them through extensive experiments on a variety of real-world datasets with different characteristics. We also report comprehensive findings obtained from the experiments and provide new insights about the strengths and weaknesses of existing similarity join algorithms which can guide practitioners to select appropriate algorithms for various scenarios.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Keil:2014:EDA, author = "Matthias Keil and Peter Thiemann", title = "Efficient dynamic access analysis using {JavaScript} proxies", journal = j-SIGPLAN, volume = "49", number = "2", pages = "49--60", month = feb, year = "2014", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2578856.2508176", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Thu Jun 26 06:09:05 MDT 2014", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/java2010.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "DLS '13 conference proceedings.", abstract = "JSConTest introduced the notions of effect monitoring and dynamic effect inference for JavaScript. It enables the description of effects with path specifications resembling regular expressions. It is implemented by an offline source code transformation. To overcome the limitations of the JSConTest implementation, we redesigned and reimplemented effect monitoring by taking advantage of JavaScript proxies. Our new design avoids all drawbacks of the prior implementation. It guarantees full interposition; it is not restricted to a subset of JavaScript; it is self-maintaining; and its scalability to large programs is significantly better than with JSConTest. The improved scalability has two sources. First, the reimplementation is significantly faster than the original, transformation-based implementation. Second, the reimplementation relies on the fly-weight pattern and on trace reduction to conserve memory. Only the combination of these techniques enables monitoring and inference for large programs.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "DLS '13 conference proceedings.", } @Article{Kim:2014:OPM, author = "Jinil Kim and Peter Eades and Rudolf Fleischer and Seok-Hee Hong and Costas S. Iliopoulos and Kunsoo Park and Simon J. Puglisi and Takeshi Tokuyama", title = "Order-preserving matching", journal = j-THEOR-COMP-SCI, volume = "525", number = "??", pages = "68--79", day = "13", month = mar, year = "2014", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Mar 8 16:44:06 MST 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397513007585", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", } @Article{Kimelfeld:2014:TMS, author = "Benny Kimelfeld and Christopher R{\'e}", title = "Transducing {Markov} sequences", journal = j-J-ACM, volume = "61", number = "5", pages = "32:1--32:??", month = aug, year = "2014", CODEN = "JACOAH", DOI = "https://doi.org/10.1145/2630065", ISSN = "0004-5411 (print), 1557-735X (electronic)", bibdate = "Mon Sep 8 18:59:32 MDT 2014", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "A Markov sequence is a basic statistical model representing uncertain sequential data, and it is used within a plethora of applications, including speech recognition, image processing, computational biology, radio-frequency identification (RFID), and information extraction. The problem of querying a Markov sequence is studied under the conventional semantics of querying a probabilistic database, where queries are formulated as finite-state transducers. Specifically, the complexity of two main problems is analyzed. The first problem is that of computing the confidence (probability) of an answer. The second is the enumeration of the answers in the order of decreasing confidence (with the generation of the top- $k$ answers as a special case), or in an approximate order thereof. In particular, it is shown that enumeration in any subexponential-approximate order is generally intractable (even for some fixed transducers), and a matching upper bound is obtained through a proposed heuristic. Due to this hardness, a special consideration is given to restricted (yet common) classes of transducers that extract matches of a regular expression (subject to prefix and suffix constraints), and it is shown that these classes are, indeed, significantly more tractable.", acknowledgement = ack-nhfb, articleno = "32", fjournal = "Journal of the ACM", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", } @Article{Lewenstein:2014:LSI, author = "Moshe Lewenstein and J. Ian Munro and Venkatesh Raman and Sharma V. Thankachan", title = "Less space: Indexing for queries with wildcards", journal = j-THEOR-COMP-SCI, volume = "557", number = "??", pages = "120--127", day = "6", month = nov, year = "2014", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Fri Oct 31 17:23:02 MDT 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397514006562", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", } @Article{Liu:2014:PRP, author = "Fang Liu", title = "\pkg{gset}: An {R} Package for Exact Sequential Test of Equivalence Hypothesis Based on Bivariate Non-Central $t$-Statistics", journal = j-R-JOURNAL, volume = "6", number = "2", pages = "174--184", month = dec, year = "2014", CODEN = "????", ISSN = "2073-4859", bibdate = "Thu Aug 13 15:54:57 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/rjournal.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://journal.r-project.org/archive/2014-2/RJournal_2014-2_liu.pdf", acknowledgement = ack-r-project, fjournal = "The R Journal", journal-URL = "http://journal.r-project.org/", } @Article{Londhe:2014:MTC, author = "Nikhil Londhe and Vishrawas Gopalakrishnan and Aidong Zhang and Hung Q. Ngo and Rohini Srihari", title = "Matching titles with cross title web-search enrichment and community detection", journal = j-PROC-VLDB-ENDOWMENT, volume = "7", number = "12", pages = "1167--1178", month = aug, year = "2014", CODEN = "????", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Wed Feb 4 17:20:26 MST 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "Title matching refers roughly to the following problem. We are given two strings of text obtained from different data sources. The texts refer to some underlying physical entities and the problem is to report whether the two strings refer to the same physical entity or not. There are manifestations of this problem in a variety of domains, such as product or bibliography matching, and location or person disambiguation. We propose a new approach to solving this problem, consisting of two main components. The first component uses Web searches to ``enrich'' the given pair of titles: making titles that refer to the same physical entity more similar, and those which do not, much less similar. A notion of similarity is then measured using the second component, where the tokens from the two titles are modelled as vertices of a ``social'' network graph. A ``strength of ties'' style of clustering algorithm is then applied on this to see whether they form one cohesive ``community'' (matching titles), or separately clustered communities (mismatching titles). Experimental results confirm the effectiveness of our approach over existing title matching methods across several input domains.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Book{Lopez:2014:MPR, author = "F{\'e}lix L{\'o}pez and V{\'i}ctor Romero", title = "Mastering {Python} regular expressions: leverage regular expressions in {Python} even for the most complex features", publisher = "Packt Pub.", address = "Birmingham, UK", pages = "110", year = "2014", ISBN = "1-78328-315-7 (paperback), 1-78328-316-5 (e-book)", ISBN-13 = "978-1-78328-315-6 (paperback), 978-1-78328-316-3 (e-book)", LCCN = "QA76.73.P98 L67 2014", bibdate = "Wed Oct 14 08:01:33 MDT 2015", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/python.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = "Community experience distilled", URL = "http://alltitles.ebrary.com/Doc?id=10842105; http://proquest.safaribooksonline.com/?fpi=9781783283156; http://proquest.tech.safaribooksonline.de/9781783283156", acknowledgement = ack-nhfb, subject = "Python (Computer program language); Text processing (Computer science); COMPUTERS / Programming Languages / Python", } @Article{Ma:2014:SSC, author = "Shuai Ma and Yang Cao and Wenfei Fan and Jinpeng Huai and Tianyu Wo", title = "Strong simulation: Capturing topology in graph pattern matching", journal = j-TODS, volume = "39", number = "1", pages = "4:1--4:??", month = jan, year = "2014", CODEN = "ATDSD3", DOI = "https://doi.org/10.1145/2528937", ISSN = "0362-5915 (print), 1557-4644 (electronic)", ISSN-L = "0362-5915", bibdate = "Wed Feb 5 11:31:16 MST 2014", bibsource = "http://www.acm.org/pubs/contents/journals/tods/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tods.bib", abstract = "Graph pattern matching is finding all matches in a data graph for a given pattern graph and is often defined in terms of subgraph isomorphism, an NP-complete problem. To lower its complexity, various extensions of graph simulation have been considered instead. These extensions allow graph pattern matching to be conducted in cubic time. However, they fall short of capturing the topology of data graphs, that is, graphs may have a structure drastically different from pattern graphs they match, and the matches found are often too large to understand and analyze. To rectify these problems, this article proposes a notion of strong simulation, a revision of graph simulation for graph pattern matching. (1) We identify a set of criteria for preserving the topology of graphs matched. We show that strong simulation preserves the topology of data graphs and finds a bounded number of matches. (2) We show that strong simulation retains the same complexity as earlier extensions of graph simulation by providing a cubic-time algorithm for computing strong simulation. (3) We present the locality property of strong simulation which allows us to develop an effective distributed algorithm to conduct graph pattern matching on distributed graphs. (4) We experimentally verify the effectiveness and efficiency of these algorithms using both real-life and synthetic data.", acknowledgement = ack-nhfb, articleno = "4", fjournal = "ACM Transactions on Database Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J777", } @Article{Ma:2014:TAC, author = "Lin Ma and Kunal Agrawal and Roger D. Chamberlain", title = "Theoretical analysis of classic algorithms on highly-threaded many-core {GPUs}", journal = j-SIGPLAN, volume = "49", number = "8", pages = "391--392", month = aug, year = "2014", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2692916.2555285", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Nov 26 16:26:30 MST 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The Threaded many-core memory (TMM) model provides a framework to analyze the performance of algorithms on GPUs. Here, we investigate the effectiveness of the TMM model by analyzing algorithms for 3 classic problems --- suffix tree/array for string matching, fast Fourier transform, and merge sort --- under this model. Our findings indicate that the TMM model can explain and predict previously unexplained trends and artifacts in experimental data.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "PPoPP '14 conference proceedings.", } @Article{Manole:2014:PSP, author = "Sagi Manole and Amit Golander and Shlomo Weiss", title = "Protein Sequence Pattern Matching: Leveraging Application Specific Hardware Accelerators", journal = j-IEEE-TRANS-COMPUT, volume = "63", number = "2", pages = "448--460", month = feb, year = "2014", CODEN = "ITCOB4", DOI = "https://doi.org/10.1109/TC.2012.187", ISSN = "0018-9340 (print), 1557-9956 (electronic)", ISSN-L = "0018-9340", bibdate = "Tue Jan 28 18:02:57 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12", } @Article{Martin:2014:TCR, author = "Marko Martin and Mira Mezini and Sebastian Erdweg", title = "Template constructors for reusable object initialization", journal = j-SIGPLAN, volume = "49", number = "3", pages = "43--52", month = mar, year = "2014", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2637365.2517212", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Thu Jun 26 05:58:25 MDT 2014", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/java2010.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Reuse of and abstraction over object initialization logic is not properly supported in mainstream object-oriented languages. This may result in significant amount of boilerplate code and proliferation of constructors in subclasses. It also makes it impossible for mixins to extend the initialization interface of classes they are applied to. We propose template constructors, which employ template parameters and pattern matching of them against signatures of superclass constructors to enable a one-to-many binding of super-calls. We demonstrate how template constructors solve the aforementioned problems. We present a formalization of the concept, a Java-based implementation, and use cases which exercise its strengths.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "https://dl.acm.org/loi/sigplan", remark = "GPCE '13 conference proceedings.", } @Article{Medeiros:2014:RPE, author = "S{\'e}rgio Medeiros and Fabio Mascarenhas and Roberto Ierusalimschy", title = "From regexes to parsing expression grammars", journal = j-SCI-COMPUT-PROGRAM, volume = "93 (part A)", number = "??", pages = "3--18", day = "1", month = nov, year = "2014", CODEN = "SCPGD4", DOI = "https://doi.org/10.1016/j.scico.2012.11.006", ISSN = "0167-6423 (print), 1872-7964 (electronic)", ISSN-L = "0167-6423", bibdate = "Sat Aug 16 11:32:59 MDT 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0167642312002171", acknowledgement = ack-nhfb, fjournal = "Science of Computer Programming", journal-URL = "http://www.sciencedirect.com/science/journal/01676423/", } @Article{Meiners:2014:FRE, author = "Chad R. Meiners and Jignesh Patel and Eric Norige and Alex X. Liu and Eric Torng", title = "Fast Regular Expression Matching Using Small {TCAM}", journal = j-IEEE-TRANS-NETWORKING, volume = "22", number = "1", pages = "94--109", month = feb, year = "2014", CODEN = "IEANEP", DOI = "https://doi.org/10.1109/TNET.2013.2256466", ISSN = "1063-6692 (print), 1558-2566 (electronic)", ISSN-L = "1063-6692", bibdate = "Tue Mar 4 18:22:52 MST 2014", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/ieeetransnetworking.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Regular expression (RE) matching is a core component of deep packet inspection in modern networking and security devices. In this paper, we propose the first hardware-based RE matching approach that uses ternary content addressable memory (TCAM), which is available as off-the-shelf chips and has been widely deployed in modern networking devices for tasks such as packet classification. We propose three novel techniques to reduce TCAM space and improve RE matching speed: transition sharing, table consolidation, and variable striding. We tested our techniques on eight real-world RE sets, and our results show that small TCAMs can be used to store large deterministic finite automata (DFAs) and achieve potentially high RE matching throughput. For space, we can store each of the corresponding eight DFAs with 25,000 states in a 0.59-Mb TCAM chip. Using a different TCAM encoding scheme that facilitates processing multiple characters per transition, we can achieve potential RE matching throughput of 10-19 Gb/s for each of the eight DFAs using only a single 2.36-Mb TCAM chip.", acknowledgement = ack-nhfb, fjournal = "IEEE\slash ACM Transactions on Networking", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J771", } @Article{Mohanty:2014:SOS, author = "Pragyan (Sheela) Mohanty and Spyros Tragoudas", title = "Scalable Offline Searches in {DNA} Sequences", journal = j-JETC, volume = "11", number = "2", pages = "18:1--18:??", month = nov, year = "2014", CODEN = "????", DOI = "https://doi.org/10.1145/2660774", ISSN = "1550-4832 (print), 1550-4840 (electronic)", ISSN-L = "1550-4832", bibdate = "Wed Nov 5 18:01:28 MST 2014", bibsource = "http://www.acm.org/pubs/contents/journals/jetc/; https://www.math.utah.edu/pub/tex/bib/jetc.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Searching for a particular pattern in a very large DNA database is a fundamental and essential component in computational biology. In the biological world, pattern matching is required for finding repeats in a particular DNA sequence, finding motif, aligning sequences, and other similar tasks. Due to an immense amount and continuous increase of biological data, the searching process requires very fast algorithms. A function-based tool set for fast offline pattern searches in large DNA sequences is proposed. The method benefits from the use of Boolean functions, their compact storage using canonical data structure, and the existence of built-in operators for these data structures. Experiments on DNA sequences from the NCBI database show that the proposed approach is scalable. The time complexity depends on the size of the data structure used for storing the function that represents the DNA sequence. It is shown that the presented approach exhibits sublinear time complexity to the DNA sequence size.", acknowledgement = ack-nhfb, articleno = "18", fjournal = "ACM Journal on Emerging Technologies in Computing Systems (JETC)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J967", } @Article{Mytkowicz:2014:DPF, author = "Todd Mytkowicz and Madanlal Musuvathi and Wolfram Schulte", title = "Data-parallel finite-state machines", journal = j-COMP-ARCH-NEWS, volume = "42", number = "1", pages = "529--542", month = mar, year = "2014", CODEN = "CANED2", DOI = "https://doi.org/10.1145/2654822.2541988", ISSN = "0163-5964 (print), 1943-5851 (electronic)", ISSN-L = "0163-5964", bibdate = "Mon Aug 18 17:12:47 MDT 2014", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigarch.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "A finite-state machine (FSM) is an important abstraction for solving several problems, including regular-expression matching, tokenizing text, and Huffman decoding. FSM computations typically involve data-dependent iterations with unpredictable memory-access patterns making them difficult to parallelize. This paper describes a parallel algorithm for FSMs that breaks dependences across iterations by efficiently enumerating transitions from all possible states on each input symbol. This allows the algorithm to utilize various sources of data parallelism available on modern hardware, including vector instructions and multiple processors/cores. For instance, on benchmarks from three FSM applications: regular expressions, Huffman decoding, and HTML tokenization, the parallel algorithm achieves up to a 3x speedup over optimized sequential baselines on a single core, and linear speedups up to 21x on 8 cores.", acknowledgement = ack-nhfb, fjournal = "ACM SIGARCH Computer Architecture News", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J89", remark = "ASPLOS '14 conference proceedings.", } @Article{Nakano:2014:OIA, author = "Koji Nakano", title = "Optimal implementations of the approximate string matching and the approximate discrete signal matching on the memory machine models", journal = j-INT-J-PAR-EMER-DIST-SYS, volume = "29", number = "2", pages = "104--118", year = "2014", DOI = "https://doi.org/10.1080/17445760.2013.773330", bibdate = "Thu Mar 6 05:45:38 MST 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/intjparemerdistsys.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Parallel, Emergent and Distributed Systems: IJPEDS", journal-URL = "http://www.tandfonline.com/loi/gpaa20", } @Article{Ni:2014:HCD, author = "Lionel Ni and Lei Chen and Lei Kang and Siyuan Liu", title = "How to Conduct Distributed Incomplete Pattern Matching", journal = j-IEEE-TRANS-PAR-DIST-SYS, volume = "25", number = "4", pages = "982--992", month = apr, year = "2014", CODEN = "ITDSEO", DOI = "https://doi.org/10.1109/TPDS.2013.128", ISSN = "1045-9219 (print), 1558-2183 (electronic)", ISSN-L = "1045-9219", bibdate = "Mon Aug 25 07:12:16 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranspardistsys.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Parallel and Distributed Systems", journal-URL = "http://www.computer.org/tpds/archives.htm", } @Article{Odeh:2014:NER, author = "Jehad Q. Odeh", title = "New and Efficient Recursive-based String Matching Algorithm ({RSMA-FLFC})", journal = j-INT-J-COMP-APPL, volume = "86", number = "??", pages = "1--6", month = jan, year = "2014", CODEN = "????", DOI = "https://doi.org/10.5120/15058-3190", ISSN = "0975-8887", ISSN-L = "0975-8887", bibdate = "Fri Jan 24 09:04:19 MST 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/intjcompappl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.ijcaonline.org/archives/volume86/number15/15058-3190/", acknowledgement = ack-nhfb, ajournal = "Intern. J. of Computer Applications", articleno = "15", fjournal = "International Journal of Computer Applications", journal-URL = "https://www.ijcaonline.org/", } @Article{Patel:2014:BSE, author = "Jignesh Patel and Alex X. Liu and Eric Torng", title = "Bypassing space explosion in high-speed regular expression matching", journal = j-IEEE-TRANS-NETWORKING, volume = "22", number = "6", pages = "1701--1714", month = dec, year = "2014", CODEN = "IEANEP", DOI = "https://doi.org/10.1109/TNET.2014.2309014", ISSN = "1063-6692 (print), 1558-2566 (electronic)", ISSN-L = "1063-6692", bibdate = "Thu Feb 12 18:29:37 MST 2015", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/ieeetransnetworking.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Network intrusion detection and prevention systems commonly use regular expression (RE) signatures to represent individual security threats. While the corresponding deterministic finite state automata (DFA) for any one RE is typically small, the DFA that corresponds to the entire set of REs is usually too large to be constructed or deployed. To address this issue, a variety of alternative automata implementations that compress the size of the final automaton have been proposed such as extended finite automata (XFA) and delayed input DFA (D$^2$ FA). The resulting final automata are typically much smaller than the corresponding DFA. However, the previously proposed automata construction algorithms do suffer from some drawbacks. First, most employ a ``Union then Minimize'' framework where the automata for each RE are first joined before minimization occurs. This leads to an expensive nondeterministic finite automata (NFA) to DFA subset construction on a relatively large NFA. Second, most construct the corresponding large DFA as an intermediate step. In some cases, this DFA is so large that the final automaton cannot be constructed even though the final automaton is small enough to be deployed. In this paper, we propose a ``Minimize then Union'' framework for constructing compact alternative automata focusing on the D$^2$ FA. We show that we can construct an almost optimal final D$^2$ FA with small intermediate parsers. The key to our approach is a space-and time-efficient routine for merging two compact D$^2$ FA into a compact D$^2$ FA. In our experiments, our algorithm runs on average 155 times faster and uses 1500 times less memory than previous algorithms. For example, we are able to construct a D$^2$ FA with over 80 000 000 states using only 1 GB of main memory in only 77 min.", acknowledgement = ack-nhfb, fjournal = "IEEE\slash ACM Transactions on Networking", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J771", } @Article{Petermann:2014:GBD, author = "Andr{\'e} Petermann and Martin Junghanns and Robert M{\"u}ller and Erhard Rahm", title = "Graph-based data integration and business intelligence with {BIIIG}", journal = j-PROC-VLDB-ENDOWMENT, volume = "7", number = "13", pages = "1577--1580", month = aug, year = "2014", CODEN = "????", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Wed Feb 4 17:20:31 MST 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "We demonstrate BIIIG (Business Intelligence with Integrated Instance Graphs), a new system for graph-based data integration and analysis. It aims at improving business analytics compared to traditional OLAP approaches by comprehensively tracking relationships between entities and making them available for analysis. BIIIG supports a largely automatic data integration pipeline for metadata and instance data. Metadata from heterogeneous sources are integrated in a so-called Unified Metadata Graph (UMG) while instance data is combined in a single integrated instance graph (IIG). A unique feature of BIIIG is the concept of business transaction graphs, which are derived from the IIG and which reflect all steps involved in a specific business process. Queries and analysis tasks can refer to the entire instance graph or sets of business transaction graphs. In the demonstration, we perform all data integration steps and present analytic queries including pattern matching and graph-based aggregation of business measures.", acknowledgement = ack-nhfb, ajournal = "Proc. VLDB Endowment", fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Book{Romero:2014:MPR, author = "Victor Romero", title = "Mastering {Python} regular expressions", publisher = "Shroff Publishers", address = "????", year = "2014", ISBN = "93-5110-550-4", ISBN-13 = "978-93-5110-550-3", LCCN = "????", bibdate = "Wed Oct 14 08:00:43 MDT 2015", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/python.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Rostami:2014:RRE, author = "Masoud Rostami and Mehrdad Majzoobi and Farinaz Koushanfar and Dan S. Wallach and Srinivas Devadas", title = "Robust and Reverse-Engineering Resilient {PUF} Authentication and Key-Exchange by Substring Matching", journal = j-IEEE-TRANS-EMERG-TOP-COMPUT, volume = "2", number = "1", pages = "37--49", month = mar, year = "2014", DOI = "https://doi.org/10.1109/TETC.2014.2300635", ISSN = "2168-6750 (print), 2376-4562 (electronic)", bibdate = "Thu Sep 21 14:02:06 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetransemergtopcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Emerging Topics in Computing", journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=6245516", keywords = "Physical Unclonable Function (PUF)", } @Book{Schildt:2014:JCRb, editor = "Herbert Schildt", title = "{Java}: The Complete Reference", publisher = pub-MCGRAW-HILL, address = pub-MCGRAW-HILL:adr, edition = "Ninth", pages = "xxxiv + 1274", year = "2014", ISBN = "0-07-180855-8 (paperback), 0-07-180925-2, 0-07-180856-6", ISBN-13 = "978-0-07-180855-2, 978-0-07-180925-2, 978-0-07-180856-9", LCCN = "QA76.73.J38 S332 2014eb", bibdate = "Thu Dec 4 13:05:57 MST 2014", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/java2010.bib; https://www.math.utah.edu/pub/tex/bib/multithreading.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Fully updated for Java SE 8, this edition explains how to develop, compile, debug, and run Java programs. The book covers the entire Java language, including its syntax, keywords, and fundamental programming principles, as well as significant portions of the Java API library. JavaBeans, servlets, applets, and Swing are examined and real-world examples demonstrate Java in action. New Java SE 8 features such as lambda expressions, the stream library, and the default interface method are discussed in detail. This Oracle Press resource also offers a solid introduction to JavaFX. Topics covered include: data types, variables, arrays, and operators; control statements; classes, objects, and methods; method overloading and overriding; inheritance; interfaces and packages; exception handling; multithreaded programming; enumerations, autoboxing, and annotations; I/O classes; generics; lambda expressions; string handling; collections framework; networking; event handling; AWT and Swing; concurrent and stream API; regular expressions; JavaFX; JavaBeans; and applets and servlets.", acknowledgement = ack-nhfb, shorttableofcontents = "The history and evolution of Java \\ An overview of Java \\ Data types, variables, and arrays \\ Operators \\ Control statements \\ Introducing classes \\ A closer look at methods and classes \\ Inheritance \\ Packages and interfaces \\ Exception handling \\ Multithreaded programming \\ Enumerations, autoboxing, and annotations (metadata) \\ I/O, applets, and other topics \\ Generics \\ Lambda expressions \\ String handling \\ Exploring java.lang \\ Java.util part 1: the collections framework \\ Java.util part 2: more utility classes \\ Input/output: exploring java.io \\ Exploring NIO \\ Networking \\ The applet class \\ Event handling \\ Introducing the AWT: working with windows, graphics, and text \\ Using AWT controls, layout managers, and menus \\ Images \\ The concurrency utilities \\ The stream API \\ Regular expressions and other packages \\ Introducing swing \\ Exploring swing \\ Introducing swing menus \\ Introducing JavaFX GUI programming \\ Exploring JavaFX controls \\ Introducing JavaFX menus \\ Java beans \\ Introducing servlets \\ Using Java's documentation comments", subject = "Java (Langage de programmation); Programmation Internet; Java (Computer program language); Internet programming; Internet programming.; Java (Computer program language)", tableofcontents = "Part I. The Java language \\ 1. The history and evolution of Java: Java's lineage; The creation of Java; How Java changed the Internet; Java's magic: the bytecode; Servlets: Java on the server side; The Java buzzwords; The evolution of Java; Java SE 8; A culture of innovation \\ 2. An overview of Java: Object-oriented programming; A first simple program; A second short program; Two control statements; Using blocks of code; Lexical issues; The Java class libraries \\ 3. Data types, variables, and arrays: Java is a strongly typed language; The primitive types; Integers; Floating-point types; Characters; Booleans; A closer look at literals; Variables; Type conversion and casting; Automatic type promotion in expressions; Arrays; A few words about strings; A note to C/C++ programmers about pointers \\ 4. Operators: Arithmetic operators; The bitwise operators; Relational operators; Boolean logical operators; The assignment operator; The ? operator; Operator precedence; Using parentheses \\ 5. Control statements: Java's selection statements; Iteration statements; Jump statements \\ 6. Introducing classes: Class fundamentals; Declaring objects; Assigning object reference variables; Introducing methods; Constructors; The this keyword; Garbage collection; The finalize() method; A stack class \\ 7. A closer look at methods and classes: Overloading methods; Using objects as parameters; A closer look at argument passing; Returning objects; Recursion; Introducing access control; Understanding static; Introducing final; Arrays revisited; Introducing nested and inner classes; Exploring the string class; Using command-line arguments; Varargs: variable-length arguments \\ 8. Inheritance: Inheritance basics; Using super; Creating a multilevel hierarchy; When constructors are executed; Method overriding; Dynamic method dispatch; Using abstract classes; Using final with inheritance; The object class \\ 9. Packages and interfaces: Packages; Access protection; Importing packages; Interfaces; Default interface methods; Use static methods in an interface; Final thoughts on packages and interfaces \\ 10. Exception handling: Exception-handling fundamentals; Exception types; Uncaught exceptions; Using try and catch; Multiple catch clauses; Nested try statements; Throw; Throws; Finally; Java's build-in exceptions; Creating your own exception subclasses; Chained exceptions; Three recently added exception features; Using exceptions \\ 11. Multithreaded programming: The Java thread model; The main thread; Creating a thread; Creating multiple threads; Using isAlive() and join(); Thread priorities; Synchronization; Interthread communication; Suspending, resuming, and stopping threads; Obtaining a thread's state; Using multithreading \\ 12. Enumerations, autoboxing, and annotations (metadata): Enumerations; Type wrappers; Autoboxing; Annotations (metadata); Type annotations; Repeating annotations \\ 13. I/O, applets, and other topics: I/O basics; Reading console input; Writing console output; The PrintWriter class; Reading and writing files; Automatically closing a file; Applet fundamentals; The transient and volatile modifiers; Using instanceof; Strictfp; Native methods; Problems with native methods; Using assert; Static import; Invoking overloaded constructors through this(); Compact API profiles \\ 14. Generics: What are generics?; A simple generics example; A generic class with two type parameters; The general form of a generic class; Bounded types; Using wildcard arguments; Creating a generic method; Generic interfaces; Raw types and legacy code; Generic class hierarchies; Type inference with generics; Erasure; Ambiguity errors; Some generic restrictions \\ 15. Lambda expressions: Introducing lambda expressions; Block lambda expressions; Generic functional interfaces; Passing lambda expressions as arguments; Lambda expressions and exceptions; Lambda expressions and variable capture; Method references; Constructor references; Predefined functional interfaces \\ Part II. The Java library. \\ 16. String handling: The string constructors; String length; Special string operations; Character extraction; String comparison; Searching strings; Modifying a string; Data conversion using valueOf(); Changing the case of characters within a string; Joining strings; Additional string methods; StringBuffer; StringBuilder \\ 17. Exploring java.lang: Primitive type wrappers; Void; Process; Runtime; ProcessBuilder; System; Object; Using clone() and the cloneable interface; Class; ClassLoader; Math; StrictMath; Compiler; Thread, ThreadGroup and runnable; ThreadLocal and InheritableThreadLocal; Package; RuntimePermission; Throwable; SecurityManager; StackTraceElement; Enum; ClassValue; The CharSequence interface; The comparable interface; The appendable interface; The iterable interface; The readable interface; The AutoCloseable interface; The Thread.UncaughtExceptionHandler interface; The java.lang subpackages \\ 18. java.util Part 1: The collections framework: Collections overview; JDK 5 changed the collections framework; The collection interfaces; The collection classes; Accessing a collection via an iterator; Spliterators; Storing user-defined classes in collections; The RandomAccess interface; Working with maps; Comparators; The collection algorithms; Arrays; The legacy classes and interfaces; Parting thoughts on collections \\ 19. java.util Part 2: More utility classes: StringTokenizer; BitSet; Optional, OptionalDouble, OptionalInt, and OptionalLong; Date; Calendar; GregorianCalendar; TimeZone; SimpleTimeZone; Locale; Random; Observable; Timer and TimerTask; Currency; Formatter; Scanner; The ResourceBundle, ListResourceBundle, and PropertyResourceBundle classes; Miscellaneous utility classes and interfaces; The java.util subpackages \\ 20. Input/output: exploring java.io: The I/O classes and interfaces; File; The AutoCloseable, Closeable, and flushable interfaces; I/O exceptions; Two ways to close a stream; The stream classes; The byte streams; The character streams; The console class; Serialization; Stream benefits \\ 21. Exploring NIO: The NIO classes; NIO fundamentals; Enhancements added to NIO by JDK 7; Using the NIO system; Pre-JDK 7 channel-based examples \\ 22. Networking: Networking basics; The networking classes and interfaces; Inet/Address; Inet4Address and Inet6Address; TCP/IP client sockets; URL; URLConnection; HttpURLConnection; The URI class; Cookies; TCP/IP server sockets; Datagrams \\ 23. The applet class: Two types of applets; Applet basics; Applet architecture; An applet skeleton; Simple applet display methods; Requesting repainting; Using the status window; The HTML APPLET tag; Passing parameters to applets; getDocumentBase() and getCodeBase(); AppletContext and showDocument(); The AudioClip interface; The AppletStub interface; Outputting to the console \\ 24. Event handling: Two event handling mechanisms; The delegation event model; Event classes; The KeyEvent class; Sources of events; Event listener interfaces; Using the delegation event model; Adapter classes; Inner classes \\ 25. Introducing the AWT: working with windows, graphics, and text: AWT classes; Window fundamentals; Working with frame windows; Creating a frame window in an AWT-based applet; Creating a windowed program; Displaying information within a window; Introducing graphics; Working with color; Setting the paint mode; Working with fonts; Managing text output using FontMetrics \\ 26. Using AWT controls, layout managers, and menus: AWT control fundamentals; Labels; Using buttons; Applying check boxes; CheckboxGroup; Choice controls; Using lists; Managing scroll bars; Using a TextField; Using a TextArea; Understanding layout managers; Menu bars and menus; Dialog boxes; FileDialog; A word about overriding paint() \\ 27. Images: File formats; Image fundamentals: creating, loading, and displaying; ImageObserver; Double buffering; MediaTracker; ImageProducer; ImageConsumer; ImageFilter; Additional imaging classes \\ 28. The concurrency utilities: The concurrent API packages; Using synchronization objects; Phaser; Using an executor; The TimeUnit enumeration; the concurrent collections; Locks; Atomic operations; Parallel programming via the fork/join framework; The concurrency utilities versus Java's traditional approach \\ 29. The stream API: Stream basics; Reduction operations; Using parallel streams; Mapping; Collecting; Iterators and streams; More to explore in the stream API \\ 30. Regular expressions and other packages: The core Java API packages; Regular expression processing; Reflection; Remote method invocation (RMI); Formatting date and time with java.text; The time and date API added by JDK 8 \\ Part III. Introducing GUI programming with swing \\ 31. Introducing swing: The origins of swing; Swing is built on the AWT; Two key swing features; The MVC connection; Components and containers; The swing packages; A simple swing application; Event handling; Create a swing applet; Painting in swing \\ 32. Exploring swing: JLabel and ImageIcon; JTextField; The swing buttons; JTabbedPane; JScrollPane; JList; JComboBox; Trees; JTable \\ 33. Introducing swing menus: Menu basics; An overview of JMenuBar, JMenu, and JMenuItem; Create a main menu; Add Mnemonics and accelerators to menu items; Add images and tooltips to menu items; Use JRadioButtonMenuItem and JCheckBoxMenuItem; Create a popup menu; Create a toolbar; Use actions; Put the entire MenuDemo program together; Continuing your exploration of swing \\ Part IV. Introducing GUI programming with JavaFX \\ 34. Introducing JavaFX GUI programming: JavaFX basic concepts; A JavaFX application skeleton; Compiling and running a JavaFX program; The application thread; A simple JavaFX control: label; Using buttons and events; Drawing directly on a canvas \\ 35. Exploring JavaFX controls: Using image and ImageView; ToggleButton; RadioButton; CheckBox; ListView; ComboBox; TextField; ScrollPane; TreeView; Introducing effects and transforms; Adding tooltips; Disabling a control \\ 36. Introducing JavaFX menus: Menu basics; An overview of MenuBar, Menu, and MenuItem; Create a main menu; Add mnemonics and accelerators to menu items; Add images to menu items; Use RadioMenuItem and CheckMenuItem; Create a context menu; Create a toolbar; Put the entire MenuDemo program together; Continuing your exploration of JavaFX \\ Part V. Applying Java \\ 37. Java beans: What is a Java bean?; Advantages of Java beans; Introspection; Bound and constrained properties; Persistence; Customizers; The Java beans API; A bean example \\ 38. Introducing servlets: Background; The life cycle of a servlet; Servlet development options; Using Tomcat; A simple servlet; The servlet API; The javax.servlet package; Reading servlet parameters; The javax.servlet.http package; Handling HTTP requests and responses; Using cookies; Session tracking \\ Appendix. Using Java's documentation comments: The javadoc tags; The general form of a documentation comment; What javadoc outputs; An example that uses documentation comments", } @Article{Schoepe:2014:STI, author = "Daniel Schoepe and Daniel Hedin and Andrei Sabelfeld", title = "{SeLINQ}: tracking information across application-database boundaries", journal = j-SIGPLAN, volume = "49", number = "9", pages = "25--38", month = sep, year = "2014", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2692915.2628151", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue May 12 17:41:21 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The root cause for confidentiality and integrity attacks against computing systems is insecure information flow. The complexity of modern systems poses a major challenge to secure end-to-end information flow, ensuring that the insecurity of a single component does not render the entire system insecure. While information flow in a variety of languages and settings has been thoroughly studied in isolation, the problem of tracking information across component boundaries has been largely out of reach of the work so far. This is unsatisfactory because tracking information across component boundaries is necessary for end-to-end security. This paper proposes a framework for uniform tracking of information flow through both the application and the underlying database. Key enabler of the uniform treatment is recent work by Cheney et al., which studies database manipulation via an embedded language-integrated query language (with Microsoft's LINQ on the backend). Because both the host language and the embedded query languages are functional F\#-like languages, we are able to leverage information-flow enforcement for functional languages to obtain information-flow control for databases ``for free'', synergize it with information-flow control for applications and thus guarantee security across application-database boundaries. We develop the formal results in the form of a security type system that includes a treatment of algebraic data types and pattern matching, and establish its soundness. On the practical side, we implement the framework and demonstrate its usefulness in a case study with a realistic movie rental database.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "ICFP '14 conference proceedings.", } @Article{Siren:2014:IGP, author = "Jouni Sir{\'e}n and Niko V{\"a}lim{\"a}ki and Veli M{\"a}kinen", title = "Indexing graphs for path queries with applications in genome research", journal = j-TCBB, volume = "11", number = "2", pages = "375--388", month = mar, year = "2014", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2013.2297101", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Thu Nov 6 16:13:18 MST 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "We propose a generic approach to replace the canonical sequence representation of genomes with graph representations, and study several applications of such extensions. We extend the Burrows--Wheeler transform (BWT) of strings to acyclic directed labeled graphs, to support path queries as an extension to substring searching. We develop, apply, and tailor this technique to (a) read alignment on an extended BWT index of a graph representing pan-genome, i.e., reference genome and known variants of it; and (b) split-read alignment on an extended BWT index of a splicing graph. Other possible applications include probe/primer design, alignments to assembly graphs, and alignments to phylogenetic tree of partial-order graphs. We report several experiments on the feasibility and applicability of the approach. Especially on highly-polymorphic genome regions our pan-genome index is making a significant improvement in alignment accuracy.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", } @Article{Solodkyy:2014:OPM, author = "Yuriy Solodkyy and Gabriel {Dos Reis} and Bjarne Stroustrup", title = "Open pattern matching for {C++}", journal = j-SIGPLAN, volume = "49", number = "3", pages = "33--42", month = mar, year = "2014", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2637365.2517222", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Thu Jun 26 05:58:25 MDT 2014", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Pattern matching is an abstraction mechanism that can greatly simplify source code. We present functional-style pattern matching for C++ implemented as a library, called Mach7$^1$. All the patterns are user-definable, can be stored in variables, passed among functions, and allow the use of class hierarchies. As an example, we implement common patterns used in functional languages. Our approach to pattern matching is based on compile-time composition of pattern objects through concepts. This is superior (in terms of performance and expressiveness) to approaches based on run-time composition of polymorphic pattern objects. In particular, our solution allows mapping functional code based on pattern matching directly into C++ and produces code that is only a few percent slower than hand-optimized C++ code. The library uses an efficient type switch construct, further extending it to multiple scrutinees and general patterns. We compare the performance of pattern matching to that of double dispatch and open multi-methods in C++.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "GPCE '13 conference proceedings.", } @Article{Song:2014:EPM, author = "Chunyao Song and Tingjian Ge and Cindy Chen and Jie Wang", title = "Event pattern matching over graph streams", journal = j-PROC-VLDB-ENDOWMENT, volume = "8", number = "4", pages = "413--424", month = dec, year = "2014", CODEN = "????", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Mon Feb 9 18:24:35 MST 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "A graph is a fundamental and general data structure underlying all data applications. Many applications today call for the management and query capabilities directly on graphs. Real time graph streams, as seen in road networks, social and communication networks, and web requests, are such applications. Event pattern matching requires the awareness of graph structures, which is different from traditional complex event processing. It also requires a focus on the dynamicity of the graph, time order constraints in patterns, and online query processing, which deviates significantly from previous work on subgraph matching as well. We study the semantics and efficient online algorithms for this important and intriguing problem, and evaluate our approaches with extensive experiments over real world datasets in four different domains.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Stolee:2014:SSS, author = "Kathryn T. Stolee and Sebastian Elbaum and Daniel Dobos", title = "Solving the Search for Source Code", journal = j-TOSEM, volume = "23", number = "3", pages = "26:1--26:??", month = may, year = "2014", CODEN = "ATSMER", DOI = "https://doi.org/10.1145/2581377", ISSN = "1049-331X (print), 1557-7392 (electronic)", ISSN-L = "1049-331X", bibdate = "Tue Oct 7 19:00:52 MDT 2014", bibsource = "http://www.acm.org/pubs/contents/journals/tosem/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tosem.bib", abstract = "Programmers frequently search for source code to reuse using keyword searches. The search effectiveness in facilitating reuse, however, depends on the programmer's ability to specify a query that captures how the desired code may have been implemented. Further, the results often include many irrelevant matches that must be filtered manually. More semantic search approaches could address these limitations, yet existing approaches are either not flexible enough to find approximate matches or require the programmer to define complex specifications as queries. We propose a novel approach to semantic code search that addresses several of these limitations and is designed for queries that can be described using a concrete input/output example. In this approach, programmers write lightweight specifications as inputs and expected output examples. Unlike existing approaches to semantic search, we use an SMT solver to identify programs or program fragments in a repository, which have been automatically transformed into constraints using symbolic analysis, that match the programmer-provided specification. We instantiated and evaluated this approach in subsets of three languages, the Java String library, Yahoo! Pipes mashup language, and SQL select statements, exploring its generality, utility, and trade-offs. The results indicate that this approach is effective at finding relevant code, can be used on its own or to filter results from keyword searches to increase search precision, and is adaptable to find approximate matches and then guide modifications to match the user specifications when exact matches do not already exist. These gains in precision and flexibility come at the cost of performance, for which underlying factors and mitigation strategies are identified.", acknowledgement = ack-nhfb, articleno = "26", fjournal = "ACM Transactions on Software Engineering and Methodology", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J790", } @InCollection{Sulzmann:2014:FEM, author = "Martin Sulzmann and Pippijn van Steenhoven", editor = "Albert Cohen", booktitle = "{Compiler Construction: 23rd International Conference, CC 2014, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2014, Grenoble, France, April 5--13, 2014, Proceedings}", title = "A Flexible and Efficient {ML} Lexer Tool Based on Extended Regular Expression Submatching", volume = "8409", publisher = pub-SV, address = pub-SV:adr, bookpages = "xii + 251 + 124", pages = "174--191", year = "2014", DOI = "https://doi.org/10.1007/978-3-642-54807-9_10", bibdate = "Fri Sep 22 15:27:44 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-54807-9", } @InCollection{Sulzmann:2014:PRE, author = "Martin Sulzmann and Kenny Zhuo Ming Lu", editor = "Michael Codish and Eijiro Sumii", booktitle = "Functional and Logic Programming: {12th International Symposium, FLOPS 2014, Kanazawa, Japan, June 4--6, 2014. Proceedings}", title = "{POSIX} Regular Expression Parsing with Derivatives", volume = "8475", publisher = pub-SV, address = pub-SV:adr, bookpages = "xvi + 353 + 81", pages = "203--220", year = "2014", DOI = "https://doi.org/10.1007/978-3-319-07151-0_13", bibdate = "Fri Sep 22 15:24:05 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-319-07151-0", } @Article{Tan:2014:REQ, author = "Tony Tan and Domagoj Vrgo{\v{c}}", title = "Regular Expressions for Querying Data Graphs", journal = j-INT-J-FOUND-COMP-SCI, volume = "25", number = "8", pages = "971--??", month = dec, year = "2014", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S0129054114400188", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Wed Feb 25 17:18:16 MST 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Tanaka:2014:IEE, author = "Shunji Tanaka", title = "Improved exact enumerative algorithms for the planted $ (l, d)$-motif search problem", journal = j-TCBB, volume = "11", number = "2", pages = "361--374", month = mar, year = "2014", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2014.2306842", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Thu Nov 6 16:13:18 MST 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "In this paper efficient exact algorithms are proposed for the planted $ (l, d)$-motif search problem. This problem is to find all motifs of length $l$ that are planted in each input string with at most $d$ mismatches. The ``quorum'' version of this problem is also treated in this paper to find motifs planted not in all input strings but in at least $q$ input strings. The proposed algorithms are based on the previous algorithms called qPMSPruneI and qPMS7 that traverse a search tree starting from a $l$-length substring of an input string. To improve these previous algorithms, several techniques are introduced, which contribute to reducing the computation time for the traversal. In computational experiments, it will be shown that the proposed algorithms outperform the previous algorithms.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", } @Article{Tang:2014:EPP, author = "Zhenjun Tang and Xianquan Zhang and Chunqiang Yu and Dan He", title = "Efficient point pattern matching algorithm for planar point sets under transform of translation, rotation and scale", journal = j-APPL-MATH-COMP, volume = "232", number = "??", pages = "624--631", day = "1", month = apr, year = "2014", CODEN = "AMHCBQ", ISSN = "0096-3003 (print), 1873-5649 (electronic)", ISSN-L = "0096-3003", bibdate = "Mon Mar 24 17:33:07 MDT 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/applmathcomput2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0096300314001246", acknowledgement = ack-nhfb, fjournal = "Applied Mathematics and Computation", journal-URL = "http://www.sciencedirect.com/science/journal/00963003/", } @Article{vanderLoo:2014:PRP, author = "Mark {van der Loo}", title = "\pkg{stringdist}: an {R} Package for Approximate String Matching", journal = j-R-JOURNAL, volume = "6", number = "1", pages = "111--122", month = jun, year = "2014", CODEN = "????", ISSN = "2073-4859", bibdate = "Thu Aug 13 15:54:57 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/rjournal.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://journal.r-project.org/archive/2014-1/RJournal_2014-1_loo.pdf", acknowledgement = ack-r-project, fjournal = "The R Journal", journal-URL = "http://journal.r-project.org/", } @Article{vanderLoo:2014:PSR, author = "Mark {van der Loo}", title = "\pkg{stringdist}: an {R} Package for Approximate String Matching", journal = j-R-JOURNAL, volume = "6", number = "1", pages = "111--122", month = jun, year = "2014", CODEN = "????", ISSN = "2073-4859", bibdate = "Thu Aug 13 15:54:57 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/rjournal.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://journal.r-project.org/archive/2014-1/RJournal_2014-1_loo.pdf", acknowledgement = ack-r-project, fjournal = "The R Journal", journal-URL = "http://journal.r-project.org/", } @Article{Wandelt:2014:SAS, author = "Sebastian Wandelt and Dong Deng and Stefan Gerdjikov and Shashwat Mishra and Petar Mitankin and Manish Patil and Enrico Siragusa and Alexander Tiskin and Wei Wang and Jiaying Wang and Ulf Leser", title = "State-of-the-art in string similarity search and join", journal = j-SIGMOD, volume = "43", number = "1", pages = "64--76", month = mar, year = "2014", CODEN = "SRECD8", DOI = "https://doi.org/10.1145/2627692.2627706", ISSN = "0163-5808 (print), 1943-5835 (electronic)", ISSN-L = "0163-5808", bibdate = "Wed May 21 18:46:50 MDT 2014", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigmod.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "String similarity search and its variants are fundamental problems with many applications in areas such as data integration, data quality, computational linguistics, or bioinformatics. A plethora of methods have been developed over the last decades. Obtaining an overview of the state-of-the-art in this field is difficult, as results are published in various domains without much cross-talk, papers use different data sets and often study subtle variations of the core problems, and the sheer number of proposed methods exceeds the capacity of a single research group. In this paper, we report on the results of the probably largest benchmark ever performed in this field. To overcome the resource bottleneck, we organized the benchmark as an international competition, a workshop at EDBT/ICDT 2013. Various teams from different fields and from all over the world developed or tuned programs for two crisply defined problems. All algorithms were evaluated by an external group on two machines. Altogether, we compared 14 different programs on two string matching problems (k-approximate search and k-approximate join) using data sets of increasing sizes and with different characteristics from two different domains. We compare programs primarily by wall clock time, but also provide results on memory usage, indexing time, batch query effects and scalability in terms of CPU cores. Results were averaged over several runs and confirmed on a second, different hardware platform. A particularly interesting observation is that disciplines can and should learn more from each other, with the three best teams rooting in computational linguistics, databases, and bioinformatics, respectively.", acknowledgement = ack-nhfb, fjournal = "SIGMOD Record (ACM Special Interest Group on Management of Data)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J689", } @Article{Wang:2014:ESS, author = "Jiannan Wang and Guoliang Li and Jianhua Feng", title = "Extending string similarity join to tolerant fuzzy token matching", journal = j-TODS, volume = "39", number = "1", pages = "7:1--7:??", month = jan, year = "2014", CODEN = "ATDSD3", DOI = "https://doi.org/10.1145/2535628", ISSN = "0362-5915 (print), 1557-4644 (electronic)", ISSN-L = "0362-5915", bibdate = "Wed Feb 5 11:31:16 MST 2014", bibsource = "http://www.acm.org/pubs/contents/journals/tods/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tods.bib", abstract = "String similarity join that finds similar string pairs between two string sets is an essential operation in many applications and has attracted significant attention recently in the database community. A significant challenge in similarity join is to implement an effective fuzzy match operation to find all similar string pairs which may not match exactly. In this article, we propose a new similarity function, called fuzzy-token-matching-based similarity which extends token-based similarity functions (e.g., jaccard similarity and cosine similarity) by allowing fuzzy match between two tokens. We study the problem of similarity join using this new similarity function and present a signature-based method to address this problem. We propose new signature schemes and develop effective pruning techniques to improve the performance. We also extend our techniques to support weighted tokens. Experimental results show that our method achieves high efficiency and result quality and significantly outperforms state-of-the-art approaches.", acknowledgement = ack-nhfb, articleno = "7", fjournal = "ACM Transactions on Database Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J777", } @Article{Wang:2014:ODA, author = "Hung-Lung Wang and Kuan-Yu Chen", title = "One-dimensional approximate point set pattern matching with {$ L_p $}-norm", journal = j-THEOR-COMP-SCI, volume = "521", number = "??", pages = "42--50", day = "13", month = feb, year = "2014", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Jan 27 18:51:00 MST 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397513008669", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", } @Article{Wu:2014:FMN, author = "Chunhan Wu and Xingyuan Zhang and Christian Urban", title = "A Formalisation of the {Myhill--Nerode Theorem} Based on Regular Expressions", journal = j-J-AUTOM-REASON, volume = "52", number = "4", pages = "451--480", month = apr, year = "2014", CODEN = "JAREEW", DOI = "https://doi.org/10.1007/s10817-013-9297-2", ISSN = "0168-7433 (print), 1573-0670 (electronic)", ISSN-L = "0168-7433", bibdate = "Sat Apr 2 10:51:10 MDT 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/jautomreason.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/s10817-013-9297-2", acknowledgement = ack-nhfb, ajournal = "J. Autom. Reason.", fjournal = "Journal of Automated Reasoning", journal-URL = "http://link.springer.com/journal/10817", } @Article{Zhang:2014:EPS, author = "Dongxiang Zhang and Chee-Yong Chan and Kian-Lee Tan", title = "An efficient publish\slash subscribe index for e-commerce databases", journal = j-PROC-VLDB-ENDOWMENT, volume = "7", number = "8", pages = "613--624", month = apr, year = "2014", CODEN = "????", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Wed Feb 4 09:22:10 MST 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "Many of today's publish/subscribe (pub/sub) systems have been designed to cope with a large volume of subscriptions and high event arrival rate (velocity). However, in many novel applications (such as e-commerce), there is an increasing variety of items, each with different attributes. This leads to a very high-dimensional and sparse database that existing pub/sub systems can no longer support effectively. In this paper, we propose an efficient in-memory index that is scalable to the volume and update of subscriptions, the arrival rate of events and the variety of subscribable attributes. The index is also extensible to support complex scenarios such as prefix/suffix filtering and regular expression matching. We conduct extensive experiments on synthetic datasets and two real datasets (AOL query log and Ebay products). The results demonstrate the superiority of our index over state-of-the-art methods: our index incurs orders of magnitude less index construction time, consumes a small amount of memory and performs event matching efficiently.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Zheng:2014:MMS, author = "Yuxin Zheng and Zhifeng Bao and Lidan Shou and Anthony K. H. Tung", title = "{MESA}: a map service to support fuzzy type-ahead search over geo-textual data", journal = j-PROC-VLDB-ENDOWMENT, volume = "7", number = "13", pages = "1545--1548", month = aug, year = "2014", CODEN = "????", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Wed Feb 4 17:20:31 MST 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "Geo-textual data are ubiquitous these days. Recent study on spatial keyword search focused on the processing of queries which retrieve objects that match certain keywords within a spatial region. To ensure effective data retrieval, various extensions were done including the tolerance of errors in keyword matching and the search-as-you-type feature using prefix matching. We present MESA, a map application to support different variants of spatial keyword query. In this demonstration, we adopt the autocompletion paradigm that generates the initial query as a prefix matching query. If there are few matching results, other variants are performed as a form of relaxation that reuses the processing done in earlier phases. The types of relaxation allowed include spatial region expansion and exact/approximate prefix/substring matching. MESA adopts the client-server architecture. It provides fuzzy type-ahead search over geo-textual data. The core of MESA is to adopt a unifying search strategy, which incrementally applies the relaxation in an appropriate order to maximize the efficiency of query processing. In addition, MESA equips a user-friendly interface to interact with users and visualize results. MESA also provides customized search to meet the needs of different users.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Zhou:2014:TCS, author = "Shizhe Zhou and Changyun Jiang and Sylvain Lefebvre", title = "Topology-constrained synthesis of vector patterns", journal = j-TOG, volume = "33", number = "6", pages = "215:1--215:??", month = nov, year = "2014", CODEN = "ATGRDF", DOI = "https://doi.org/10.1145/2661229.2661238", ISSN = "0730-0301 (print), 1557-7368 (electronic)", ISSN-L = "0730-0301", bibdate = "Fri Nov 14 19:16:26 MST 2014", bibsource = "http://www.acm.org/pubs/contents/journals/tog/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tog.bib", abstract = "Decorative patterns are observed in many forms of art, typically enriching the visual aspect of otherwise simple shapes. Such patterns are especially difficult to create, as they often exhibit intricate structural details and at the same time have to precisely match the size and shape of the underlying geometry. In the field of Computer Graphics, several approaches have been proposed to automatically synthesize a decorative pattern along a curve, from an example. This empowers non expert users with a simple brush metaphor, allowing them to easily paint complex structured decorations. We extend this idea to the space of design and fabrication. The major challenge is to properly account for the topology of the produced patterns. In particular, our technique ensures that synthesized patterns will be made of exactly one connected component, so that once printed they form a single object. To achieve this goal we propose a two steps synthesis process, first synthesizing the topology of the pattern and later synthesizing its exact geometry. We introduce topology descriptors that efficiently capture the topology of the pattern synthesized so far. We propose several applications of our method, from designing objects using synthesized patterns along curves and within rectangles, to the decoration of surfaces with a dedicated smooth frame interpolation. Using our technique, designers paint structured patterns that can be fabricated into solid, tangible objects, creating unusual and surprising designs of lamps, chairs and laces from examples.", acknowledgement = ack-nhfb, articleno = "215", fjournal = "ACM Transactions on Graphics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J778", } @Article{Aksoy:2015:RPE, author = "Cem Aksoy and Aggeliki Dimitriou and Dimitri Theodoratos", title = "Reasoning with patterns to effectively answer {XML} keyword queries", journal = j-VLDB-J, volume = "24", number = "3", pages = "441--465", month = jun, year = "2015", CODEN = "VLDBFR", DOI = "https://doi.org/10.1007/s00778-015-0384-3", ISSN = "1066-8888 (print), 0949-877X (electronic)", ISSN-L = "1066-8888", bibdate = "Fri May 15 17:21:03 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbj.bib", abstract = "Keyword search is a popular technique for searching tree-structured data on the Web because it frees the user from knowing a complex query language and the structure of the data sources. However, the imprecision of the keyword queries usually results in a very large number of results of which only a few are relevant to the query. Multiple previous approaches have tried to address this problem. They exploit the structural properties of the tree data in order to filter out irrelevant results. This is not an easy task though, and in the general case, these approaches show low precision and/or recall and low quality of result ranking. In this paper, we argue that exploiting the structural relationships of the query matches locally in the data tree is not sufficient and a global analysis of the keyword matches in the data tree is necessary in order to assign meaningful semantics to keyword queries. We present an original approach for answering keyword queries which extracts structural patterns of the query matches and reasons with them in order to return meaningful results ranked with respect to their relevance to the query. Comparisons between patterns are realized based on different types of homomorphisms between patterns. As the number of patterns is typically much smaller than that of the of query matches, this global reasoning is feasible. We design an efficient stack-based algorithm for evaluating keyword queries on tree-structured data, and we also devise a heuristic extension which further improves its performance. We run comprehensive experiments on different datasets to evaluate the efficiency of the algorithms and the effectiveness of our ranking and filtering semantics. The experimental results show that our approach produces results of higher quality compared to previous ones and our algorithms are fast and scale well with respect to the input and output size.", acknowledgement = ack-nhfb, fjournal = "VLDB Journal: Very Large Data Bases", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{Alur:2015:DDL, author = "Rajeev Alur and Loris D'Antoni and Mukund Raghothaman", title = "{DReX}: a Declarative Language for Efficiently Evaluating Regular String Transformations", journal = j-SIGPLAN, volume = "50", number = "1", pages = "125--137", month = jan, year = "2015", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2775051.2676981", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue May 12 17:41:19 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We present DReX, a declarative language that can express all regular string-to-string transformations, and can still be efficiently evaluated. The class of regular string transformations has a robust theoretical foundation including multiple characterizations, closure properties, and decidable analysis questions, and admits a number of string operations such as insertion, deletion, substring swap, and reversal. Recent research has led to a characterization of regular string transformations using a primitive set of function combinators analogous to the definition of regular languages using regular expressions. While these combinators form the basis for the language DReX proposed in this paper, our main technical focus is on the complexity of evaluating the output of a DReX program on a given input string. It turns out that the natural evaluation algorithm involves dynamic programming, leading to complexity that is cubic in the length of the input string. Our main contribution is identifying a consistency restriction on the use of combinators in DReX programs, and a single-pass evaluation algorithm for consistent programs with time complexity that is linear in the length of the input string and polynomial in the size of the program. We show that the consistency restriction does not limit the expressiveness, and whether a DReX program is consistent can be checked efficiently. We report on a prototype implementation, and evaluate it using a representative set of text processing tasks.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "POPL '15 conference proceedings.", } @Article{Aycock:2015:SCS, author = "J. Aycock", title = "Short Communication: {Stringlish}: improved {English} string searching in binary files", journal = j-SPE, volume = "45", number = "11", pages = "1591--1595", month = nov, year = "2015", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.2327", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Mon Feb 8 18:03:22 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.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 = "8 Apr 2015", } @Book{Balbaert:2015:RE, author = "Ivo Balbaert", title = "{Rust} Essentials", publisher = pub-PACKT, address = pub-PACKT:adr, pages = "x + 161", year = "2015", ISBN = "1-78528-213-1", ISBN-13 = "978-1-78528-213-3, 978-1-78528-576-9", LCCN = "QA76.73.R87 B35 2015", bibdate = "Tue Dec 10 05:44:53 MST 2019", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://proquest.safaribooksonline.com/9781785285769", abstract = "Discover how to use Rust to write fast, secure, and concurrent systems and applications In Detail Starting by comparing Rust with other programming languages, this book will show you where and how to use Rust. It will discuss primitive types along with variables and their scope, binding and casting, simple functions, and ways to control execution flow in a program. Next, the book covers flexible arrays, vectors, tuples, enums, and structs. You will then generalize the code with higher-order functions and generics applying it to closures, iterators, consumers, and so on. Memory safety is ensured by the compiler by using references, pointers, boxes, reference counting, and atomic reference counting. You will learn how to build macros and crates and discover concurrency for multicore execution. By the end of this book, you will have successfully migrated to using Rust and will be able to use it as your main programming language. What You Will Learn Set up your Rust environment for maximum productivity Bridge the performance gap between safe and unsafe languages with Rust Use pattern matching to create flexible code Apply generics and traits to develop widely applicable code Organize your code in modules and crates Build macros to extend Rust's capabilities and reach Apply threads to tackle problems concurrently and in distributed environments Interface with C and isolate unsafe code Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.", acknowledgement = ack-nhfb, libnote = "Not in my library.", subject = "C (Computer program language); Software engineering; C (Computer program language); Software engineering", tableofcontents = "Preface \\ 1: Starting with Rust \\ The advantages of Rust \\ The trifecta of Rust \\ safety, speed, and concurrency \\ Comparison with other languages \\ Using Rust \\ Servo \\ Installing Rust \\ The Rust compiler \\ rustc \\ Our first program \\ Working with Cargo \\ Developer tools \\ Using Sublime Text \\ Other tools \\ Summary \\ 2: Using Variables and Types \\ Comments \\ Global constants \\ Printing with string interpolation \\ Values and primitive types \\ Consulting Rust documentation \\ Binding variables to values \\ Mutable and immutable variables \\ Scope of a variable and shadowing \\ Type checking and conversions \\ Aliasing \\ Expressions \\ The stack and the heap \\ Summary \\ 3: Using Functions and Control Structures \\ Branching on a condition \\ Looping \\ Functions \\ Documenting a function \\ Attributes \\ Conditional compilation \\ Testing \\ Testing with cargo \\ Summary \\ 4: Structuring Data and Matching Patterns \\ Strings \\ Arrays, vectors, and slices \\ Vectors \\ Slices \\ Strings and arrays \\ Tuples \\ Structs \\ Enums \\ Result and Option \\ Getting input from the console \\ Matching patterns 7: Organizing Code and Macros \\ Modules and crates \\ Building crates \\ Defining a module \\ Visibility of items \\ Importing modules and file hierarchy \\ Importing external crates \\ Exporting a public interface \\ Adding external crates to a project \\ The test module \\ Macros \\ Why do we use macros? \\ Developing macros \\ Repetition \\ Creating a new function \\ Using macros from crates \\ Summary \\ 8: Concurrency and Parallelism \\ Concurrency and threads \\ Creating threads \\ Starting a number of threads \\ Panicking threads \\ Thread-safety \\ Shared mutable state \\ The Sync trait \\ Communication through channels \\ Sending and receiving data \\ Synchronous and asynchronous communication \\ Summary \\ 9: Programming at the Boundaries \\ Program arguments \\ Unsafe \\ Raw pointers \\ Interfacing with C \\ Using a C library \\ Inlining assembly code \\ Calling Rust from other languages \\ Summary \\ Appendix: Exploring Further \\ Stability of Rust and the standard library \\ The ecosystem of crates \\ Other resources for learning Rust \\ Files and databases \\ Graphics and games \\ Web development \\ Index", } @Article{Barowy:2015:FER, author = "Daniel W. Barowy and Sumit Gulwani and Ted Hart and Benjamin Zorn", title = "{FlashRelate}: extracting relational data from semi-structured spreadsheets using examples", journal = j-SIGPLAN, volume = "50", number = "6", pages = "218--228", month = jun, year = "2015", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2813885.2737952", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Feb 16 12:01:41 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "With hundreds of millions of users, spreadsheets are one of the most important end-user applications. Spreadsheets are easy to use and allow users great flexibility in storing data. This flexibility comes at a price: users often treat spreadsheets as a poor man's database, leading to creative solutions for storing high-dimensional data. The trouble arises when users need to answer queries with their data. Data manipulation tools make strong assumptions about data layouts and cannot read these ad-hoc databases. Converting data into the appropriate layout requires programming skills or a major investment in manual reformatting. The effect is that a vast amount of real-world data is ``locked-in'' to a proliferation of one-off formats. We introduce FlashRelate, a synthesis engine that lets ordinary users extract structured relational data from spreadsheets without programming. Instead, users extract data by supplying examples of output relational tuples. FlashRelate uses these examples to synthesize a program in Flare. Flare is a novel extraction language that extends regular expressions with geometric constructs. An interactive user interface on top of FlashRelate lets end users extract data by point-and-click. We demonstrate that correct Flare programs can be synthesized in seconds from a small set of examples for 43 real-world scenarios. Finally, our case study demonstrates FlashRelate's usefulness addressing the widespread problem of data trapped in corporate and government formats.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "PLDI '15 conference proceedings.", } @Article{Basik:2015:STS, author = "Fuat Bas{\i}k and Bu{\u{g}}ra Gedik and Hakan Ferhatosmano{\u{g}}lu and Mert Emin Kalender", title = "{S$^{33}$-TM}: scalable streaming short text matching", journal = j-VLDB-J, volume = "24", number = "6", pages = "849--866", month = dec, year = "2015", CODEN = "VLDBFR", DOI = "https://doi.org/10.1007/s00778-015-0404-3", ISSN = "1066-8888 (print), 0949-877X (electronic)", ISSN-L = "1066-8888", bibdate = "Wed Nov 25 15:38:42 MST 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbj.bib", abstract = "Micro-blogging services have become major venues for information creation, as well as channels of information dissemination. Accordingly, monitoring them for relevant information is a critical capability. This is typically achieved by registering content-based subscriptions with the micro-blogging service. Such subscriptions are long-running queries that are evaluated against the stream of posts. Given the popularity and scale of micro-blogging services like Twitter and Weibo, building a scalable infrastructure to evaluate these subscriptions is a challenge. To address this challenge, we present the S^33-TM system for streaming short text matching. S^33-TM is organized as a stream processing application, in the form of a data parallel flow graph designed to be run on a data center environment. It takes advantage of the structure of the publications (posts) and subscriptions to perform the matching in a scalable manner, without broadcasting publications or subscriptions to all of the matcher instances. The basic design of S^33-TM uses a scoped multicast for publications and scoped anycast for subscriptions. To further improve throughput, we introduce publication routing algorithms that aim at minimizing the scope of the multicasts. First set of algorithms we develop are based on partitioning the word co-occurrence frequency graph, with the aim of routing posts that include commonly co-occurring words to a small set of matchers. While effective, these algorithms fell short in balancing the load. To address this, we develop the SALB algorithm, which provides better load balance by modeling the load more accurately using the word-to-post bipartite graph. We also develop a subscription placement algorithm, called LASP, to group together similar subscriptions, in order to minimize the subscription matching cost. Furthermore, to achieve good scalability for increasing number of nodes, we introduce techniques to handle workload skew. Finally, we introduce load shedding techniques for handling unexpected load spikes with small impact on the accuracy. Our experimental results show that S^33-TM is scalable. Furthermore, the SALB algorithm provides more than 2.5\times 2.5$ \times $ throughput compared to the baseline multicast and outperforms the graph partitioning-based approaches.", acknowledgement = ack-nhfb, fjournal = "VLDB Journal: Very Large Data Bases", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{Basik:2015:TSS, author = "Fuat Bas{\i}k and Bu{\u{g}}ra Gedik and Hakan Ferhatosmano{\u{g}}lu and Mert Emin Kalender", title = "{S$^{33}$-TM}: scalable streaming short text matching", journal = j-VLDB-J, volume = "24", number = "6", pages = "849--866", month = dec, year = "2015", CODEN = "VLDBFR", DOI = "https://doi.org/10.1007/s00778-015-0404-3", ISSN = "1066-8888 (print), 0949-877X (electronic)", ISSN-L = "1066-8888", bibdate = "Wed Nov 25 15:38:42 MST 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbj.bib", abstract = "Micro-blogging services have become major venues for information creation, as well as channels of information dissemination. Accordingly, monitoring them for relevant information is a critical capability. This is typically achieved by registering content-based subscriptions with the micro-blogging service. Such subscriptions are long-running queries that are evaluated against the stream of posts. Given the popularity and scale of micro-blogging services like Twitter and Weibo, building a scalable infrastructure to evaluate these subscriptions is a challenge. To address this challenge, we present the S^33-TM system for streaming short text matching. S^33-TM is organized as a stream processing application, in the form of a data parallel flow graph designed to be run on a data center environment. It takes advantage of the structure of the publications (posts) and subscriptions to perform the matching in a scalable manner, without broadcasting publications or subscriptions to all of the matcher instances. The basic design of S^33-TM uses a scoped multicast for publications and scoped anycast for subscriptions. To further improve throughput, we introduce publication routing algorithms that aim at minimizing the scope of the multicasts. First set of algorithms we develop are based on partitioning the word co-occurrence frequency graph, with the aim of routing posts that include commonly co-occurring words to a small set of matchers. While effective, these algorithms fell short in balancing the load. To address this, we develop the SALB algorithm, which provides better load balance by modeling the load more accurately using the word-to-post bipartite graph. We also develop a subscription placement algorithm, called LASP, to group together similar subscriptions, in order to minimize the subscription matching cost. Furthermore, to achieve good scalability for increasing number of nodes, we introduce techniques to handle workload skew. Finally, we introduce load shedding techniques for handling unexpected load spikes with small impact on the accuracy. Our experimental results show that S^33-TM is scalable. Furthermore, the SALB algorithm provides more than 2.5\times 2.5$ \times $ throughput compared to the baseline multicast and outperforms the graph partitioning-based approaches.", acknowledgement = ack-nhfb, fjournal = "VLDB Journal: Very Large Data Bases", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{Beal:2015:EPM, author = "Richard Beal and Donald Adjeroh", title = "Efficient pattern matching for {RNA} secondary structures", journal = j-THEOR-COMP-SCI, volume = "592", number = "??", pages = "59--71", day = "9", month = aug, year = "2015", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Jul 25 14:06:20 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2015.bib", URL = "http://www.sciencedirect.com/science/article/pii/S030439751500420X", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", } @Article{Bliznets:2015:KLB, author = "Ivan Bliznets and Marek Cygan and Pawel Komosa and Luk{\'a}s Mach", title = "Kernelization lower bound for {Permutation Pattern Matching}", journal = j-INFO-PROC-LETT, volume = "115", number = "5", pages = "527--531", month = may, year = "2015", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu Feb 19 06:13:58 MST 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0020019015000101", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190/", } @Article{Champarnaud:2015:TSD, author = "Jean-Marc Champarnaud and Jean-Philippe Dubernard and Hadrien Jeanne and Ludovic Mignot", title = "Two-Sided Derivatives for Regular Expressions and for Hairpin Expressions", journal = j-FUND-INFO, volume = "137", number = "4", pages = "425--455", month = oct, year = "2015", CODEN = "FUMAAJ", DOI = "https://doi.org/10.3233/FI-2015-1189", ISSN = "0169-2968 (print), 1875-8681 (electronic)", ISSN-L = "0169-2968", bibdate = "Sat Mar 5 17:20:34 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/fundinfo2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Fundamenta Informaticae", journal-URL = "http://content.iospress.com/journals/fundamenta-informaticae", } @Article{Chang:2015:OEE, author = "Lijun Chang and Xuemin Lin and Wenjie Zhang and Jeffrey Xu Yu and Ying Zhang and Lu Qin", title = "Optimal enumeration: efficient top-$k$ tree matching", journal = j-PROC-VLDB-ENDOWMENT, volume = "8", number = "5", pages = "533--544", month = jan, year = "2015", CODEN = "????", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Mon Feb 9 18:24:35 MST 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "Driven by many real applications, graph pattern matching has attracted a great deal of attention recently. Consider that a twig-pattern matching may result in an extremely large number of matches in a graph; this may not only confuse users by providing too many results but also lead to high computational costs. In this paper, we study the problem of top-$k$ tree pattern matching; that is, given a rooted tree $T$, compute its top-$k$ matches in a directed graph $G$ based on the twig-pattern matching semantics. We firstly present a novel and optimal enumeration paradigm based on the principle of Lawler's procedure. We show that our enumeration algorithm runs in $ O(n_T + \log k)$ time in each round where $ n_T$ is the number of nodes in $T$. Considering that the time complexity to output a match of $T$ is $ O(n_T)$ and $ n_T \geq \log k$ in practice, our enumeration technique is optimal. Moreover, the cost of generating top-$1$ match of $T$ in our algorithm is $ O(m_R)$ where $ m_R$ is the number of edges in the transitive closure of a data graph $G$ involving all relevant nodes to $T$. $ O(m_R)$ is also optimal in the worst case without pre-knowledge of $G$. Consequently, our algorithm is optimal with the running time $ O(m_R + k(n_T + \log k))$ in contrast to the time complexity $ O(m_R \log k + k n_T (\log k + d_T))$ of the existing technique where $ d_T$ is the maximal node degree in $T$. Secondly, a novel priority based access technique is proposed, which greatly reduces the number of edges accessed and results in a significant performance improvement. Finally, we apply our techniques to the general form of top-$k$ graph pattern matching problem (i.e., query is a graph) to improve the existing techniques. Comprehensive empirical studies demonstrate that our techniques may improve the existing techniques by orders of magnitude.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Chen:2015:PMV, author = "Ke Chen and Zhong Zhou and Wei Wu", title = "Progressive Motion Vector Clustering for Motion Estimation and Auxiliary Tracking", journal = j-TOMM, volume = "11", number = "3", pages = "33:1--33:??", month = jan, year = "2015", CODEN = "????", DOI = "https://doi.org/10.1145/2700296", ISSN = "1551-6857 (print), 1551-6865 (electronic)", ISSN-L = "1551-6857", bibdate = "Thu Feb 5 17:03:39 MST 2015", bibsource = "http://www.acm.org/pubs/contents/journals/tomccap/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tomccap.bib", abstract = "The motion vector similarity between neighboring blocks is widely used in motion estimation algorithms. However, for nonneighboring blocks, they may also have similar motions due to close depths or belonging to the same object inside the scene. Therefore, the motion vectors usually have several kinds of patterns, which reveal a clustering structure. In this article, we propose a progressive clustering algorithm, which periodically counts the motion vectors of the past blocks to make incremental clustering statistics. These statistics are used as the motion vector predictors for the following blocks. It is proved to be much more efficient for one block to find the best-matching candidate with the predictors. We also design the clustering based search with CUDA for GPU acceleration. Another interesting application of the clustering statistics is persistent static object tracking. Based on the statistics, several auxiliary tracking areas are created to guide the object tracking. Even when the target object has significant changes in appearance or it disappears occasionally, its position still can be predicted. The experiments on Xiph.org Video Test Media dataset illustrate that our clustering based search algorithm outperforms the mainstream and some state-of-the-art motion estimation algorithms. It is 33 times faster on average than the full search algorithm with only slightly higher mean-square error values in the experiments. The tracking results show that the auxiliary tracking areas help to locate the target object effectively.", acknowledgement = ack-nhfb, articleno = "33", fjournal = "ACM Transactions on Multimedia Computing, Communications, and Applications", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J961", } @Article{Cho:2015:FAO, author = "Sukhyeun Cho and Joong Chae Na and Kunsoo Park and Jeong Seop Sim", title = "A fast algorithm for order-preserving pattern matching", journal = j-INFO-PROC-LETT, volume = "115", number = "2", pages = "397--402", month = feb, year = "2015", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu Nov 20 09:46:44 MST 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc2010.bib; https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0020019014002336", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190/", } @Article{Cochran:2015:PBP, author = "Robert A. Cochran and Loris D'Antoni and Benjamin Livshits and David Molnar and Margus Veanes", title = "Program Boosting: Program Synthesis via Crowd-Sourcing", journal = j-SIGPLAN, volume = "50", number = "1", pages = "677--688", month = jan, year = "2015", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2775051.2676973", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue May 12 17:41:19 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "In this paper, we investigate an approach to program synthesis that is based on crowd-sourcing. With the help of crowd-sourcing, we aim to capture the ``wisdom of the crowds'' to find good if not perfect solutions to inherently tricky programming tasks, which elude even expert developers and lack an easy-to-formalize specification. We propose an approach we call program boosting, which involves crowd-sourcing imperfect solutions to a difficult programming problem from developers and then blending these programs together in a way that improves their correctness. We implement this approach in a system called CROWDBOOST and show in our experiments that interesting and highly non-trivial tasks such as writing regular expressions for URLs or email addresses can be effectively crowd-sourced. We demonstrate that carefully blending the crowd-sourced results together consistently produces a boost, yielding results that are better than any of the starting programs. Our experiments on 465 program pairs show consistent boosts in accuracy and demonstrate that program boosting can be performed at a relatively modest monetary cost.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "POPL '15 conference proceedings.", } @Article{DAntoni:2015:HCA, author = "Loris D'Antoni and Dileep Kini and Rajeev Alur and Sumit Gulwani and Mahesh Viswanathan and Bj{\"o}rn Hartmann", title = "How Can Automatic Feedback Help Students Construct Automata?", journal = j-TOCHI, volume = "22", number = "2", pages = "9:1--9:??", month = apr, year = "2015", CODEN = "ATCIF4", DOI = "https://doi.org/10.1145/2723163", ISSN = "1073-0516 (print), 1557-7325 (electronic)", ISSN-L = "1073-0516", bibdate = "Wed Apr 15 18:59:56 MDT 2015", bibsource = "http://www.acm.org/pubs/contents/journals/tochi/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tochi.bib", abstract = "In computer-aided education, the goal of automatic feedback is to provide a meaningful explanation of students' mistakes. We focus on providing feedback for constructing a deterministic finite automaton that accepts strings that match a described pattern. Natural choices for feedback are binary feedback (correct/wrong) and a counterexample of a string that is processed incorrectly. Such feedback is easy to compute but might not provide the student enough help. Our first contribution is a novel way to automatically compute alternative conceptual hints. Our second contribution is a rigorous evaluation of feedback with 377 students. We find that providing either counterexamples or hints is judged as helpful, increases student perseverance, and can improve problem completion time. However, both strategies have particular strengths and weaknesses. Since our feedback is completely automatic, it can be deployed at scale and integrated into existing massive open online courses.", acknowledgement = ack-nhfb, articleno = "9", fjournal = "ACM Transactions on Computer-Human Interaction", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J756", } @Article{Deng:2015:UFA, author = "Dong Deng and Guoliang Li and Jianhua Feng and Yi Duan and Zhiguo Gong", title = "A unified framework for approximate dictionary-based entity extraction", journal = j-VLDB-J, volume = "24", number = "1", pages = "143--167", month = feb, year = "2015", CODEN = "VLDBFR", DOI = "https://doi.org/10.1007/s00778-014-0367-9", ISSN = "1066-8888 (print), 0949-877X (electronic)", ISSN-L = "1066-8888", bibdate = "Fri Mar 6 15:25:03 MST 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbj.bib", abstract = "Dictionary-based entity extraction identifies predefined entities (e.g., person names or locations) from documents. A recent trend for improving extraction recall is to support approximate entity extraction, which finds all substrings from documents that approximately match entities in a given dictionary. Existing methods to address this problem support either token-based similarity (e.g., Jaccard Similarity) or character-based dissimilarity (e.g., Edit Distance). It calls for a unified method to support various similarity/dissimilarity functions, since a unified method can reduce the programming efforts, the hardware requirements, and the manpower. In this paper, we propose a unified framework to support various similarity/dissimilarity functions, such as jaccard similarity, cosine similarity, dice similarity, edit similarity, and edit distance. Since many real-world applications have high-performance requirement for approximate entity extraction on data streams (e.g., Twitter), we focus on devising efficient algorithms to achieve high performance. We find that many substrings in documents have overlaps, and we can utilize the shared computation across the overlaps to avoid unnecessary redundant computation. To this end, we propose efficient filtering algorithms and develop effective pruning techniques. Experimental results show our method achieves high performance and outperforms state-of-the-art studies significantly.", acknowledgement = ack-nhfb, fjournal = "VLDB Journal: Very Large Data Bases", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{Doherty:2015:PMT, author = "Jonathan Doherty and Kevin Curran and Paul McKevitt", title = "Pattern Matching Techniques for Replacing Missing Sections of Audio Streamed across Wireless Networks", journal = j-TIST, volume = "6", number = "2", pages = "25:1--25:??", month = apr, year = "2015", CODEN = "????", DOI = "https://doi.org/10.1145/2663358", ISSN = "2157-6904 (print), 2157-6912 (electronic)", ISSN-L = "2157-6904", bibdate = "Tue Apr 21 11:29:25 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tist.bib", abstract = "Streaming media on the Internet can be unreliable. Services such as audio-on-demand drastically increase the loads on networks; therefore, new, robust, and highly efficient coding algorithms are necessary. One method overlooked to date, which can work alongside existing audio compression schemes, is that which takes into account the semantics and natural repetition of music. Similarity detection within polyphonic audio has presented problematic challenges within the field of music information retrieval. One approach to deal with bursty errors is to use self-similarity to replace missing segments. Many existing systems exist based on packet loss and replacement on a network level, but none attempt repairs of large dropouts of 5 seconds or more. Music exhibits standard structures that can be used as a forward error correction (FEC) mechanism. FEC is an area that addresses the issue of packet loss with the onus of repair placed as much as possible on the listener's device. We have developed a server--client-based framework (SoFI) for automatic detection and replacement of large packet losses on wireless networks when receiving time-dependent streamed audio. Whenever dropouts occur, SoFI swaps audio presented to the listener between a live stream and previous sections of the audio stored locally. Objective and subjective evaluations of SoFI where subjects were presented with other simulated approaches to audio repair together with simulations of replacements including varying lengths of time in the repair give positive results.", acknowledgement = ack-nhfb, articleno = "25", fjournal = "ACM Transactions on Intelligent Systems and Technology (TIST)", journal-URL = "http://portal.acm.org/citation.cfm?id=J1318", } @Article{Fagin:2015:DSF, author = "Ronald Fagin and Benny Kimelfeld and Frederick Reiss and Stijn Vansummeren", title = "Document Spanners: a Formal Approach to Information Extraction", journal = j-J-ACM, volume = "62", number = "2", pages = "12:1--12:??", month = may, year = "2015", CODEN = "JACOAH", DOI = "https://doi.org/10.1145/2699442", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Tue May 12 06:16:04 MDT 2015", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "An intrinsic part of information extraction is the creation and manipulation of relations extracted from text. In this article, we develop a foundational framework where the central construct is what we call a document spanner (or just spanner for short). A spanner maps an input string into a relation over the spans (intervals specified by bounding indices) of the string. The focus of this article is on the representation of spanners. Conceptually, there are two kinds of such representations. Spanners defined in a primitive representation extract relations directly from the input string; those defined in an algebra apply algebraic operations to the primitively represented spanners. This framework is driven by SystemT, an IBM commercial product for text analysis, where the primitive representation is that of regular expressions with capture variables. We define additional types of primitive spanner representations by means of two kinds of automata that assign spans to variables. We prove that the first kind has the same expressive power as regular expressions with capture variables; the second kind expresses precisely the algebra of the regular spanners-the closure of the first kind under standard relational operators. The core spanners extend the regular ones by string-equality selection (an extension used in SystemT). We give some fundamental results on the expressiveness of regular and core spanners. As an example, we prove that regular spanners are closed under difference (and complement), but core spanners are not. Finally, we establish connections with related notions in the literature.", acknowledgement = ack-nhfb, articleno = "12", fjournal = "Journal of the ACM", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", } @Article{Fan:2015:KG, author = "Wenfei Fan and Zhe Fan and Chao Tian and Xin Luna Dong", title = "Keys for graphs", journal = j-PROC-VLDB-ENDOWMENT, volume = "8", number = "12", pages = "1590--1601", month = aug, year = "2015", CODEN = "????", DOI = "https://doi.org/10.14778/2824032.2824056", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Wed Sep 16 18:23:11 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "Keys for graphs aim to uniquely identify entities represented by vertices in a graph. We propose a class of keys that are recursively defined in terms of graph patterns, and are interpreted with subgraph isomorphism. Extending conventional keys for relations and XML, these keys find applications in object identification, knowledge fusion and social network reconciliation. As an application, we study the entity matching problem that, given a graph $G$ and a set $ \Sigma $ of keys, is to find all pairs of entities (vertices) in $G$ that are identified by keys in $ \Sigma $. We show that the problem is intractable, and cannot be parallelized in logarithmic rounds. Nonetheless, we provide two parallel scalable algorithms for entity matching, in MapReduce and a vertex-centric asynchronous model. Using real-life and synthetic data, we experimentally verify the effectiveness and scalability of the algorithms.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Fateman:2015:PAS, author = "Richard Fateman", title = "Partitioning of algebraic subexpressions in computer algebra systems: an alternative to matching with an application to symbolic integration", journal = j-ACM-COMM-COMP-ALGEBRA, volume = "49", number = "2", pages = "38--47", month = jun, year = "2015", CODEN = "????", DOI = "https://doi.org/10.1145/2815111.2815112", ISSN = "1932-2232 (print), 1932-2240 (electronic)", ISSN-L = "1932-2232", bibdate = "Fri Aug 14 17:27:46 MDT 2015", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/macsyma.bib; https://www.math.utah.edu/pub/tex/bib/mathematica.bib; https://www.math.utah.edu/pub/tex/bib/sigsam.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "A popular technique to direct transformations of algebraic expressions in a computer algebra system such as Macsyma/Maxima or Mathematica is to first write out a pattern or template for some expected class of ``input'' expressions and use a built-in system routine to match it, identifying pieces and giving them names, then proceeding to compute with these parts. Sometimes this is not such a good approach, and an alternative, presented here, may be more appealing.", acknowledgement = ack-nhfb, fjournal = "ACM Communications in Computer Algebra", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1000", } @Article{Feng:2015:EQD, author = "Yu Feng and Xinyu Wang and Isil Dillig and Calvin Lin", title = "{EXPLORER} : query- and demand-driven exploration of interprocedural control flow properties", journal = j-SIGPLAN, volume = "50", number = "10", pages = "520--534", month = oct, year = "2015", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2858965.2814284", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Feb 16 12:01:43 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/java2010.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "This paper describes a general framework and its implementation in a tool called EXPLORER for statically answering a class of interprocedural control flow queries about Java programs. EXPLORER allows users to formulate queries about feasible callstack configurations using regular expressions, and it employs a precise, demand-driven algorithm for answering such queries. Specifically, EXPLORER constructs an automaton A that is iteratively refined until either the language accepted by A is empty (meaning that the query has been refuted) or until no further refinement is possible based on a precise, context-sensitive abstraction of the program. We evaluate EXPLORER by applying it to three different program analysis tasks, namely, (1) analysis of the observer design pattern in Java, (2) identification of a class of performance bugs, and (3) analysis of inter-component communication in Android applications. Our evaluation shows that EXPLORER is both efficient and precise.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "OOPSLA '15 conference proceedings.", } @Article{Feng:2015:RES, author = "Weixing Feng and Peichao Sang and Deyuan Lian and Yansheng Dong and Fengfei Song and Meng Li and Bo He and Fenglin Cao and Yunlong Liu", title = "{ResSeq}: enhancing short-read sequencing alignment by rescuing error-containing reads", journal = j-TCBB, volume = "12", number = "4", pages = "795--798", month = jul, year = "2015", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2014.2366103", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Wed Sep 16 18:55:37 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "Next-generation short-read sequencing is widely utilized in genomic studies. Biological applications require an alignment step to map sequencing reads to the reference genome, before acquiring expected genomic information. This requirement makes alignment accuracy a key factor for effective biological interpretation. Normally, when accounting for measurement errors and single nucleotide polymorphisms, short read mappings with a few mismatches are generally considered acceptable. However, to further improve the efficiency of short-read sequencing alignment, we propose a method to retrieve additional reliably aligned reads (reads with more than a pre-defined number of mismatches), using a Bayesian-based approach. In this method, we first retrieve the sequence context around the mismatched nucleotides within the already aligned reads; these loci contain the genomic features where sequencing errors occur. Then, using the derived pattern, we evaluate the remaining (typically discarded) reads with more than the allowed number of mismatches, and calculate a score that represents the probability that a specific alignment is correct. This strategy allows the extraction of more reliably aligned reads, therefore improving alignment sensitivity. Implementation: The source code of our tool, ResSeq, can be downloaded from: https://github.com/hrbeubiocenter/Resseq.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", } @Article{Flouri:2015:LCS, author = "Tomas Flouri and Emanuele Giaquinta and Kassian Kobert and Esko Ukkonen", title = "Longest common substrings with $k$ mismatches", journal = j-INFO-PROC-LETT, volume = "115", number = "6--8", pages = "643--647", month = jun # "\slash " # aug, year = "2015", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu May 28 06:03:49 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0020019015000459", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190/", } @Article{Gagie:2015:BJP, author = "Travis Gagie and Danny Hermelin and Gad M. Landau and Oren Weimann", title = "Binary Jumbled Pattern Matching on Trees and Tree-Like Structures", journal = j-ALGORITHMICA, volume = "73", number = "3", pages = "571--588", month = nov, year = "2015", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s00453-014-9957-6", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", bibdate = "Mon Jan 25 08:02:35 MST 2016", bibsource = "http://link.springer.com/journal/453/73/3; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/s00453-014-9957-6", acknowledgement = ack-nhfb, fjournal = "Algorithmica", journal-URL = "http://link.springer.com/journal/453", } @Article{Grabowski:2015:NLC, author = "Szymon Grabowski", title = "A note on the longest common substring with $k$-mismatches problem", journal = j-INFO-PROC-LETT, volume = "115", number = "6--8", pages = "640--642", month = jun # "\slash " # aug, year = "2015", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu May 28 06:03:49 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0020019015000411", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190/", } @Article{Gruber:2015:FAR, author = "Hermann Gruber and Markus Holzer", title = "From Finite Automata to Regular Expressions and Back --- A Summary on Descriptional Complexity", journal = j-INT-J-FOUND-COMP-SCI, volume = "26", number = "8", pages = "1009--??", month = dec, year = "2015", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S0129054115400110", ISSN = "0129-0541 (print), 1793-6373 (electronic)", ISSN-L = "0129-0541", bibdate = "Thu Feb 25 06:16:52 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Guting:2015:ST, author = "Ralf Hartmut G{\"u}ting and Fabio Vald{\'e}s and Maria Luisa Damiani", title = "Symbolic Trajectories", journal = j-TSAS, volume = "1", number = "2", pages = "7:1--7:51", month = nov, year = "2015", CODEN = "????", DOI = "https://doi.org/10.1145/2786756", ISSN = "2374-0353 (print), 2374-0361 (electronic)", ISSN-L = "2374-0353", bibdate = "Thu Jun 15 14:51:01 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tsas.bib", URL = "http://dl.acm.org/citation.cfm?id=2786756", abstract = "Due to the proliferation of GPS-enabled devices in vehicles or with people, large amounts of position data are recorded every day and the management of such mobility data, also called trajectories, is a very active research field. A lot of effort has gone into discovering ``semantics'' from the raw geometric trajectories by relating them to the spatial environment or finding patterns, for example, by data mining techniques. A question is how the resulting ``meaningful'' trajectories can be represented or further queried. In this article, we propose a systematic study of annotated trajectory databases. We define a very simple generic model called symbolic trajectory to capture a wide range of meanings derived from a geometric trajectory. Essentially, a symbolic trajectory is just a time-dependent label; variants have sets of labels, places, or sets of places. They are modeled as abstract data types and integrated into a well-established framework of data types and operations for moving objects. Symbolic trajectories can represent, for example, the names of roads traversed obtained by map matching, transportation modes, speed profile, cells of a cellular network, behaviors of animals, cinemas within 2km distance, and so forth. Symbolic trajectories can be combined with geometric trajectories to obtain annotated trajectories. Besides the model, the main technical contribution of the article is a language for pattern matching and rewriting of symbolic trajectories. A symbolic trajectory can be represented as a sequence of pairs (called units) consisting of a time interval and a label. A pattern consists of unit patterns (specifications for time interval and/or label) and wildcards, matching units and sequences of units, respectively, and regular expressions over such elements. It may further contain variables that can be used in conditions and in rewriting. Conditions and expressions in rewriting may use arbitrary operations available for querying in the host DBMS environment, which makes the language extensible and quite powerful. We formally define the data model and syntax and semantics of the pattern language. Query operations are offered to integrate pattern matching, rewriting, and classification of symbolic trajectories into a DBMS querying environment. Implementation of the model using finite state machines is described in detail. An experimental evaluation demonstrates the efficiency of the implementation. In particular, it shows dramatic improvements in storage space and response time in a comparison of symbolic and geometric trajectories for some simple queries that can be executed on both symbolic and raw trajectories.", acknowledgement = ack-nhfb, articleno = "7", fjournal = "ACM Transactions on Spatial Algorithms and Systems (TSAS)", journal-URL = "http://dl.acm.org/pub.cfm?id=J1514", } @Article{Hammoud:2015:DDR, author = "Mohammad Hammoud and Dania Abed Rabbou and Reza Nouri and Seyed-Mehdi-Reza Beheshti and Sherif Sakr", title = "{DREAM}: distributed {RDF} engine with adaptive query planner and minimal communication", journal = j-PROC-VLDB-ENDOWMENT, volume = "8", number = "6", pages = "654--665", month = feb, year = "2015", CODEN = "????", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Tue Feb 10 17:42:37 MST 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "The Resource Description Framework (RDF) and SPARQL query language are gaining wide popularity and acceptance. In this paper, we present DREAM, a distributed and adaptive RDF system. As opposed to existing RDF systems, DREAM avoids partitioning RDF datasets and partitions only SPARQL queries. By not partitioning datasets, DREAM offers a general paradigm for different types of pattern matching queries, and entirely averts intermediate data shuffling (only auxiliary data are shuffled). Besides, by partitioning queries, DREAM presents an adaptive scheme, which automatically runs queries on various numbers of machines depending on their complexities. Hence, in essence DREAM combines the advantages of the state-of-the-art centralized and distributed RDF systems, whereby data communication is avoided and cluster resources are aggregated. Likewise, it precludes their disadvantages, wherein system resources are limited and communication overhead is typically hindering. DREAM achieves all its goals via employing a novel graph-based, rule-oriented query planner and a new cost model. We implemented DREAM and conducted comprehensive experiments on a private cluster and on the Amazon EC2 platform. Results show that DREAM can significantly outperform three related popular RDF systems.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Ileri:2015:SYT, author = "Atalay Mert Ileri and M. Oguzhan K{\"u}lekci and Bojian Xu", title = "A simple yet time-optimal and linear-space algorithm for shortest unique substring queries", journal = j-THEOR-COMP-SCI, volume = "562", number = "??", pages = "621--633", day = "11", month = jan, year = "2015", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Tue Dec 2 19:05:36 MST 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397514008470", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", } @Article{Jaskelioff:2015:FPS, author = "Mauro Jaskelioff and Exequiel Rivas", title = "Functional pearl: a smart view on datatypes", journal = j-SIGPLAN, volume = "50", number = "9", pages = "355--361", month = sep, year = "2015", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2858949.2784743", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Feb 16 12:01:43 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Left-nested list concatenations, left-nested binds on the free monad, and left-nested choices in many non-determinism monads have an algorithmically bad performance. Can we solve this problem without losing the ability to pattern-match on the computation? Surprisingly, there is a deceptively simple solution: use a smart view to pattern-match on the datatype. We introduce the notion of smart view and show how it solves the problem of slow left-nested operations. In particular, we use the technique to obtain fast and simple implementations of lists, of free monads, and of two non-determinism monads.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "ICFP '15 conference proceedings.", } @Article{Jez:2015:FFC, author = "Artur Jez", title = "Faster Fully Compressed Pattern Matching by Recompression", journal = j-TALG, volume = "11", number = "3", pages = "20:1--20:??", month = jan, year = "2015", CODEN = "????", DOI = "https://doi.org/10.1145/2631920", ISSN = "1549-6325 (print), 1549-6333 (electronic)", ISSN-L = "1549-6325", bibdate = "Tue Jan 13 18:05:43 MST 2015", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/talg.bib", abstract = "In this article, a fully compressed pattern matching problem is studied. The compression is represented by straight-line programs (SLPs) --- that is, context-free grammars generating exactly one string; the term fully means that both the pattern and the text are given in the compressed form. The problem is approached using a recently developed technique of local recompression: the SLPs are refactored so that substrings of the pattern and text are encoded in both SLPs in the same way. To this end, the SLPs are locally decompressed and then recompressed in a uniform way. This technique yields an $ O((n + m) \log M) $ algorithm for compressed pattern matching, assuming that $M$ fits in $ O(1) $ machine words, where $ n(m) $ is the size of the compressed representation of the text (pattern, respectively), and $M$ is the size of the decompressed pattern. If only $ m + n$ fits in $ O(1) $ machine words, the running time increases to $ O((n + m) \log M \log (n + m)) $. The previous best algorithm due to Lifshits has $ O(n^2 m) $ running time.", acknowledgement = ack-nhfb, articleno = "20", fjournal = "ACM Transactions on Algorithms (TALG)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J982", } @Article{Jouannaud:2015:NHO, author = "Jean-Pierre Jouannaud and Albert Rubio", title = "Normal Higher-Order Termination", journal = j-TOCL, volume = "16", number = "2", pages = "13:1--13:??", month = mar, year = "2015", CODEN = "????", DOI = "https://doi.org/10.1145/2699913", ISSN = "1529-3785 (print), 1557-945X (electronic)", ISSN-L = "1529-3785", bibdate = "Fri Aug 7 09:04:46 MDT 2015", bibsource = "http://www.acm.org/pubs/contents/journals/tocl/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tocl.bib", abstract = "We extend the termination proof methods based on reduction orderings to higher-order rewriting systems based on higher-order pattern matching. We accommodate, on the one hand, a weakly polymorphic, algebraic extension of Church's simply typed $ \lambda $-calculus and, on the other hand, any use of eta, as a reduction, as an expansion, or as an equation. The user's rules may be of any type in this type system, either a base, functional, or weakly polymorphic type.", acknowledgement = ack-nhfb, articleno = "13", fjournal = "ACM Transactions on Computational Logic", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J773", } @Article{Karachalias:2015:GMT, author = "Georgios Karachalias and Tom Schrijvers and Dimitrios Vytiniotis and Simon Peyton Jones", title = "{GADTs} meet their match: pattern-matching warnings that account for {GADTs}, guards, and laziness", journal = j-SIGPLAN, volume = "50", number = "9", pages = "424--436", month = sep, year = "2015", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2858949.2784748", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Feb 16 12:01:43 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "For ML and Haskell, accurate warnings when a function definition has redundant or missing patterns are mission critical. But today's compilers generate bogus warnings when the programmer uses guards (even simple ones), GADTs, pattern guards, or view patterns. We give the first algorithm that handles all these cases in a single, uniform framework, together with an implementation in GHC, and evidence of its utility in practice.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "ICFP '15 conference proceedings.", } @Article{Katsarou:2015:PSI, author = "Foteini Katsarou and Nikos Ntarmos and Peter Triantafillou", title = "Performance and scalability of indexed subgraph query processing methods", journal = j-PROC-VLDB-ENDOWMENT, volume = "8", number = "12", pages = "1566--1577", month = aug, year = "2015", CODEN = "????", DOI = "https://doi.org/10.14778/2824032.2824054", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Wed Sep 16 18:23:11 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "Graph data management systems have become very popular as graphs are the natural data model for many applications. One of the main problems addressed by these systems is subgraph query processing; i.e., given a query graph, return all graphs that contain the query. The naive method for processing such queries is to perform a subgraph isomorphism test against each graph in the dataset. This obviously does not scale, as subgraph isomorphism is NP-Complete. Thus, many indexing methods have been proposed to reduce the number of candidate graphs that have to underpass the subgraph isomorphism test. In this paper, we identify a set of key factors-parameters, that influence the performance of related methods: namely, the number of nodes per graph, the graph density, the number of distinct labels, the number of graphs in the dataset, and the query graph size. We then conduct comprehensive and systematic experiments that analyze the sensitivity of the various methods on the values of the key parameters. Our aims are twofold: first to derive conclusions about the algorithms' relative performance, and, second, to stress-test all algorithms, deriving insights as to their scalability, and highlight how both performance and scalability depend on the above factors. We choose six well-established indexing methods, namely Grapes, CT-Index, GraphGrepSX, gIndex, Tree+ $ \Delta $, and gCode, as representative approaches of the overall design space, including the most recent and best performing methods. We report on their index construction time and index size, and on query processing performance in terms of time and false positive ratio. We employ both real and synthetic datasets. Specifically, four real datasets of different characteristics are used: AIDS, PDBS, PCM, and PPI. In addition, we generate a large number of synthetic graph datasets, empowering us to systematically study the algorithms' performance and scalability versus the aforementioned key parameters.", acknowledgement = ack-nhfb, ajournal = "Proc. VLDB Endowment", fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Khan:2015:UGM, author = "Arijit Khan and Lei Chen", title = "On uncertain graphs modeling and queries", journal = j-PROC-VLDB-ENDOWMENT, volume = "8", number = "12", pages = "2042--2043", month = aug, year = "2015", CODEN = "????", DOI = "https://doi.org/10.14778/2824032.2824133", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Wed Sep 16 18:23:11 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "Large-scale, highly-interconnected networks pervade both our society and the natural world around us. Uncertainty, on the other hand, is inherent in the underlying data due to a variety of reasons, such as noisy measurements, lack of precise information needs, inference and prediction models, or explicit manipulation, e.g., for privacy purposes. Therefore, uncertain, or probabilistic, graphs are increasingly used to represent noisy linked data in many emerging application scenarios, and they have recently become a hot topic in the database research community. While many classical graph algorithms such as reachability and shortest path queries become \# P -complete, and hence, more expensive in uncertain graphs; various complex queries are also emerging over uncertain networks, such as pattern matching, information diffusion, and influence maximization queries. In this tutorial, we discuss the sources of uncertain graphs and their applications, uncertainty modeling, as well as the complexities and algorithmic advances on uncertain graphs processing in the context of both classical and emerging graph queries. We emphasize the current challenges and highlight some future research directions.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Kim:2015:TSI, author = "Jinha Kim and Hyungyu Shin and Wook-Shin Han and Sungpack Hong and Hassan Chafi", title = "Taming subgraph isomorphism for {RDF} query processing", journal = j-PROC-VLDB-ENDOWMENT, volume = "8", number = "11", pages = "1238--1249", month = jul, year = "2015", CODEN = "????", DOI = "https://doi.org/10.14778/2809974.2809985", ISSN = "2150-8097", bibdate = "Thu Jul 30 16:13:08 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "RDF data are used to model knowledge in various areas such as life sciences, Semantic Web, bioinformatics, and social graphs. The size of real RDF data reaches billions of triples. This calls for a framework for efficiently processing RDF data. The core function of processing RDF data is subgraph pattern matching. There have been two completely different directions for supporting efficient subgraph pattern matching. One direction is to develop specialized RDF query processing engines exploiting the properties of RDF data for the last decade, while the other direction is to develop efficient subgraph isomorphism algorithms for general, labeled graphs for over 30 years. Although both directions have a similar goal (i.e., finding subgraphs in data graphs for a given query graph), they have been independently researched without clear reason. We argue that a subgraph isomorphism algorithm can be easily modified to handle the graph homomorphism, which is the RDF pattern matching semantics, by just removing the injectivity constraint. In this paper, based on the state-of-the-art subgraph isomorphism algorithm, we propose an in-memory solution, Turbo$_{HOM + +}$, which is tamed for the RDF processing, and we compare it with the representative RDF processing engines for several RDF benchmarks in a server machine where billions of triples can be loaded in memory. In order to speed up Turbo$_{HOM + +}$, we also provide a simple yet effective transformation and a series of optimization techniques. Extensive experiments using several RDF benchmarks show that Turbo$_{HOM + +}$ consistently and significantly outperforms the representative RDF engines. Specifically, Turbo$_{HOM + +}$ outperforms its competitors by up to five orders of magnitude.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Kocberber:2015:AMA, author = "Onur Kocberber and Babak Falsafi and Boris Grot", title = "Asynchronous memory access chaining", journal = j-PROC-VLDB-ENDOWMENT, volume = "9", number = "4", pages = "252--263", month = dec, year = "2015", CODEN = "????", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Sat Dec 19 17:42:25 MST 2015", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/multithreading.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "In-memory databases rely on pointer-intensive data structures to quickly locate data in memory. A single lookup operation in such data structures often exhibits long-latency memory stalls due to dependent pointer dereferences. Hiding the memory latency by launching additional memory accesses for other lookups is an effective way of improving performance of pointer-chasing codes (e.g., hash table probes, tree traversals). The ability to exploit such inter-lookup parallelism is beyond the reach of modern out-of-order cores due to the limited size of their instruction window. Instead, recent work has proposed software prefetching techniques that exploit inter-lookup parallelism by arranging a set of independent lookups into a group or a pipeline, and navigate their respective pointer chains in a synchronized fashion. While these techniques work well for highly regular access patterns, they break down in the face of irregularity across lookups. Such irregularity includes variable-length pointer chains, early exit, and read/write dependencies. This work introduces Asynchronous Memory Access Chaining (AMAC), a new approach for exploiting inter-lookup parallelism to hide the memory access latency. AMAC achieves high dynamism in dealing with irregularity across lookups by maintaining the state of each lookup separately from that of other lookups. This feature enables AMAC to initiate a new lookup as soon as any of the in-flight lookups complete. In contrast, the static arrangement of lookups into a group or pipeline in existing techniques precludes such adaptivity. Our results show that AMAC matches or outperforms state-of-the-art prefetching techniques on regular access patterns, while delivering up to 2.3x higher performance under irregular data structure lookups. AMAC fully utilizes the available microarchitectural resources, generating the maximum number of memory accesses allowed by hardware in both single- and multi-threaded execution modes.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Koneru:2015:DCA, author = "Suvarna Vani Koneru and Bhavani S. Durga", title = "Divide and conquer approach to contact map overlap problem using {$2$D}-pattern mining of protein contact networks", journal = j-TCBB, volume = "12", number = "4", pages = "729--737", month = jul, year = "2015", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2015.2394402", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Wed Sep 16 18:55:37 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "A novel approach to Contact Map Overlap (CMO) problem is proposed using the two dimensional clusters present in the contact maps. Each protein is represented as a set of the non-trivial clusters of contacts extracted from its contact map. The approach involves finding matching regions between the two contact maps using approximate 2D-pattern matching algorithm and dynamic programming technique. These matched pairs of small contact maps are submitted in parallel to a fast heuristic CMO algorithm. The approach facilitates parallelization at this level since all the pairs of contact maps can be submitted to the algorithm in parallel. Then, a merge algorithm is used in order to obtain the overall alignment. As a proof of concept, MSVNS, a heuristic CMO algorithm is used for global as well as local alignment. The divide and conquer approach is evaluated for two benchmark data sets that of Skolnick and Ding et al. It is interesting to note that along with achieving saving of time, better overlap is also obtained for certain protein folds.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", } @Article{Kouzinopoulos:2015:MSM, author = "Charalampos S. Kouzinopoulos and Panagiotis D. Michailidis and Konstantinos G. Margaritis", title = "Multiple String Matching on a {GPU} using {CUDAs}", journal = j-SCPE, volume = "16", number = "2", pages = "121--138", month = "????", year = "2015", CODEN = "????", ISSN = "1895-1767", ISSN-L = "1895-1767", bibdate = "Mon Jan 7 06:46:46 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/pvm.bib; https://www.math.utah.edu/pub/tex/bib/scpe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.scpe.org/index.php/scpe/article/view/1085", acknowledgement = ack-nhfb, fjournal = "Scalable Computing: Practice and Experience", journal-URL = "http://www.scpe.org/", } @Article{Kumar:2015:IAM, author = "Ajay Kumar and Anil Kumar Verma", title = "An Improved Algorithm for the Metamorphosis of Semi-Extended Regular Expressions to Deterministic Finite Automata", journal = j-COMP-J, volume = "58", number = "3", pages = "448--456", month = mar, year = "2015", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/bxu049", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Wed Feb 25 17:24:32 MST 2015", bibsource = "http://comjnl.oxfordjournals.org/content/58/3.toc; https://www.math.utah.edu/pub/tex/bib/compj2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://comjnl.oxfordjournals.org/content/58/3/448", acknowledgement = ack-nhfb, fjournal = "Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", onlinedate = "June 22, 2014", } @Article{Kusudo:2015:BPA, author = "Ko Kusudo and Fumihiko Ino and Kenichi Hagihara", title = "A bit-parallel algorithm for searching multiple patterns with various lengths", journal = j-J-PAR-DIST-COMP, volume = "76", number = "??", pages = "49--57", month = feb, year = "2015", CODEN = "JPDCER", ISSN = "0743-7315 (print), 1096-0848 (electronic)", ISSN-L = "0743-7315", bibdate = "Mon Mar 9 10:30:03 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/jpardistcomp.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S074373151400210X", acknowledgement = ack-nhfb, fjournal = "Journal of Parallel and Distributed Computing", journal-URL = "http://www.sciencedirect.com/science/journal/07437315/", } @Article{Libkin:2015:RED, author = "Leonid Libkin and Tony Tan and Domagoj Vrgoc", title = "Regular expressions for data words", journal = j-J-COMP-SYS-SCI, volume = "81", number = "7", pages = "1278--1297", month = nov, year = "2015", CODEN = "JCSSBM", DOI = "https://doi.org/10.1016/j.jcss.2015.03.005", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:27:30 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0022000015000276", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Article{Lu:2015:BQA, author = "Jiaheng Lu and Chunbin Lin and Wei Wang and Chen Li and Xiaokui Xiao", title = "Boosting the Quality of Approximate String Matching by Synonyms", journal = j-TODS, volume = "40", number = "3", pages = "15:1--15:??", month = oct, year = "2015", CODEN = "ATDSD3", DOI = "https://doi.org/10.1145/2818177", ISSN = "0362-5915 (print), 1557-4644 (electronic)", ISSN-L = "0362-5915", bibdate = "Sat Oct 24 11:43:27 MDT 2015", bibsource = "http://www.acm.org/pubs/contents/journals/tods/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tods.bib", abstract = "A string-similarity measure quantifies the similarity between two text strings for approximate string matching or comparison. For example, the strings ``Sam'' and ``Samuel'' can be considered to be similar. Most existing work that computes the similarity of two strings only considers syntactic similarities, for example, number of common words or $q$-grams. While this is indeed an indicator of similarity, there are many important cases where syntactically-different strings can represent the same real-world object. For example, ``Bill'' is a short form of ``William,'' and ``Database Management Systems'' can be abbreviated as ``DBMS.'' Given a collection of predefined synonyms, the purpose of this article is to explore such existing knowledge to effectively evaluate the similarity between two strings and efficiently perform similarity searches and joins, thereby boosting the quality of approximate string matching. In particular, we first present an expansion-based framework to measure string similarities efficiently while considering synonyms. We then study efficient algorithms for similarity searches and joins by proposing two novel indexes, called SI-trees and QP-trees, which combine signature-filtering and length-filtering strategies. In order to improve the efficiency of our algorithms, we develop an estimator to estimate the size of candidates to enable an online selection of signature filters. This estimator provides strong low-error, high-confidence guarantees while requiring only logarithmic space and time costs, thus making our method attractive both in theory and in practice. Finally, the experimental results from a comprehensive study of the algorithms with three real datasets verify the effectiveness and efficiency of our approaches.", acknowledgement = ack-nhfb, articleno = "15", fjournal = "ACM Transactions on Database Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J777", } @Article{Manilov:2015:FRT, author = "Stanislav Manilov and Bj{\"o}rn Franke and Anthony Magrath and Cedric Andrieu", title = "Free Rider: a Tool for Retargeting Platform-Specific Intrinsic Functions", journal = j-SIGPLAN, volume = "50", number = "5", pages = "5:1--5:??", month = may, year = "2015", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2808704.2754962", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Fri Jul 31 19:39:44 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Short-vector SIMD and DSP instructions are popular extensions to common ISAs. These extensions deliver excellent performance and compact code for some compute-intensive applications, but they require specialised compiler support. To enable the programmer to explicitly request the use of such an instruction, many C compilers provide platform-specific intrinsic functions, whose implementation is handled specially by the compiler. The use of such intrinsics, however, inevitably results in non-portable code. In this paper we develop a novel methodology for retargeting such non-portable code, which maps intrinsics from one platform to another, taking advantage of similar intrinsics on the target platform. We employ a description language to specify the signature and semantics of intrinsics and perform graph-based pattern matching and high-level code transformations to derive optimised implementations exploiting the target's intrinsics, wherever possible. We demonstrate the effectiveness of our new methodology, implemented in the FREE RIDER tool, by automatically retargeting benchmarks derived from OpenCV samples and a complex embedded application optimised to run on an Arm Cortex-M4 to an Intel Edison module with Sse4.2 instructions. We achieve a speedup of up to 3.73 over a plain C baseline, and on average 96.0\% of the speedup of manually ported and optimised versions of the benchmarks.", acknowledgement = ack-nhfb, articleno = "5", fjournal = "ACM SIGPLAN Notices", journal-URL = "https://dl.acm.org/loi/sigplan", remark = "LCTES '15 conference proceedings.", } @Article{Meister:2015:USD, author = "Daniel Meister", title = "Using swaps and deletes to make strings match", journal = j-THEOR-COMP-SCI, volume = "562", number = "??", pages = "606--620", day = "11", month = jan, year = "2015", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Tue Dec 2 19:05:36 MST 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2010.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397514008457", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", } @Article{Najam:2015:SPP, author = "Maleeha Najam and Usman Younis and Raihan ur Rasool", title = "Speculative parallel pattern matching using stride-$k$ {DFA} for deep packet inspection", journal = j-J-NETW-COMPUT-APPL, volume = "54", number = "??", pages = "78--87", month = aug, year = "2015", CODEN = "JNCAF3", ISSN = "1084-8045 (print), 1095-8592 (electronic)", ISSN-L = "1084-8045", bibdate = "Sat Aug 8 15:46:40 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/jnetwcomputappl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S1084804515000867", acknowledgement = ack-nhfb, fjournal = "Journal of Network and Computer Applications", journal-URL = "http://www.sciencedirect.com/science/journal/10848045", } @Article{Nicolae:2015:SMM, author = "Marius Nicolae and Sanguthevar Rajasekaran", title = "On String Matching with Mismatches", journal = j-ALGORITHMS-BASEL, volume = "8", number = "2", pages = "248--270", month = jun, year = "2015", CODEN = "ALGOCH", DOI = "https://doi.org/10.3390/a8020248", ISSN = "1999-4893 (electronic)", ISSN-L = "1999-4893", bibdate = "Fri May 3 13:50:13 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/algorithms.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.mdpi.com/1999-4893/8/2/248", acknowledgement = ack-nhfb, fjournal = "Algorithms (Basel)", journal-URL = "https://www.mdpi.com/journal/algorithms", pubdates = "Received: 3 April 2015 / Accepted: 19 May 2015 / Published: 26 May 2015", } @Article{Oliveira:2015:MRM, author = "Bruno C. d. S. Oliveira and Shin-Cheng Mu and Shu-Hung You", title = "Modular reifiable matching: a list-of-functors approach to two-level types", journal = j-SIGPLAN, volume = "50", number = "12", pages = "82--93", month = dec, year = "2015", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2887747.2804315", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Feb 16 12:01:44 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "This paper presents Modular Reifiable Matching (MRM): a new approach to two level types using a fixpoint of list-of-functors representation. MRM allows the modular definition of datatypes and functions by pattern matching, using a style similar to the widely popular Datatypes a la Carte (DTC) approach. However, unlike DTC, MRM uses a fixpoint of list-of-functors approach to two-level types. This approach has advantages that help with various aspects of extensibility, modularity and reuse. Firstly, modular pattern matching definitions are collected using a list of matches that is fully reifiable. This allows for extensible pattern matching definitions to be easily reused/inherited, and particular matches to be overridden. Such flexibility is used, among other things, to implement extensible generic traversals. Secondly, the subtyping relation between lists of functors is quite simple, does not require backtracking, and is easy to model in languages like Haskell. MRM is implemented as a Haskell library, and its use and applicability are illustrated through various examples in the paper.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "Haskell '15 conference proceedings.", } @Article{Papadopoulos:2015:PAP, author = "Dimitrios Papadopoulos and Charalampos Papamanthou and Roberto Tamassia and Nikos Triandopoulos", title = "Practical authenticated pattern matching with optimal proof size", journal = j-PROC-VLDB-ENDOWMENT, volume = "8", number = "7", pages = "750--761", month = feb, year = "2015", CODEN = "????", ISSN = "2150-8097", bibdate = "Wed Apr 15 19:04:24 MDT 2015", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/cryptography2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "We address the problem of authenticating pattern matching queries over textual data that is outsourced to an untrusted cloud server. By employing cryptographic accumulators in a novel optimal integrity-checking tool built directly over a suffix tree, we design the first authenticated data structure for verifiable answers to pattern matching queries featuring fast generation of constant-size proofs. We present two main applications of our new construction to authenticate: (i) pattern matching queries over text documents, and (ii) exact path queries over XML documents. Answers to queries are verified by proofs of size at most 500 bytes for text pattern matching, and at most 243 bytes for exact path XML search, independently of the document or answer size. By design, our authentication schemes can also be parallelized to offer extra efficiency during data outsourcing. We provide a detailed experimental evaluation of our schemes showing that for both applications the times required to compute and verify a proof are very small --- e.g., it takes less than $ 10 \mu $ s to generate a proof for a pattern (mis)match of $ 10^2 $ characters in a text of $ 10^6 $ characters, once the query has been evaluated.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Rendel:2015:ARL, author = "Tillmann Rendel and Julia Trieflinger and Klaus Ostermann", title = "Automatic refunctionalization to a language with copattern matching: with applications to the expression problem", journal = j-SIGPLAN, volume = "50", number = "9", pages = "269--279", month = sep, year = "2015", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2858949.2784763", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue Feb 16 12:01:43 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Defunctionalization and refunctionalization establish a correspondence between first-class functions and pattern matching, but the correspondence is not symmetric: Not all uses of pattern matching can be automatically refunctionalized to uses of higher-order functions. To remedy this asymmetry, we generalize from first-class functions to arbitrary codata. This leads us to full defunctionalization and refunctionalization between a codata language based on copattern matching and a data language based on pattern matching. We observe how programs can be written as matrices so that they are modularly extensible in one dimension but not the other. In this representation, defunctionalization and refunctionalization correspond to matrix transposition which effectively changes the dimension of extensibility a program supports. This suggests applications to the expression problem.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "ICFP '15 conference proceedings.", } @Book{Ruckert:2015:MSS, author = "Martin Ruckert", title = "The {MMIX} supplement: supplement to {{\booktitle{The Art of Computer Programming, volumes 1, 2, 3}} by Donald E. Knuth}", publisher = pub-AW, address = pub-AW:adr, pages = "xxi + 193", year = "2015", ISBN = "0-13-399231-4 (paperback), 0-13-399289-6", ISBN-13 = "978-0-13-399231-1 (paperback), 978-0-13-399289-2", LCCN = "QA76.6 .K64 2005 Suppl. 1", bibdate = "Wed Feb 4 10:19:23 MST 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/fparith.bib; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/litprog.bib; https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/prng.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; z3950.loc.gov:7090/Voyager", URL = "http://mmix.cs.hm.edu/", abstract = "In the first edition of Volume 1 of The Art of Computer Programming, Donald E. Knuth introduced the MIX computer and its machine language: a teaching tool that powerfully illuminated the inner workings of the algorithms he documents. Later, with the publication of his Fascicle 1, Knuth introduced MMIX: a modern, 64-bit RISC replacement to the now-obsolete MIX. Now, with Knuth's guidance and approval, Martin Ruckert has rewritten all MIX example programs from Knuth's Volumes 1--3 for MMIX, thus completing this MMIX update to the original classic.\par From Donald E. Knuth's Foreword:\par ``I am thrilled to see the present book by Martin Ruckert: It is jam-packed with goodies from which an extraordinary amount can be learned. Martin has not merely transcribed my early programs for MIX and recast them in a modern idiom. He has penetrated to their essence and rendered them anew with elegance and good taste. His carefully checked code represents a significant contribution to the art of pedagogy as well as to the art of programming.''", acknowledgement = ack-nhfb, libnote = "Not yet in my library.", subject = "MMIX (Computer architecture); Assembly languages (Electronic computers); Microcomputers; Programming", tableofcontents = "Foreword / iii \\ Preface / v \\ Style Guide / viii \\ Programming Techniques / xii \\ Basic Concepts / 1 \\ Applications to Permutations / 1 \\ Input and Output / 8 \\ Information Structures / 15 \\ Introduction / 15 \\ Sequential Allocation / 17 \\ Linked Allocation / 18 \\ Circular Lists / 25 \\ Doubly Linked Lists / 27 \\ Arrays and Orthogonal Lists / 36 \\ Traversing Binary Trees / 37 \\ Binary Tree Representation of Trees / 39 \\ Other Representations of Trees / 43 \\ Lists and Garbage Collection / 44 \\ Dynamic Storage Allocation / 45 \\ Random Numbers / 48 \\ Choice of modulus / 48 \\ Potency / 49 \\ Other Methods / 50 \\ Numerical Distributions / 51 \\ Summary / 52 \\ Arithmetic / 53 \\ Positional Number Systems / 53 \\ Single-Precision Calculations / 53 \\ Accuracy of Floating Point Arithmetic / 58 \\ Double-Precision Calculations / 58 \\ The Classical Algorithms / 62 \\ Radix Conversion / 68 \\ The Greatest Common Divisor / 70 \\ Analysis of Euclid's Algorithm / 71 \\ Factoring into Primes / 72 \\ Evaluation of Powers / 72 \\ Evaluation of Polynomials / 73 \\ Sorting / 74 \\ Internal Sorting / 74 \\ Sorting by Insertion / 76 \\ Sorting by Exchanging / 81 \\ Sorting by Selection / 87 \\ Sorting by Merging / 89 \\ Sorting by Distribution / 93 \\ Minimum-Comparison Sorting / 94 \\ Summary, History and Bibliography / 95 \\ Searching / 97 \\ Sequential Searching / 97 \\ Searching an Ordered Table / 99 \\ Binary Tree Searching / 102 \\ Balanced Trees / 103 \\ Digital Searching / 106 \\ Hashing / 108 \\ Answers to Exercises / 117 \\ The MMIX Assembly Language / 117 \\ Applications to Permutations / 120 \\ Input and Output / 120 \\ Introduction / 122 \\ Sequential Allocation / 123 \\ Linked Allocation / 124 \\ Circular Lists / 128 \\ Doubly Linked Lists / 130 \\ Arrays and Orthogonal Lists / 132 \\ Traversing Binary Trees / 134 \\ Binary Tree Representation of Trees / 136 \\ Lists and Garbage Collection / 139 \\ Dynamic Storage Allocation / 140 \\ Choice of modulus / 147 \\ Potency / 148 \\ Other Methods / 148 \\ Numerical Distributions / 149 \\ Summary / 150 \\ Positional Number Systems / 150 \\ Single-Precision Calculations / 151 \\ Accuracy of Floating Point Arithmetic / 152 \\ Double-Precision Calculations / 153 \\ The Classical Algorithms / 156 \\ Radix Conversion / 158 \\ The Greatest Common Divisor / 160 \\ Analysis of Euclid's Algorithm / 160 \\ Evaluation of Powers / 161 \\ Evaluation of Polynomials / 161 \\ Sorting / 162 \\ Internal Sorting / 162 \\ Sorting by Insertion / 165 \\ Sorting by Exchanging / 169 \\ Sorting by Selection / 174 \\ Sorting by Distribution / 179 \\ Minimum-Comparison Sorting / 180 \\ Summary, History, and Bibliography / 183 \\ Sequential Searching / 183 \\ Searching an Ordered Table / 184 \\ Binary Tree Searching / 185 \\ Balanced Trees / 185 \\ Digital Searching / 186 \\ Hashing / 186 \\ Acknowledgements / 188 \\ Index / 189", } @Article{Santini:2015:QSU, author = "Simone Santini", title = "Querying streams using regular expressions: some semantics, decidability, and efficiency issues", journal = j-VLDB-J, volume = "24", number = "6", pages = "801--821", month = dec, year = "2015", CODEN = "VLDBFR", DOI = "https://doi.org/10.1007/s00778-015-0402-5", ISSN = "1066-8888 (print), 0949-877X (electronic)", ISSN-L = "1066-8888", bibdate = "Wed Nov 25 15:38:42 MST 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbj.bib", abstract = "This paper analyzes the decidability and complexity problems that arise when matching regular expressions on infinite streams of sets of symbols. We show that in important application domains, several apparently obvious semantics lead to detecting spurious events (events that are mere artifacts of the semantics) or to missing events of potential interest. We single out a class of semantics, of interest in many applications, which we dub use-and-throw: In a use-and-throw semantics, an elementary event can participate in the creation of at most one detected complex event. Many areas of research have identified this as a desirable requirement (we give the examples of databases and video surveillance), but hitherto there has been no systematic study of the characteristics of these semantics, in particular their decidability and algorithmic complexity. This paper is meant to provide at least some initial answers on this subject. We analyze several semantics, provide polynomial algorithms for them, and prove their correctness and their properties.", acknowledgement = ack-nhfb, fjournal = "VLDB Journal: Very Large Data Bases", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{Shahbaz:2015:AGV, author = "Muzammil Shahbaz and Phil McMinn and Mark Stevenson", title = "Automatic generation of valid and invalid test data for string validation routines using web searches and regular expressions", journal = j-SCI-COMPUT-PROGRAM, volume = "97 (part 4)", number = "??", pages = "405--425", day = "1", month = jan, year = "2015", CODEN = "SCPGD4", ISSN = "0167-6423 (print), 1872-7964 (electronic)", ISSN-L = "0167-6423", bibdate = "Mon Nov 17 07:44:09 MST 2014", bibsource = "https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0167642314001725", acknowledgement = ack-nhfb, fjournal = "Science of Computer Programming", journal-URL = "http://www.sciencedirect.com/science/journal/01676423/", } @Article{Tran:2015:CLC, author = "Nhat-Phuong Tran and Myungho Lee and Dong Hoon Choi", title = "Cache Locality-Centric Parallel String Matching on Many-Core Accelerator Chips", journal = j-SCI-PROG, volume = "2015", number = "??", pages = "937694:1--937694:20", month = "????", year = "2015", CODEN = "SCIPEV", DOI = "https://doi.org/10.1155/2015/937694", ISSN = "1058-9244 (print), 1875-919X (electronic)", ISSN-L = "1058-9244", bibdate = "Tue Sep 20 07:53:44 MDT 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/sciprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.hindawi.com/journals/sp/2015/937694/", acknowledgement = ack-nhfb, fjournal = "Scientific Programming", journal-URL = "https://www.hindawi.com/journals/sp/", journalabr = "Sci. Prog", } @Article{Traytel:2015:VDP, author = "Dmitriy Traytel and Tobias Nipkow", title = "Verified decision procedures for {MSO} on words based on derivatives of regular expressions", journal = j-J-FUNCT-PROGRAM, volume = "25", number = "", pages = "e18", month = "????", year = "2015", CODEN = "JFPRES", DOI = "https://doi.org/10.1017/S0956796815000246", ISSN = "0956-7968 (print), 1469-7653 (electronic)", ISSN-L = "0956-7968", bibdate = "Mon Jul 22 09:36:08 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jfunctprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.cambridge.org/core/journals/journal-of-functional-programming/article/verified-decision-procedures-for-mso-on-words-based-on-derivatives-of-regular-expressions/18DCED718D5D525252C97EFA3501B4A4", acknowledgement = ack-nhfb, ajournal = "J. Funct. Program.", fjournal = "Journal of Functional Programming", journal-URL = "https://www.cambridge.org/core/journals/journal-of-functional-programming", onlinedate = "05 November 2015", } @Article{Veanes:2015:DPS, author = "Margus Veanes and Todd Mytkowicz and David Molnar and Benjamin Livshits", title = "Data-Parallel String-Manipulating Programs", journal = j-SIGPLAN, volume = "50", number = "1", pages = "139--152", month = jan, year = "2015", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2775051.2677014", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Tue May 12 17:41:19 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "String-manipulating programs are an important class of programs with applications in malware detection, graphics, input sanitization for Web security, and large-scale HTML processing. This paper extends prior work on BEK, an expressive domain-specific language for writing string-manipulating programs, with algorithmic insights that make BEK both analyzable and data-parallel. By analyzable we mean that unlike most general purpose programming languages, many algebraic properties of a BEK program are decidable (i.e., one can check whether two programs commute or compute the inverse of a program). By data-parallel we mean that a BEK program can compute on arbitrary subsections of its input in parallel, thus exploiting parallel hardware. This latter requirement is particularly important for programs which operate on large data: without data parallelism, a programmer cannot hide the latency of reading data from various storage media (i.e., reading a terabyte of data from a modern hard drive takes about 3 hours). With a data-parallel approach, the system can split data across multiple disks and thus hide the latency of reading the data. A BEK program is expressive: a programmer can use conditionals, switch statements, and registers --- or local variables --- in order to implement common string-manipulating programs. Unfortunately, this expressivity induces data dependencies, which are an obstacle to parallelism. The key contribution of this paper is an algorithm which automatically removes these data dependencies by mapping a BEK program into a intermediate format consisting of symbolic transducers, which extend classical transducers with symbolic predicates and symbolic assignments. We present a novel algorithm that we call exploration which performs symbolic loop unrolling of these transducers to obtain simplified versions of the original program. We show how these simplified versions can then be lifted to a stateless form, and from there compiled to data-parallel hardware. To evaluate the efficacy of our approach, we demonstrate up to 8x speedups for a number of real-world, BEK programs, (e.g., HTML encoder and decoder) on data-parallel hardware. To the best of our knowledge, these are the first data parallel implementation of these programs. To validate that our approach is correct, we use an automatic testing technique to compare our generated code to the original implementations and find no semantic deviations.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "POPL '15 conference proceedings.", } @Article{Wandelt:2015:MCS, author = "Sebastian Wandelt and Ulf Leser", title = "{MRCSI}: compressing and searching string collections with multiple references", journal = j-PROC-VLDB-ENDOWMENT, volume = "8", number = "5", pages = "461--472", month = jan, year = "2015", CODEN = "????", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Mon Feb 9 18:24:35 MST 2015", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "Efficiently storing and searching collections of similar strings, such as large populations of genomes or long change histories of documents from Wikis, is a timely and challenging problem. Several recent proposals could drastically reduce space requirements by exploiting the similarity between strings in so-called reference-based compression. However, these indexes are usually not searchable any more, i.e., in these methods search efficiency is sacrificed for storage efficiency. We propose Multi-Reference Compressed Search Indexes (MRCSI) as a framework for efficiently compressing dissimilar string collections. In contrast to previous works which can use only a single reference for compression, MRCSI (a) uses multiple references for achieving increased compression rates, where the reference set need not be specified by the user but is determined automatically, and (b) supports efficient approximate string searching with edit distance constraints. We prove that finding the smallest MRCSI is NP-hard. We then propose three heuristics for computing MRCSIs achieving increasing compression ratios. Compared to state-of-the-art competitors, our methods target an interesting and novel sweet-spot between high compression ratio versus search efficiency.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Wang:2015:FPPb, author = "Kai Wang and Jun Li", title = "{FREME}: a pattern partition based engine for fast and scalable regular expression matching in practice", journal = j-J-NETW-COMPUT-APPL, volume = "55", number = "??", pages = "154--169", month = sep, year = "2015", CODEN = "JNCAF3", ISSN = "1084-8045 (print), 1095-8592 (electronic)", ISSN-L = "1084-8045", bibdate = "Sat Aug 8 15:46:40 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/jnetwcomputappl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S1084804515001198", acknowledgement = ack-nhfb, fjournal = "Journal of Network and Computer Applications", journal-URL = "http://www.sciencedirect.com/science/journal/10848045", } @Article{Wei:2015:TPE, author = "Lei Wei and Michael K. Reiter", title = "Toward practical encrypted email that supports private, regular-expression searches", journal = j-INT-J-INFO-SEC, volume = "14", number = "5", pages = "397--416", month = oct, year = "2015", CODEN = "????", DOI = "https://doi.org/10.1007/s10207-014-0268-3", ISSN = "1615-5262 (print), 1615-5270 (electronic)", ISSN-L = "1615-5262", bibdate = "Tue Jan 23 16:01:44 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/cryptography2010.bib; https://www.math.utah.edu/pub/tex/bib/intjinfosec.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/s10207-014-0268-3; http://link.springer.com/content/pdf/10.1007/s10207-014-0268-3.pdf", acknowledgement = ack-nhfb, fjournal = "International Journal of Information Security", journal-URL = "https://link.springer.com/journal/10207", keywords = "Cloud security; Private search on encrypted data; Regular-expression search", } @Article{Yu:2015:EEA, author = "Qiang Yu and Hongwei Huo and Jeffrey Scott Vitter and Jun Huan and Yakov Nekrich", title = "An efficient exact algorithm for the motif stem search problem over large alphabets", journal = j-TCBB, volume = "12", number = "2", pages = "384--397", month = mar, year = "2015", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2014.2361668", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Fri Aug 28 05:40:09 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "In recent years, there has been an increasing interest in planted ( l, d ) motif search (PMS) with applications to discovering significant segments in biological sequences. However, there has been little discussion about PMS over large alphabets. This paper focuses on motif stem search (MSS), which is recently introduced to search motifs on large-alphabet inputs. A motif stem is an l -length string with some wildcards. The goal of the MSS problem is to find a set of stems that represents a superset of all ( l, d ) motifs present in the input sequences, and the superset is expected to be as small as possible. The three main contributions of this paper are as follows: (1) We build motif stem representation more precisely by using regular expressions. (2) We give a method for generating all possible motif stems without redundant wildcards. (3) We propose an efficient exact algorithm, called StemFinder, for solving the MSS problem. Compared with the previous MSS algorithms, StemFinder runs much faster and reports fewer stems which represent a smaller superset of all ( l, d ) motifs. StemFinder is freely available at http://sites.google.com/site/feqond/stemfinder.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", } @Article{Yu:2015:ESS, author = "William Yu and Noah M. Daniels and David Christian Danko and Bonnie Berger", title = "Entropy-Scaling Search of Massive Biological Data", journal = j-CELL-SYST, volume = "1", number = "2", pages = "130--140", day = "26", month = aug, year = "2015", DOI = "https://doi.org/10.1016/j.cels.2015.08.004", ISSN = "2405-4712", bibdate = "Tue Sep 15 09:42:13 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://gems.csail.mit.edu/; http://www.sciencedirect.com/science/article/pii/S2405471215000587", acknowledgement = ack-nhfb, fjournal = "Cell Systems", journal-URL = "http://www.sciencedirect.com/science/journal/24054712", keywords = "compressed string searching; data compression", } @Article{Zhang:2015:ECS, author = "Zhiwei Zhang and Jeffrey Xu Yu and Lu Qin and Lijun Chang and Xuemin Lin", title = "{I/O} efficient: computing {SCCs} in massive graphs", journal = j-VLDB-J, volume = "24", number = "2", pages = "245--270", month = apr, year = "2015", CODEN = "VLDBFR", DOI = "https://doi.org/10.1007/s00778-014-0372-z", ISSN = "1066-8888 (print), 0949-877X (electronic)", ISSN-L = "1066-8888", bibdate = "Wed Mar 18 19:14:35 MDT 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbj.bib", abstract = "A strongly connected component ($ \mathsf {SCC}$) is a maximal subgraph of a directed graph GG in which every pair of nodes is reachable from each other in the $ \mathsf {SCC}$. With such a property, a general directed graph can be represented by a directed acyclic graph (DAG) by contracting every $ \mathsf {SCC}$ of GG to a node in DAG. In many real applications that need graph pattern matching, topological sorting, or reachability query processing, the best way to deal with a general directed graph is to deal with its DAG representation. Therefore, finding all \mathsf {SCC}SCCs in a directed graph GG is a critical operation. The existing in-memory algorithms based on depth first search (DFS) can find all $ \mathsf {SCC}$ s in linear time with respect to the size of a graph. However, when a graph cannot reside entirely in the main memory, the existing external or semi-external algorithms to find all $ \mathsf {SCC}$ s have limitation to achieve high I/O efficiency. In this paper, we study new I/O-efficient semi-external algorithms to find all $ \mathsf {SCC}$ s for a massive directed graph GG that cannot reside in main memory entirely. To overcome the deficiency of the existing DFS-based semi-external algorithm that heavily relies on a total order, we explore a weak order based on which we investigate new algorithms. We propose a new two-phase algorithm, namely, tree construction and tree search. In the tree construction phase, a spanning tree of GG can be constructed in bounded number of sequential scans of GG. In the tree search phase, it needs to sequentially scan the graph once to find all $ \mathsf {SCC}$ s. In addition, we propose a new single-phase algorithm, which combines the tree construction and tree search phases into a single phase, with three new optimization techniques. They are early acceptance, early rejection, and batch processing. By the single-phase algorithm with the new optimization techniques, we can significantly reduce the number of I/Os and the CPU cost. We prove the correctness of the algorithms. We conduct extensive experimental studies using 4 real datasets including a massive real dataset and several synthetic datasets to confirm the I/O efficiency of our approaches.", acknowledgement = ack-nhfb, fjournal = "VLDB Journal: Very Large Data Bases", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @InCollection{Zheng:2015:ESS, author = "Yunhui Zheng and Vijay Ganesh and Sanu Subramanian and Omer Tripp and Julian Dolby and Xiangyu Zhang", title = "Effective Search-Space Pruning for Solvers of String Equations, Regular Expressions and Length Constraints", crossref = "Kroening:2015:CAV", pages = "235--254", year = "2015", DOI = "https://doi.org/10.1007/978-3-319-21690-4_14", bibdate = "Sat Jan 09 11:39:29 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/chapter/10.1007/978-3-319-21690-4_14", acknowledgement = ack-nhfb, } @Article{Afek:2016:MDE, author = "Yehuda Afek and Anat Bremler-Barr and Yotam Harchol and David Hay and Yaron Koral", title = "Making {DPI} Engines Resilient to Algorithmic Complexity Attacks", journal = j-IEEE-TRANS-NETWORKING, volume = "24", number = "6", pages = "3262--3275", month = dec, year = "2016", CODEN = "IEANEP", DOI = "https://doi.org/10.1109/TNET.2016.2518712", ISSN = "1063-6692 (print), 1558-2566 (electronic)", ISSN-L = "1063-6692", bibdate = "Sat Jan 21 07:15:40 MST 2017", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/ieeetransnetworking.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "This paper starts by demonstrating the vulnerability of Deep Packet Inspection DPI mechanisms, which are at the core of security devices, to algorithmic complexity denial of service attacks, thus exposing a weakness in the first line of defense of enterprise networks and clouds. A system and a multi-core architecture to defend from these algorithmic complexity attacks is presented in the second part of the paper. The integration of this system with two different DPI engines is demonstrated and discussed. The vulnerability is exposed by showing how a simple low bandwidth cache-miss attack takes down the Aho--Corasick AC pattern matching algorithm that lies at the heart of most DPI engines. As a first step in the mitigation of the attack, we have developed a compressed variant of the AC algorithm that improves the worst case performance under an attack. Still, under normal traffic its running-time is worse than classical AC implementations. To overcome this problem, we introduce $ {\rm MCA}^2 $ --- Multi-Core Architecture to Mitigate Complexity Attacks, which dynamically combines the classical AC algorithm with our compressed implementation, to provide a robust solution to mitigate this cache-miss attack. We demonstrate the effectiveness of our architecture by examining cache-miss algorithmic complexity attacks against DPI engines and show a goodput boost of up to 73\%. Finally, we show that our architecture may be generalized to provide a principal solution to a wide variety of algorithmic complexity attacks.", acknowledgement = ack-nhfb, fjournal = "IEEE\slash ACM Transactions on Networking", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J771", } @Article{Angstadt:2016:RPP, author = "Kevin Angstadt and Westley Weimer and Kevin Skadron", title = "{RAPID} Programming of Pattern-Recognition Processors", journal = j-OPER-SYS-REV, volume = "50", number = "2", pages = "593--605", month = jun, year = "2016", CODEN = "OSRED8", DOI = "https://doi.org/10.1145/2954680.2872393", ISSN = "0163-5980 (print), 1943-586X (electronic)", ISSN-L = "0163-5980", bibdate = "Thu Jun 9 17:03:34 MDT 2016", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/opersysrev.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We present RAPID, a high-level programming language and combined imperative and declarative model for programming pattern-recognition processors, such as Micron's Automata Processor (AP). The AP is a novel, non-Von Neumann architecture for direct execution of non-deterministic finite automata (NFAs), and has been demonstrated to provide substantial speedup for a variety of data-processing applications. RAPID is clear, maintainable, concise, and efficient both at compile and run time. Language features, such as code abstraction and parallel control structures, map well to pattern-matching problems, providing clarity and maintainability. For generation of efficient runtime code, we present algorithms to convert RAPID programs into finite automata. Further, we introduce a tessellation technique for configuring the AP, which significantly reduces compile time, increases programmer productivity, and improves maintainability. We evaluate five RAPID programs against custom, baseline implementations previously demonstrated to be significantly accelerated by the AP. We find that RAPID programs are much shorter in length, are expressible at a higher level of abstraction than their handcrafted counterparts, and yield generated code that is often more compact. In addition, our tessellation technique for configuring the AP has comparable device utilization to, and results in compilation that is up to four orders of magnitude faster than, current solutions.", acknowledgement = ack-nhfb, fjournal = "Operating Systems Review", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J597", } @Article{Apostolico:2016:YST, author = "Alberto Apostolico and Maxime Crochemore and Martin Farach-Colton and Zvi Galil and S. Muthukrishnan", title = "40 years of suffix trees", journal = j-CACM, volume = "59", number = "4", pages = "66--73", month = apr, year = "2016", CODEN = "CACMA2", DOI = "https://doi.org/10.1145/2810036", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Fri Apr 15 14:58:10 MDT 2016", bibsource = "http://www.acm.org/pubs/contents/journals/cacm/; https://www.math.utah.edu/pub/tex/bib/cacm2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://cacm.acm.org/magazines/2016/4/200160/fulltext", abstract = "Tracing the first four decades in the life of suffix trees, their many incarnations, and their applications.", acknowledgement = ack-nhfb, fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", } @Article{Arenas:2016:FAC, author = "Marcelo Arenas and Francisco Maturana and Cristian Riveros and Domagoj Vrgoc", title = "A framework for annotating {CSV}-like data", journal = j-PROC-VLDB-ENDOWMENT, volume = "9", number = "11", pages = "876--887", month = jul, year = "2016", CODEN = "????", DOI = "https://doi.org/10.14778/2983200.2983204", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Tue Sep 6 16:21:12 MDT 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "In this paper, we propose a simple and expressive framework for adding metadata to CSV documents and their noisy variants. The framework is based on annotating parts of the document that can be later used to read, query, or exchange the data. The core of our framework is a language based on extended regular expressions that are used for selecting data. These expressions are then combined using a set of rules in order to annotate the data. We study the computational complexity of implementing our framework and present an efficient evaluation algorithm that runs in time proportional to its output and linear in its input. As a proof of concept, we test an implementation of our framework against a large number of real world datasets and show that it can be efficiently used in practice.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @InProceedings{Ausaf:2016:PLD, author = "F. Ausaf and R. Dyckhoff and C. Urban", editor = "Jasmin Christian Blanchette and Stephan Merz", booktitle = "Interactive Theorem Proving: {7th International Conference, ITP 2016, Nancy, France, August 22--25, 2016, Proceedings}", title = "{POSIX} lexing with derivatives of regular expressions (proof pearl)", volume = "9807", publisher = pub-SV, address = pub-SV:adr, pages = "69--86", year = "2016", DOI = "https://doi.org/10.1007/978-3-319-43144-4_5", bibdate = "Fri Sep 22 12:35:48 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, acknowledgement = ack-nhfb, book-DOI = "https://doi.org/10.1007/978-3-642-25379-9", } @Article{Avalle:2016:SAN, author = "Matteo Avalle and Fulvio Risso and Riccardo Sisto", title = "Scalable algorithms for {NFA} multi-striding and {NFA}-based deep packet inspection on {GPUs}", journal = j-IEEE-TRANS-NETWORKING, volume = "24", number = "3", pages = "1704--1717", month = jun, year = "2016", CODEN = "IEANEP", ISSN = "1063-6692 (print), 1558-2566 (electronic)", ISSN-L = "1063-6692", bibdate = "Fri Sep 9 11:16:43 MDT 2016", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/ieeetransnetworking.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Finite state automata (FSA) are used by many network processing applications to match complex sets of regular expressions in network packets. In order to make FSA-based matching possible even at the ever-increasing speed of modern networks, multi-striding has been introduced. This technique increases input parallelism by transforming the classical FSA that consumes input byte by byte into an equivalent one that consumes input in larger units. However, the algorithms used today for this transformation are so complex that they often result unfeasible for large and complex rule sets. This paper presents a set of new algorithms that extend the applicability of multi-striding to complex rule sets. These algorithms can transform nondeterministic finite automata (NFA) into their multi-stride form with reduced memory and time requirements. Moreover, they exploit the massive parallelism of graphical processing units for NFA-based matching. The final result is a boost of the overall processing speed on typical regex-based packet processing applications, with a speedup of almost one order of magnitude compared to the current state-of-the-art algorithms.", acknowledgement = ack-nhfb, fjournal = "IEEE\slash ACM Transactions on Networking", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J771", } @Article{Babenko:2016:CMM, author = "Maxim Babenko and Pawe{\l} Gawrychowski and Tomasz Kociumaka and Ignat Kolesnichenko and Tatiana Starikovskaya", title = "Computing minimal and maximal suffixes of a substring", journal = j-THEOR-COMP-SCI, volume = "638", number = "??", pages = "112--121", day = "25", month = jul, year = "2016", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Wed Jun 8 10:05:42 MDT 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2015.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397515007707", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", } @Article{Bartoli:2016:RBE, author = "Alberto Bartoli and Andrea {De Lorenzo} and Eric Medvet and Fabiano Tarlao", title = "Regex-based entity extraction with active learning and genetic programming", journal = j-SIGAPP, volume = "16", number = "2", pages = "7--15", month = aug, year = "2016", CODEN = "????", DOI = "https://doi.org/10.1145/2993231.2993232", ISSN = "1559-6915 (print), 1931-0161 (electronic)", ISSN-L = "1559-6915", bibdate = "Thu Jan 23 10:25:01 MST 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigapp.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/abs/10.1145/2993231.2993232", abstract = "We consider the long-standing problem of the automatic generation of regular expressions for text extraction, based solely on examples of the desired behavior. We investigate several active learning approaches in which the user annotates only one \ldots{}", acknowledgement = ack-nhfb, fjournal = "ACM SIGAPP Applied Computing Review", journal-URL = "https://dl.acm.org/loi/sigapp", } @Article{Beal:2016:CPP, author = "Richard Beal and Donald Adjeroh", title = "Compressed parameterized pattern matching", journal = j-THEOR-COMP-SCI, volume = "609 (part 1)", number = "??", pages = "129--142", day = "4", month = jan, year = "2016", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Fri Dec 4 06:41:42 MST 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2015.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397515008440", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", } @Article{Brachthauser:2016:PFC, author = "Jonathan Immanuel Brachth{\"a}user and Tillmann Rendel and Klaus Ostermann", title = "Parsing with first-class derivatives", journal = j-SIGPLAN, volume = "51", number = "10", pages = "588--606", month = oct, year = "2016", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/3022671.2984026", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sat Sep 16 10:18:13 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Brzozowski derivatives, well known in the context of regular expressions, have recently been rediscovered to give a simplified explanation to parsers of context-free languages. We add derivatives as a novel first-class feature to a standard parser combinator language. First-class derivatives enable an inversion of the control flow, allowing to implement modular parsers for languages that previously required separate pre-processing steps or cross-cutting modifications of the parsers. We show that our framework offers new opportunities for reuse and supports a modular definition of interesting use cases of layout-sensitive parsing.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "https://dl.acm.org/loi/sigplan", remark = "OOPSLA '16 conference proceedings.", } @Article{Bruner:2016:FAP, author = "Marie-Louise Bruner and Martin Lackner", title = "A Fast Algorithm for Permutation Pattern Matching Based on Alternating Runs", journal = j-ALGORITHMICA, volume = "75", number = "1", pages = "84--117", month = may, year = "2016", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s00453-015-0013-y", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", bibdate = "Mon May 30 08:48:04 MDT 2016", bibsource = "http://link.springer.com/journal/453/75/1; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/s00453-015-0013-y", acknowledgement = ack-nhfb, fjournal = "Algorithmica", journal-URL = "http://link.springer.com/journal/453", } @Article{Chen:2016:PPP, author = "Xinming Chen and Brandon Jones and Michela Becchi and Tilman Wolf", title = "Picking Pesky Parameters: Optimizing Regular Expression Matching in Practice", journal = j-IEEE-TRANS-PAR-DIST-SYS, volume = "27", number = "5", pages = "1430--1442", month = may, year = "2016", CODEN = "ITDSEO", DOI = "https://doi.org/10.1109/TPDS.2015.2453986", ISSN = "1045-9219 (print), 1558-2183 (electronic)", ISSN-L = "1045-9219", bibdate = "Fri Apr 15 13:45:22 MDT 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranspardistsys.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.computer.org/csdl/trans/td/2016/05/07152954-abs.html", abstract-URL = "http://www.computer.org/csdl/trans/td/2016/05/07152954-abs.html", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Parallel and Distributed Systems", journal-URL = "http://www.computer.org/tpds/archives.htm", } @Article{Cockx:2016:EDP, author = "Jesper Cockx and Dominique Devriese and Frank Piessens", title = "Eliminating dependent pattern matching without {K}", journal = j-J-FUNCT-PROGRAM, volume = "26", number = "", pages = "e16", month = "????", year = "2016", CODEN = "JFPRES", DOI = "https://doi.org/10.1017/S0956796816000174", ISSN = "0956-7968 (print), 1469-7653 (electronic)", ISSN-L = "0956-7968", bibdate = "Mon Jul 22 09:36:09 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jfunctprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.cambridge.org/core/journals/journal-of-functional-programming/article/eliminating-dependent-pattern-matching-without-k/4BC4EA2D02D801E5ABED264FE5FB177A", acknowledgement = ack-nhfb, ajournal = "J. Funct. Program.", fjournal = "Journal of Functional Programming", journal-URL = "https://www.cambridge.org/core/journals/journal-of-functional-programming", onlinedate = "30 August 2016", } @Article{Cockx:2016:UEP, author = "Jesper Cockx and Dominique Devriese and Frank Piessens", title = "Unifiers as equivalences: proof-relevant unification of dependently typed data", journal = j-SIGPLAN, volume = "51", number = "9", pages = "270--283", month = sep, year = "2016", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/3022670.2951917", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sat Sep 16 10:18:13 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Dependently typed languages such as Agda, Coq and Idris use a syntactic first-order unification algorithm to check definitions by dependent pattern matching. However, these algorithms don't adequately consider the types of the terms being unified, leading to various unintended results. As a consequence, they require ad hoc restrictions to preserve soundness, but this makes them very hard to prove correct, modify, or extend. This paper proposes a framework for reasoning formally about unification in a dependently typed setting. In this framework, unification rules compute not just a unifier but also a corresponding correctness proof in the form of an equivalence between two sets of equations. By rephrasing the standard unification rules in a proof-relevant manner, they are guaranteed to preserve soundness of the theory. In addition, it enables us to safely add new rules that can exploit the dependencies between the types of equations. Using our framework, we reimplemented the unification algorithm used by Agda. As a result, we were able to replace previous ad hoc restrictions with formally verified unification rules, fixing a number of bugs in the process. We are convinced this will also enable the addition of new and interesting unification rules in the future, without compromising soundness along the way.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "https://dl.acm.org/loi/sigplan", remark = "ICFP '16 conference proceedings.", } @Article{Fagin:2016:DCI, author = "Ronald Fagin and Benny Kimelfeld and Frederick Reiss and Stijn Vansummeren", title = "Declarative Cleaning of Inconsistencies in Information Extraction", journal = j-TODS, volume = "41", number = "1", pages = "6:1--6:??", month = apr, year = "2016", CODEN = "ATDSD3", DOI = "https://doi.org/10.1145/2877202", ISSN = "0362-5915 (print), 1557-4644 (electronic)", ISSN-L = "0362-5915", bibdate = "Mon Jun 20 11:19:20 MDT 2016", bibsource = "http://www.acm.org/pubs/contents/journals/tods/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tods.bib", abstract = "The population of a predefined relational schema from textual content, commonly known as Information Extraction (IE), is a pervasive task in contemporary computational challenges associated with Big Data. Since the textual content varies widely in nature and structure (from machine logs to informal natural language), it is notoriously difficult to write IE programs that unambiguously extract the sought information. For example, during extraction, an IE program could annotate a substring as both an address and a person name. When this happens, the extracted information is said to be inconsistent, and some way of removing inconsistencies is crucial to compute the final output. Industrial-strength IE systems like GATE and IBM SystemT therefore provide a built-in collection of cleaning operations to remove inconsistencies from extracted relations. These operations, however, are collected in an ad hoc fashion through use cases. Ideally, we would like to allow IE developers to declare their own policies. But existing cleaning operations are defined in an algorithmic way, and hence it is not clear how to extend the built-in operations without requiring low-level coding of internal or external functions. We embark on the establishment of a framework for declarative cleaning of inconsistencies in IE through principles of database theory. Specifically, building upon the formalism of document spanners for IE, we adopt the concept of prioritized repairs, which has been recently proposed as an extension of the traditional database repairs to incorporate priorities among conflicting facts. We show that our framework captures the popular cleaning policies, as well as the POSIX semantics for extraction through regular expressions. We explore the problem of determining whether a cleaning declaration is unambiguous (i.e., always results in a single repair) and whether it increases the expressive power of the extraction language. We give both positive and negative results, some of which are general and some of which apply to policies used in practice.", acknowledgement = ack-nhfb, articleno = "6", fjournal = "ACM Transactions on Database Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J777", } @Article{Ferragina:2016:CCO, author = "Paolo Ferragina and Rossano Venturini", title = "Compressed Cache-Oblivious String {B}-Tree", journal = j-TALG, volume = "12", number = "4", pages = "52:1--52:??", month = sep, year = "2016", CODEN = "????", DOI = "https://doi.org/10.1145/2903141", ISSN = "1549-6325 (print), 1549-6333 (electronic)", ISSN-L = "1549-6325", bibdate = "Fri Sep 2 19:05:47 MDT 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/talg.bib", abstract = "In this article, we study three variants of the well-known prefix-search problem for strings, and we design solutions for the cache-oblivious model which improve the best known results. Among these contributions, we close (asymptotically) the classic problem, which asks for the detection of the set of strings that share the longest common prefix with a queried pattern by providing an I/O-optimal solution that matches the space lower bound for tries up to a constant multiplicative factor of the form $ (1 + \epsilon) $, for $ \epsilon > 0 $. Our solutions hinge upon a novel compressed storage scheme that adds the ability to decompress prefixes of the stored strings I/O-optimally to the elegant locality-preserving front coding (Bender et al. 2006) still preserving its space bounds.", acknowledgement = ack-nhfb, articleno = "52", fjournal = "ACM Transactions on Algorithms (TALG)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J982", } @Article{Fraigniaud:2016:OAL, author = "Pierre Fraigniaud and Amos Korman", title = "An Optimal Ancestry Labeling Scheme with Applications to {XML} Trees and Universal Posets", journal = j-J-ACM, volume = "63", number = "1", pages = "6:1--6:??", month = mar, year = "2016", CODEN = "JACOAH", DOI = "https://doi.org/10.1145/2794076", ISSN = "0004-5411 (print), 1557-735X (electronic)", bibdate = "Wed May 4 17:20:31 MDT 2016", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "In this article, we solve the ancestry-labeling scheme problem, which aims at assigning the shortest possible labels (bit strings) to nodes of rooted trees, so ancestry queries between any two nodes can be answered by inspecting their assigned labels only. This problem was introduced more than 20 years ago by Kannan et al. [1988] and is among the most well-studied problems in the field of informative labeling schemes. We construct an ancestry-labeling scheme for n node trees with label size $ \log_2 n + O (\log \log n) $ bits, thus matching the $ \log_2 n + \Omega (\log \log n) $ bits lower bound given by Alstrup et al. [2003]. Our scheme is based on a simplified ancestry scheme that operates extremely well on a restricted set of trees. In particular, for the set of $n$-node trees with a depth of at most $d$, the simplified ancestry scheme enjoys label size of $ \log_2 n + 2 \log_2 d + O (1)$ bits. Since the depth of most XML trees is at most some small constant, such an ancestry scheme may be of practical use. In addition, we also obtain an adjacency labeling scheme that labels $n$-node trees of depth $d$ with labels of size $ \log_2 n + 3 \log_2 d + O (1)$ bits. All our schemes assign the labels in linear time, and guarantee that any query can be answered in constant time. Finally, our ancestry scheme finds applications to the construction of small universal partially ordered sets (posets). Specifically, for any fixed integer $k$, it enables the construction of a universal poset of size $ {\~ O}(n^k)$ for the family of $n$-element posets with a tree dimension of at most $k$. Up to lower-order terms, this bound is tight thanks to a lower bound of $ n^{k - o(1)}$ by to Alon and Scheinerman [1988].", acknowledgement = ack-nhfb, articleno = "6", fjournal = "Journal of the ACM", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", } @Article{Garhwal:2016:PFR, author = "Sunita Garhwal and Ram Jiwari", title = "Parallel Fuzzy Regular Expression and its Conversion to Epsilon-Free Fuzzy Automaton", journal = j-COMP-J, volume = "59", number = "9", pages = "1383--1391", month = sep, year = "2016", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/bxv104", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Mon Sep 12 11:39:16 MDT 2016", bibsource = "http://comjnl.oxfordjournals.org/content/59/9.toc; https://www.math.utah.edu/pub/tex/bib/compj2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://comjnl.oxfordjournals.org/content/59/9/1383", acknowledgement = ack-nhfb, fjournal = "Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", onlinedate = "December 17, 2015", } @Article{Gawrychowski:2016:OPP, author = "Pawel Gawrychowski and Przemyslaw Uzna{\'n}ski", title = "Order-preserving pattern matching with $k$ mismatches", journal = j-THEOR-COMP-SCI, volume = "638", number = "??", pages = "136--144", day = "25", month = jul, year = "2016", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Wed Jun 8 10:05:42 MDT 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2015.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397515007690", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", } @Article{Grathwohl:2016:KCN, author = "Bj{\o}rn Bugge Grathwohl and Fritz Henglein and Ulrik Terp Rasmussen and Kristoffer Aalund S{\o}holm and Sebastian Paaske T{\o}rholm", title = "{Kleenex}: compiling nondeterministic transducers to deterministic streaming transducers", journal = j-SIGPLAN, volume = "51", number = "1", pages = "284--297", month = jan, year = "2016", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2914770.2837647", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Thu Jun 9 17:13:57 MDT 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We present and illustrate Kleenex, a language for expressing general nondeterministic finite transducers, and its novel compilation to streaming string transducers with essentially optimal streaming behavior, worst-case linear-time performance and sustained high throughput. Its underlying theory is based on transducer decomposition into oracle and action machines: the oracle machine performs streaming greedy disambiguation of the input; the action machine performs the output actions. In use cases Kleenex achieves consistently high throughput rates around the 1 Gbps range on stock hardware. It performs well, especially in complex use cases, in comparison to both specialized and related tools such as GNUawk, GNUsed, GNUgrep, RE2, Ragel and regular-expression libraries.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "POPL '16 conference proceedings.", } @Article{Hu:2016:EWS, author = "Changhui Hu and Lidong Han", title = "Efficient wildcard search over encrypted data", journal = j-INT-J-INFO-SEC, volume = "15", number = "5", pages = "539--547", month = oct, year = "2016", CODEN = "????", DOI = "https://doi.org/10.1007/s10207-015-0302-0", ISSN = "1615-5262 (print), 1615-5270 (electronic)", ISSN-L = "1615-5262", bibdate = "Tue Jan 23 16:01:46 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/cryptography2010.bib; https://www.math.utah.edu/pub/tex/bib/intjinfosec.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/s10207-015-0302-0", acknowledgement = ack-nhfb, fjournal = "International Journal of Information Security", journal-URL = "https://link.springer.com/journal/10207", keywords = "Cloud computing; Searchable symmetric encryption; Wildcard search", } @Article{Karkkainen:2016:LLZ, author = "Juha K{\"a}rkk{\"a}inen and Dominik Kempa and Simon J. Puglisi", title = "Lazy {Lempel--Ziv} Factorization Algorithms", journal = j-ACM-J-EXP-ALGORITHMICS, volume = "21", number = "1", pages = "2.4:1--2.4:??", year = "2016", CODEN = "????", DOI = "https://doi.org/10.1145/2699876", ISSN = "1084-6654", bibdate = "Sun Aug 20 07:54:41 MDT 2017", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/jea.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "For decades the Lempel--Ziv (LZ77) factorization has been a cornerstone of data compression and string processing algorithms, and uses for it are still being uncovered. For example, LZ77 is central to several recent text indexing data structures designed to search highly repetitive collections. However, in many applications computation of the factorization remains a bottleneck in practice. In this article, we describe a number of simple and fast LZ77 factorization algorithms, which consistently outperform all previous methods in practice, use less memory, and still offer strong worst-case performance guarantees. A common feature of the new algorithms is that they compute longest common prefix information in a lazy fashion, with the degree of laziness in preprocessing characterizing different algorithms.", acknowledgement = ack-nhfb, articleno = "2.4", fjournal = "Journal of Experimental Algorithmics (JEA)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J430", } @Article{Khan:2016:TOS, author = "Minhaj Ahmad Khan", title = "A Transformation For Optimizing String-Matching Algorithms For Long Patterns", journal = j-COMP-J, volume = "59", number = "12", pages = "1749--1759", month = dec, year = "2016", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/bxw023", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Fri Dec 9 12:12:06 MST 2016", bibsource = "http://comjnl.oxfordjournals.org/content/59/12.toc; https://www.math.utah.edu/pub/tex/bib/compj2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://comjnl.oxfordjournals.org/content/59/12/1749", acknowledgement = ack-nhfb, fjournal = "Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", onlinedate = "June 28, 2016", } @Article{Ko:2016:SCR, author = "Sang-Ki Ko and Ha-Rim Lee and Yo-Sub Han", title = "State Complexity of Regular Tree Languages for Tree Matching", journal = j-INT-J-FOUND-COMP-SCI, volume = "27", number = "8", pages = "965--980", month = dec, year = "2016", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S0129054116500398", ISSN = "0129-0541", ISSN-L = "0129-0541", bibdate = "Tue Feb 21 06:43:47 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Kucherov:2016:ASM, author = "Gregory Kucherov and Kamil Salikhov and Dekel Tsur", title = "Approximate string matching using a bidirectional index", journal = j-THEOR-COMP-SCI, volume = "638", number = "??", pages = "145--158", day = "25", month = jul, year = "2016", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Wed Jun 8 10:05:42 MDT 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2015.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397515009494", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", } @Article{Lai:2016:SDS, author = "Longbin Lai and Lu Qin and Xuemin Lin and Ying Zhang and Lijun Chang and Shiyu Yang", title = "Scalable distributed subgraph enumeration", journal = j-PROC-VLDB-ENDOWMENT, volume = "10", number = "3", pages = "217--228", month = nov, year = "2016", CODEN = "????", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Thu Dec 1 09:02:03 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "Subgraph enumeration aims to find all the subgraphs of a large data graph that are isomorphic to a given pattern graph. As the subgraph isomorphism operation is computationally intensive, researchers have recently focused on solving this problem in distributed environments, such as MapReduce and Pregel. Among them, the state-of-the-art algorithm, Twin TwigJoin, is proven to be instance optimal based on a left-deep join framework. However, it is still not scalable to large graphs because of the constraints in the left-deep join framework and that each decomposed component (join unit) must be a star. In this paper, we propose SEED --- a scalable sub-graph enumeration approach in the distributed environment. Compared to Twin TwigJoin, SEED returns optimal solution in a generalized join framework without the constraints in Twin TwigJoin. We use both star and clique as the join units, and design an effective distributed graph storage mechanism to support such an extension. We develop a comprehensive cost model, that estimates the number of matches of any given pattern graph by considering power-law degree distribution in the data graph. We then generalize the left-deep join framework and develop a dynamic-programming algorithm to compute an optimal bushy join plan. We also consider overlaps among the join units. Finally, we propose clique compression to further improve the algorithm by reducing the number of the intermediate results. Extensive performance studies are conducted on several real graphs, one containing billions of edges. The results demonstrate that our algorithm outperforms all other state-of-the-art algorithms by more than one order of magnitude.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Lewenstein:2016:DRO, author = "Moshe Lewenstein and J. Ian Munro and Yakov Nekrich and Sharma V. Thankachan", title = "Document retrieval with one wildcard", journal = j-THEOR-COMP-SCI, volume = "635", number = "??", pages = "94--101", day = "4", month = jul, year = "2016", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2016.05.024", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Thu May 26 08:21:34 MDT 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2015.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397516301608", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", } @Article{Li:2016:HMF, author = "Zheng Li and Tingjian Ge", title = "History is a mirror to the future: best-effort approximate complex event matching with insufficient resources", journal = j-PROC-VLDB-ENDOWMENT, volume = "10", number = "4", pages = "397--408", month = nov, year = "2016", CODEN = "????", DOI = "https://doi.org/10.14778/3025111.3025121", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Sat Feb 25 09:01:51 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "Complex event processing (CEP) has proven to be a highly relevant topic in practice. As it is sensitive to both errors in the stream and uncertainty in the pattern, approximate complex event processing (ACEP) is an important direction but has not been adequately studied before. ACEP is costly, and is often performed under insufficient computing resources. We propose an algorithm that learns from the past behavior of ACEP runs, and makes decisions on what to process first in an online manner, so as to maximize the number of full matches found. In addition, we devise effective optimization techniques. Finally, we propose a mechanism that uses reinforcement learning to dynamically update the history structure without incurring much overhead. Put together, these techniques drastically improve the fraction of full matches found in resource constrained environments.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Li:2016:RDT, author = "Zeyu Li and Hongzhi Wang and Wei Shao and Jianzhong Li and Hong Gao", title = "Repairing data through regular expressions", journal = j-PROC-VLDB-ENDOWMENT, volume = "9", number = "5", pages = "432--443", month = jan, year = "2016", CODEN = "????", ISSN = "2150-8097", bibdate = "Mon Jan 11 17:54:24 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "Since regular expressions are often used to detect errors in sequences such as strings or date, it is natural to use them for data repair. Motivated by this, we propose a data repair method based on regular expression to make the input sequence data obey the given regular expression with minimal revision cost. The proposed method contains two steps, sequence repair and token value repair. For sequence repair, we propose the Regular-expression-based Structural Repair (RSR in short) algorithm. RSR algorithm is a dynamic programming algorithm that utilizes Nondeterministic Finite Automata (NFA) to calculate the edit distance between a prefix of the input string and a partial pattern regular expression with time complexity of $ O (n m^2) $ and space complexity of $ O(m n) $ where $m$ is the edge number of NFA and $n$ is the input string length. We also develop an optimization strategy to achieve higher performance for long strings. For token value repair, we combine the edit-distance-based method and associate rules by a unified argument for the selection of the proper method. Experimental results on both real and synthetic data show that the proposed method could repair the data effectively and efficiently.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Libkin:2016:QGD, author = "Leonid Libkin and Wim Martens and Domagoj Vrgoc", title = "Querying Graphs with Data", journal = j-J-ACM, volume = "63", number = "2", pages = "14:1--14:??", month = may, year = "2016", CODEN = "JACOAH", DOI = "https://doi.org/10.1145/2850413", ISSN = "0004-5411 (print), 1557-735X (electronic)", bibdate = "Wed May 4 17:20:32 MDT 2016", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Graph databases have received much attention as of late due to numerous applications in which data is naturally viewed as a graph; these include social networks, RDF and the Semantic Web, biological databases, and many others. There are many proposals for query languages for graph databases that mainly fall into two categories. One views graphs as a particular kind of relational data and uses traditional relational mechanisms for querying. The other concentrates on querying the topology of the graph. These approaches, however, lack the ability to combine data and topology, which would allow queries asking how data changes along paths and patterns enveloping it. In this article, we present a comprehensive study of languages that enable such combination of data and topology querying. These languages come in two flavors. The first follows the standard approach of path queries, which specify how labels of edges change along a path, but now we extend them with ways of specifying how both labels and data change. From the complexity point of view, the right type of formalisms are subclasses of register automata. These, however, are not well suited for querying. To overcome this, we develop several types of extended regular expressions to specify paths with data and study their querying power and complexity. The second approach adopts the popular XML language XPath and extends it from XML documents to graphs. Depending on the exact set of allowed features, we have a family of languages, and our study shows that it includes efficient and highly expressive formalisms for querying both the structure of the data and the data itself.", acknowledgement = ack-nhfb, articleno = "14", fjournal = "Journal of the ACM", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", } @Article{Liu:2016:OAA, author = "Alex X. Liu and Eric Torng", title = "Overlay Automata and Algorithms for Fast and Scalable Regular Expression Matching", journal = j-IEEE-TRANS-NETWORKING, volume = "24", number = "4", pages = "2400--2415", month = aug, year = "2016", CODEN = "IEANEP", DOI = "https://doi.org/10.1109/TNET.2016.2533605", ISSN = "1063-6692 (print), 1558-2566 (electronic)", ISSN-L = "1063-6692", bibdate = "Fri Oct 28 17:19:55 MDT 2016", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/ieeetransnetworking.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Regular expression RegEx matching, the core operation of intrusion detection and prevention systems, remains a fundamentally challenging problem. A desired RegEx matching scheme should satisfy four requirements: deterministic finite state automata DFA speed, nondeterministic finite state automata NFA size, automated construction, and scalable construction. Despite lots of work on RegEx matching, no prior scheme satisfies all four of these requirements. In this paper, we approach this holy grail by proposing OverlayCAM, a RegEx matching scheme that satisfies all four requirements. The theoretical underpinning of our scheme is overlay delayed input DFA, a new automata model proposed in this paper that captures both state replication and transition replication, which are inherent in DFAs. Our RegEx matching solution processes one input character per lookup like a DFA, requires only the space of an NFA, is grounded in sound automata models, is easy to deploy in existing network devices, and comes with scalable and automated construction algorithms.", acknowledgement = ack-nhfb, fjournal = "IEEE\slash ACM Transactions on Networking", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J771", } @Article{Liu:2016:PCU, author = "Alex X. Liu and Chad R. Meiners and Eric Torng", title = "Packet classification using binary content addressable memory", journal = j-IEEE-TRANS-NETWORKING, volume = "24", number = "3", pages = "1295--1307", month = jun, year = "2016", CODEN = "IEANEP", ISSN = "1063-6692 (print), 1558-2566 (electronic)", ISSN-L = "1063-6692", bibdate = "Fri Sep 9 11:16:43 MDT 2016", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/ieeetransnetworking.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Packet classification is the core mechanism that enables many networking devices. Although using ternary content addressable memory (TCAM) to perform high-speed packet classification has become the widely adopted solution, TCAM is very expensive, has limited capacity, consumes large amounts of power, and generates tremendous amounts of heat because of their extremely dense and parallel circuitry. In this paper, we propose the first packet classification scheme that uses binary CAM (BCAM). BCAM is similar to TCAM except that in BCAM, every bit has only two possible states: 0 or 1; in contrast, in TCAM, every bit has three possible states: 0, 1, or * (don't care). Because of the high complexity in implementing the extra ``don't care'' state, TCAM has much higher circuit density than BCAM. As the power consumption, heat generation, and price grow non-linearly with circuit density, BCAM consumes much less power, generates much less heat, and costs much less money than TCAM. Our BCAM-based packet classification scheme is built on two key ideas. First, we break a multi-dimensional lookup into a series of 1-D lookups. Second, for each 1-D lookup, we convert the ternary matching problem into a binary string exact matching problem. To speed up the lookup process, we propose a number of optimization techniques, including skip lists, free expansion, minimizing maximum lookup time, minimizing average lookup time, and lookup short circuiting. We evaluated our BCAM scheme on 17 real-life packet classifiers. On these classifiers, our BCAM scheme requires roughly five times fewer CAM bits than the traditional TCAM-based scheme. The penalty is a throughput that is roughly four times less.", acknowledgement = ack-nhfb, fjournal = "IEEE\slash ACM Transactions on Networking", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J771", } @Article{Losemann:2016:CPD, author = "Katja Losemann and Wim Martens and Matthias Niewerth", title = "Closure properties and descriptional complexity of deterministic regular expressions", journal = j-THEOR-COMP-SCI, volume = "627", number = "??", pages = "54--70", day = "9", month = may, year = "2016", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Apr 30 08:01:05 MDT 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2015.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397516001584", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", } @Article{Matsuoka:2016:GPM, author = "Yoshiaki Matsuoka and Takahiro Aoki and Shunsuke Inenaga and Hideo Bannai and Masayuki Takeda", title = "Generalized pattern matching and periodicity under substring consistent equivalence relations", journal = j-THEOR-COMP-SCI, volume = "656 (Part B)", number = "??", pages = "225--233", day = "20", month = dec, year = "2016", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Fri Dec 9 12:17:02 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2015.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397516001390", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", } @Article{Or:2016:MBH, author = "N. L. Or and X. Wang and D. Pao", title = "{MEMORY}-Based Hardware Architectures to Detect {ClamAV} Virus Signatures with Restricted Regular Expression Features", journal = j-IEEE-TRANS-COMPUT, volume = "65", number = "4", pages = "1225--1238", month = apr, year = "2016", CODEN = "ITCOB4", DOI = "https://doi.org/10.1109/TC.2015.2439274", ISSN = "0018-9340 (print), 1557-9956 (electronic)", ISSN-L = "0018-9340", bibdate = "Sat Mar 19 07:47:06 MDT 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12", } @Article{Ordyniak:2016:PSM, author = "Sebastian Ordyniak and Alexandru Popa", title = "A Parameterized Study of Maximum Generalized Pattern Matching Problems", journal = j-ALGORITHMICA, volume = "75", number = "1", pages = "1--26", month = may, year = "2016", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s00453-015-0008-8", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", bibdate = "Mon May 30 08:48:04 MDT 2016", bibsource = "http://link.springer.com/journal/453/75/1; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/s00453-015-0008-8", acknowledgement = ack-nhfb, fjournal = "Algorithmica", journal-URL = "http://link.springer.com/journal/453", } @Article{Orencik:2016:MKS, author = "Cengiz Orencik and Ayse Selcuk and Erkay Savas and Murat Kantarcio{\u{g}}lu", title = "Multi-keyword search over encrypted data with scoring and search pattern obfuscation", journal = j-INT-J-INFO-SEC, volume = "15", number = "3", pages = "251--269", month = jun, year = "2016", CODEN = "????", DOI = "https://doi.org/10.1007/s10207-015-0294-9", ISSN = "1615-5262 (print), 1615-5270 (electronic)", ISSN-L = "1615-5262", bibdate = "Tue Jan 23 16:01:45 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/cryptography2010.bib; https://www.math.utah.edu/pub/tex/bib/intjinfosec.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/s10207-015-0294-9", acknowledgement = ack-nhfb, fjournal = "International Journal of Information Security", journal-URL = "https://link.springer.com/journal/10207", keywords = "Efficiency Scoring; Encrypted cloud data; Privacy preservation; Secure search", } @Article{Prajapati:2016:PAS, author = "G. L. Prajapati and Abhijeet Singh Rathore and Bhavana Tanwar and Surbhi Bhadviy and Tushar Jain", title = "Performance Analysis of Selected String Matching Algorithms based on Good Suffix and Bad Character Rule", journal = j-INT-J-COMP-APPL, volume = "140", number = "??", pages = "28--37", month = apr, year = "2016", CODEN = "????", DOI = "https://doi.org/10.5120/ijca2016909445", ISSN = "0975-8887", ISSN-L = "0975-8887", bibdate = "Fri Jan 24 09:27:33 MST 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/intjcompappl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.ijcaonline.org/archives/volume140/number9/24623-2016909445/", acknowledgement = ack-nhfb, ajournal = "Intern. J. of Computer Applications", articleno = "9", fjournal = "International Journal of Computer Applications", journal-URL = "https://www.ijcaonline.org/", } @Article{Ristov:2016:FSP, author = "Strahil Ristov", title = "A Fast and Simple Pattern Matching with {Hamming} Distance on Large Alphabets", journal = j-J-COMPUT-BIOL, volume = "23", number = "11", pages = "874--876", month = nov, year = "2016", CODEN = "JCOBEM", DOI = "https://doi.org/10.1089/cmb.2016.0020", ISSN = "1066-5277 (print), 1557-8666 (electronic)", ISSN-L = "1066-5277", bibdate = "Sat Jun 1 09:52:40 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputbiol.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.liebertpub.com/doi/abs/10.1089/cmb.2016.0020; https://www.liebertpub.com/doi/pdf/10.1089/cmb.2016.0020", acknowledgement = ack-nhfb, fjournal = "Journal of Computational Biology", journal-URL = "https://www.liebertpub.com/loi/cmb/", onlinedate = "16 June 2016", } @Article{Sapirstein:2016:PMA, author = "Philip Sapirstein and Eric Psota", title = "Pattern Matching and the Analysis of Damaged Ancient Objects: The Case of the Column Drum", journal = j-JOCCH, volume = "9", number = "3", pages = "13:1--13:??", month = nov, year = "2016", CODEN = "????", DOI = "https://doi.org/10.1145/2901297", ISSN = "1556-4673 (print), 1556-4711 (electronic)", ISSN-L = "1556-4673", bibdate = "Mon Dec 19 16:06:59 MST 2016", bibsource = "http://www.acm.org/pubs/contents/journals/jocch/; https://www.math.utah.edu/pub/tex/bib/jocch.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We describe a common problem in the curation and analysis of archaeological materials: restoring the orientation and dimensions of damaged objects. Our focus is a common architectural type in Mediterranean sites, the Doric column drum, which we investigate at one of the earliest Doric temples in the Greek world, the Hera temple at Olympia. The 3D modeling and analysis of this building by the Digital Architecture Project since 2013 has revealed new insights into the construction history of its stone colonnades. This paper concerns the analysis of the 3D models of the in situ material, using the almost 100 fallen drums and capitals to reconstruct the colonnade digitally. In order to accomplish this, we propose two novel methods for training the machine to estimate the dimensions of a fragmentary column drum. One approach is a modification of ICP, where the fragment is compared to an ideal model of an intact drum, which is resized iteratively until concluding with a satisfactory fit. Another approach recasts the scan data into polar coordinates and uses RANSAC to identify the exterior profiles of the piece and remove points likely to belong to damaged areas. The filtered points are then examined by the algorithm to estimate the radii and taper of the drum. Besides saving a great deal of time in the field, these methods are also accurate to within 0.2\% of the total radius for well-preserved material, and 1\% for even the most fragmentary drums at Olympia. These data have allowed the digital reconstruction of 80\% of the displaced drums and all of the capitals from the temple. Our algorithms can be used to measure any fluted column drums, and we discuss the potential value of our approach for other categories of archaeological artifacts.", acknowledgement = ack-nhfb, articleno = "13", fjournal = "Journal on Computing and Cultural Heritage (JOCCH)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1157", } @Article{Sevenich:2016:UDS, author = "Martin Sevenich and Sungpack Hong and Oskar van Rest and Zhe Wu and Jayanta Banerjee and Hassan Chafi", title = "Using domain-specific languages for analytic graph databases", journal = j-PROC-VLDB-ENDOWMENT, volume = "9", number = "13", pages = "1257--1268", month = sep, year = "2016", CODEN = "????", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Wed Oct 12 10:19:51 MDT 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "Recently graph has been drawing lots of attention both as a natural data model that captures fine-grained relationships between data entities and as a tool for powerful data analysis that considers such relationships. In this paper, we present a new graph database system that integrates a robust graph storage with an efficient graph analytics engine. Primarily, our system adopts two domain-specific languages (DSLs), one for describing graph analysis algorithms and the other for graph pattern matching queries. Compared to the API-based approaches in conventional graph processing systems, the DSL-based approach provides users with more flexible and intuitive ways of expressing algorithms and queries. Moreover, the DSL-based approach has significant performance benefits as well, (1) by skipping (remote) API invocation overhead and (2) by applying high-level optimization from the compiler.", acknowledgement = ack-nhfb, ajournal = "Proc. VLDB Endowment", fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Singh:2016:TSD, author = "Rishabh Singh and Sumit Gulwani", title = "Transforming spreadsheet data types using examples", journal = j-SIGPLAN, volume = "51", number = "1", pages = "343--356", month = jan, year = "2016", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/2914770.2837668", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Thu Jun 9 17:13:57 MDT 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Cleaning spreadsheet data types is a common problem faced by millions of spreadsheet users. Data types such as date, time, name, and units are ubiquitous in spreadsheets, and cleaning transformations on these data types involve parsing and pretty printing their string representations. This presents many challenges to users because cleaning such data requires some background knowledge about the data itself and moreover this data is typically non-uniform, unstructured, and ambiguous. Spreadsheet systems and Programming Languages provide some UI-based and programmatic solutions for this problem but they are either insufficient for the user's needs or are beyond their expertise. In this paper, we present a programming by example methodology of cleaning data types that learns the desired transformation from a few input-output examples. We propose a domain specific language with probabilistic semantics that is parameterized with declarative data type definitions. The probabilistic semantics is based on three key aspects: (i) approximate predicate matching, (ii) joint learning of data type interpretation, and (iii) weighted branches. This probabilistic semantics enables the language to handle non-uniform, unstructured, and ambiguous data. We then present a synthesis algorithm that learns the desired program in this language from a set of input-output examples. We have implemented our algorithm as an Excel add-in and present its successful evaluation on 55 benchmark problems obtained from online help forums and Excel product team.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "POPL '16 conference proceedings.", } @Article{Sitaridi:2016:GAS, author = "Evangelia A. Sitaridi and Kenneth A. Ross", title = "{GPU}-accelerated string matching for database applications", journal = j-VLDB-J, volume = "25", number = "5", pages = "719--740", month = oct, year = "2016", CODEN = "VLDBFR", DOI = "https://doi.org/10.1007/s00778-015-0409-y", ISSN = "1066-8888 (print), 0949-877X (electronic)", ISSN-L = "1066-8888", bibdate = "Mon Sep 12 18:50:32 MDT 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbj.bib", abstract = "Implementations of relational operators on GPU processors have resulted in order of magnitude speedups compared to their multicore CPU counterparts. Here we focus on the efficient implementation of string matching operators common in SQL queries. Due to different architectural features the optimal algorithm for CPUs might be suboptimal for GPUs. GPUs achieve high memory bandwidth by running thousands of threads, so it is not feasible to keep the working set of all threads in the cache in a naive implementation. In GPUs the unit of execution is a group of threads and in the presence of loops and branches, threads in a group have to follow the same execution path; if some threads diverge, then different paths are serialized. We study the cache memory efficiency of single- and multi-pattern string matching algorithms for conventional and pivoted string layouts in the GPU memory. We evaluate the memory efficiency in terms of memory access pattern and achieved memory bandwidth for different parallelization methods. To reduce thread divergence, we split string matching into multiple steps. We evaluate the different matching algorithms in terms of average- and worst-case performance and compare them against state-of-the-art CPU and GPU libraries. Our experimental evaluation shows that thread and memory efficiency affect performance significantly and that our proposed methods outperform previous CPU and GPU algorithms in terms of raw performance and power efficiency. The Knuth---Morris---Pratt algorithm is a good choice for GPUs because its regular memory access pattern makes it amenable to several GPU optimizations.", acknowledgement = ack-nhfb, fjournal = "VLDB Journal: Very Large Data Bases", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{Strizhov:2016:SPS, author = "Mikhail Strizhov and Zachary Osman and Indrajit Ray", title = "Substring Position Search over Encrypted Cloud Data Supporting Efficient Multi-User Setup", journal = j-FUTURE-INTERNET, volume = "8", number = "3", pages = "28", day = "04", month = jul, year = "2016", CODEN = "????", DOI = "https://doi.org/10.3390/fi8030028", ISSN = "1999-5903", ISSN-L = "1999-5903", bibdate = "Thu Nov 21 16:50:55 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/cryptography2010.bib; https://www.math.utah.edu/pub/tex/bib/future-internet.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.mdpi.com/1999-5903/8/3/28", abstract = "Existing Searchable Encryption (SE) solutions are able to handle simple Boolean search queries, such as single or multi-keyword queries, but cannot handle substring search queries over encrypted data that also involve identifying the position of the substring within the document. These types of queries are relevant in areas such as searching DNA data. In this paper, we propose a tree-based Substring Position Searchable Symmetric Encryption (SSP-SSE) to overcome the existing gap. Our solution efficiently finds occurrences of a given substring over encrypted cloud data. Specifically, our construction uses the position heap tree data structure and achieves asymptotic efficiency comparable to that of an unencrypted position heap tree. Our encryption takes O (k n) time, and the resulting ciphertext is of size O (k n), where k is a security parameter and n is the size of stored data. The search takes O (m 2 + o c c) time and three rounds of communication, where m is the length of the queried substring and o c c is the number of occurrences of the substring in the document collection. We prove that the proposed scheme is secure against chosen-query attacks that involve an adaptive adversary. Finally, we extend SSP-SSE to the multi-user setting where an arbitrary group of cloud users can submit substring queries to search the encrypted data.", acknowledgement = ack-nhfb, journal-URL = "https://www.mdpi.com/journal/futureinternet", remark = "Special Issue Security in Cloud Computing and Big Data.", } @Article{Thibodeau:2016:ICT, author = "David Thibodeau and Andrew Cave and Brigitte Pientka", title = "Indexed codata types", journal = j-SIGPLAN, volume = "51", number = "9", pages = "351--363", month = sep, year = "2016", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/3022670.2951929", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sat Sep 16 10:18:13 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Indexed data types allow us to specify and verify many interesting invariants about finite data in a general purpose programming language. In this paper we investigate the dual idea: indexed codata types, which allow us to describe data-dependencies about infinite data structures. Unlike finite data which is defined by constructors, we define infinite data by observations. Dual to pattern matching on indexed data which may refine the type indices, we define copattern matching on indexed codata where type indices guard observations we can make. Our key technical contributions are three-fold: first, we extend Levy's call-by-push value language with support for indexed (co)data and deep (co)pattern matching; second, we provide a clean foundation for dependent (co)pattern matching using equality constraints; third, we describe a small-step semantics using a continuation-based abstract machine, define coverage for indexed (co)patterns, and prove type safety. This is an important step towards building a foundation where (co)data type definitions and dependent types can coexist.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "https://dl.acm.org/loi/sigplan", remark = "ICFP '16 conference proceedings.", } @Article{Tran:2016:BPA, author = "Tuan Tu Tran and Yongchao Liu and Bertil Schmidt", title = "Bit-parallel approximate pattern matching: {Kepler GPU} versus {Xeon Phi}", journal = j-PARALLEL-COMPUTING, volume = "54", number = "??", pages = "128--138", month = may, year = "2016", CODEN = "PACOEJ", ISSN = "0167-8191 (print), 1872-7336 (electronic)", ISSN-L = "0167-8191", bibdate = "Wed May 4 17:36:47 MDT 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/parallelcomputing.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0167819115001477", acknowledgement = ack-nhfb, fjournal = "Parallel Computing", journal-URL = "http://www.sciencedirect.com/science/journal/01678191/", } @Article{Wang:2016:MFP, author = "Z. Wang and H. Seidel and T. Weinkauf", title = "Multi-field Pattern Matching based on Sparse Feature Sampling", journal = j-IEEE-TRANS-VIS-COMPUT-GRAPH, volume = "22", number = "1", pages = "807--816", month = "????", year = "2016", CODEN = "ITVGEA", DOI = "https://doi.org/10.1109/TVCG.2015.2467292", ISSN = "1077-2626 (print), 1941-0506 (electronic), 2160-9306", ISSN-L = "1077-2626", bibdate = "Tue Nov 3 09:35:46 MST 2015", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetransviscomputgraph.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Visualization and Computer Graphics", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2945", } @Article{Wang:2016:UHM, author = "Zhongyuan Wang and Fang Wang and Haixun Wang and Zhirui Hu and Jun Yan and Fangtao Li and Ji-Rong Wen and Zhoujun Li", title = "Unsupervised Head-Modifier Detection in Search Queries", journal = j-TKDD, volume = "11", number = "2", pages = "19:1--19:??", month = dec, year = "2016", CODEN = "????", DOI = "https://doi.org/10.1145/2988235", ISSN = "1556-4681 (print), 1556-472X (electronic)", ISSN-L = "1556-4681", bibdate = "Mon Dec 26 17:17:00 MST 2016", bibsource = "http://www.acm.org/pubs/contents/journals/tkdd/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tkdd.bib", abstract = "Interpreting the user intent in search queries is a key task in query understanding. Query intent classification has been widely studied. In this article, we go one step further to understand the query from the view of head-modifier analysis. For example, given the query ``popular iphone 5 smart cover,'' instead of using coarse-grained semantic classes (e.g., find electronic product), we interpret that ``smart cover'' is the head or the intent of the query and ``iphone 5'' is its modifier. Query head-modifier detection can help search engines to obtain particularly relevant content, which is also important for applications such as ads matching and query recommendation. We introduce an unsupervised semantic approach for query head-modifier detection. First, we mine a large number of instance level head-modifier pairs from search log. Then, we develop a conceptualization mechanism to generalize the instance level pairs to concept level. Finally, we derive weighted concept patterns that are concise, accurate, and have strong generalization power in head-modifier detection. The developed mechanism has been used in production for search relevance and ads matching. We use extensive experiment results to demonstrate the effectiveness of our approach.", acknowledgement = ack-nhfb, articleno = "19", fjournal = "ACM Transactions on Knowledge Discovery from Data (TKDD)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1054", } @Article{Yang:2016:NFI, author = "Xiaochun Yang and Tao Qiu and Bin Wang and Baihua Zheng and Yaoshu Wang and Chen Li", title = "Negative Factor: Improving Regular-Expression Matching in Strings", journal = j-TODS, volume = "40", number = "4", pages = "25:1--25:46", month = jan, year = "2016", CODEN = "ATDSD3", DOI = "https://doi.org/10.1145/2847525", ISSN = "0362-5915 (print), 1557-4644 (electronic)", ISSN-L = "0362-5915", bibdate = "Thu Jan 21 12:35:53 MST 2016", bibsource = "http://www.acm.org/pubs/contents/journals/tods/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tods.bib", abstract = "The problem of finding matches of a regular expression (RE) on a string exists in many applications, such as text editing, biosequence search, and shell commands. Existing techniques first identify candidates using substrings in the RE, then verify each of them using an automaton. These techniques become inefficient when there are many candidate occurrences that need to be verified. In this article, we propose a novel technique that prunes false negatives by utilizing negative factors, which are substrings that cannot appear in an answer. A main advantage of the technique is that it can be integrated with many existing algorithms to improve their efficiency significantly. We present a detailed description of this technique. We develop an efficient algorithm that utilizes negative factors to prune candidates, then improve it by using bit operations to process negative factors in parallel. We show that negative factors, when used with necessary factors (substrings that must appear in each answer), can achieve much better pruning power. We analyze the large number of negative factors, and develop an algorithm for finding a small number of high-quality negative factors. We conducted a thorough experimental study of this technique on real datasets, including DNA sequences, proteins, and text documents, and show significant performance improvement of the state-of-the-art tools by an order of magnitude.", acknowledgement = ack-nhfb, articleno = "25", fjournal = "ACM Transactions on Database Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J777", } @Article{Zhang:2016:CRA, author = "Meng Zhang and Yi Zhang and Chen Hou", title = "Compact representations of automata for regular expression matching", journal = j-INFO-PROC-LETT, volume = "116", number = "12", pages = "750--756", month = dec, year = "2016", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue Aug 23 11:26:53 MDT 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0020019016301016", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190/", } @Article{Zhu:2016:BAC, author = "Tiantian Zhu and Hongyu Gao and Yi Yang and Kai Bu and Yan Chen and Doug Downey and Kathy Lee and Alok N. Choudhary", title = "Beating the Artificial Chaos: Fighting {OSN} Spam Using Its Own Templates", journal = j-IEEE-TRANS-NETWORKING, volume = "24", number = "6", pages = "3856--3869", month = dec, year = "2016", CODEN = "IEANEP", DOI = "https://doi.org/10.1109/TNET.2016.2557849", ISSN = "1063-6692 (print), 1558-2566 (electronic)", ISSN-L = "1063-6692", bibdate = "Sat Jan 21 07:15:40 MST 2017", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/ieeetransnetworking.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Online social networks OSNs are extremely popular among Internet users. However, spam originating from friends and acquaintances not only reduces the joy of Internet surfing but also causes damage to less security-savvy users. Prior countermeasures combat OSN spam from different angles. Due to the diversity of spam, there is hardly any existing method that can independently detect the majority or most of OSN spam. In this paper, we empirically analyze the textual pattern of a large collection of OSN spam. An inspiring finding is that the majority e.g., 76.4\% in 2015 of the collected spam is generated with underlying templates. Based on the analysis, we propose tangram, an OSN spam filtering system that performs online inspection on the stream of user-generated messages. Tangram extracts the templates of spam detected by existing methods and then matching messages against the templates toward the accurate and the fast spam detection. It automatically divides the OSN spam into segments and uses the segments to construct templates to filter future spam. Experimental results on Twitter and Facebook data sets show that tangram is highly accurate and can rapidly generate templates to throttle newly emerged campaigns. Furthermore, we analyze the behavior of detected OSN spammers. We find a series of spammer properties --- such as spamming accounts are created in bursts and a single active organization orchestrates more spam than all other spammers combined --- that promise more comprehensive spam countermeasures.", acknowledgement = ack-nhfb, fjournal = "IEEE\slash ACM Transactions on Networking", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J771", } @Article{Al-Ssulami:2017:FSM, author = "Abdulrakeeb M. Al-Ssulami and Hassan Mathkour", title = "Faster string matching based on hashing and bit-parallelism", journal = j-INFO-PROC-LETT, volume = "123", number = "??", pages = "51--55", month = jul, year = "2017", CODEN = "IFPLAT", DOI = "https://doi.org/10.1016/j.ipl.2017.03.005", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Fri Jun 30 15:40:21 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/infoproc2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0020019017300492", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Angles:2017:FMQ, author = "Renzo Angles and Marcelo Arenas and Pablo Barcel{\'o} and Aidan Hogan and Juan Reutter and Domagoj Vrgoc", title = "Foundations of Modern Query Languages for Graph Databases", journal = j-COMP-SURV, volume = "50", number = "5", pages = "68:1--68:??", month = nov, year = "2017", CODEN = "CMSVAN", DOI = "https://doi.org/10.1145/3104031", ISSN = "0360-0300 (print), 1557-7341 (electronic)", ISSN-L = "0360-0300", bibdate = "Sat Jan 20 09:25:00 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/compsurv.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We survey foundational features underlying modern graph query languages. We first discuss two popular graph data models: edge-labelled graphs, where nodes are connected by directed, labelled edges, and property graphs, where nodes and edges can further have attributes. Next we discuss the two most fundamental graph querying functionalities: graph patterns and navigational expressions. We start with graph patterns, in which a graph-structured query is matched against the data. Thereafter, we discuss navigational expressions, in which patterns can be matched recursively against the graph to navigate paths of arbitrary length; we give an overview of what kinds of expressions have been proposed and how they can be combined with graph patterns. We also discuss several semantics under which queries using the previous features can be evaluated, what effects the selection of features and semantics has on complexity, and offer examples of such features in three modern languages that are used to query graphs: SPARQL, Cypher, and Gremlin. We conclude by discussing the importance of formalisation for graph query languages; a summary of what is known about SPARQL, Cypher, and Gremlin in terms of expressivity and complexity; and an outline of possible future directions for the area.", acknowledgement = ack-nhfb, articleno = "68", fjournal = "ACM Computing Surveys", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J204", } @Article{Anonymous:2017:ENS, author = "Anonymous", title = "{Editor}'s Note: Special Issue on Combinatorial Pattern Matching", journal = j-ALGORITHMICA, volume = "79", number = "3", pages = "797--797", month = nov, year = "2017", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s00453-017-0355-8", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", bibdate = "Mon Oct 2 10:42:20 MDT 2017", bibsource = "http://link.springer.com/journal/453/79/3; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/content/pdf/10.1007/s00453-017-0355-8.pdf", acknowledgement = ack-nhfb, fjournal = "Algorithmica", journal-URL = "http://link.springer.com/journal/453", } @Article{Antonopoulos:2017:DIS, author = "Timos Antonopoulos and Paul Gazzillo and Michael Hicks and Eric Koskinen and Tachio Terauchi and Shiyi Wei", title = "Decomposition instead of self-composition for proving the absence of timing channels", journal = j-SIGPLAN, volume = "52", number = "6", pages = "362--375", month = jun, year = "2017", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/3140587.3062378", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sat Sep 16 10:18:17 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/cryptography2010.bib; https://www.math.utah.edu/pub/tex/bib/java2010.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We present a novel approach to proving the absence of timing channels. The idea is to partition the program's execution traces in such a way that each partition component is checked for timing attack resilience by a time complexity analysis and that per-component resilience implies the resilience of the whole program. We construct a partition by splitting the program traces at secret-independent branches. This ensures that any pair of traces with the same public input has a component containing both traces. Crucially, the per-component checks can be normal safety properties expressed in terms of a single execution. Our approach is thus in contrast to prior approaches, such as self-composition, that aim to reason about multiple $ (k \geq 2) $ executions at once. We formalize the above as an approach called quotient partitioning, generalized to any k -safety property, and prove it to be sound. A key feature of our approach is a demand-driven partitioning strategy that uses a regex-like notion called trails to identify sets of execution traces, particularly those influenced by tainted (or secret) data. We have applied our technique in a prototype implementation tool called Blazer, based on WALA, PPL, and the brics automaton library. We have proved timing-channel freedom of (or synthesized an attack specification for) 24 programs written in Java bytecode, including 6 classic examples from the literature and 6 examples extracted from the DARPA STAC challenge problems.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "https://dl.acm.org/loi/sigplan", remark = "PLDI '17 conference proceedings.", } @Article{Azaria:2017:DMM, author = "Amos Azaria and David Sarne and Yonatan Aumann", title = "Distributed Matching with Mixed Maximum--Minimum Utilities", journal = j-TEAC, volume = "5", number = "2", pages = "11:1--11:??", month = mar, year = "2017", CODEN = "????", DOI = "https://doi.org/10.1145/3038911", ISSN = "2167-8375 (print), 2167-8383 (electronic)", ISSN-L = "2167-8375", bibdate = "Wed Aug 9 16:06:10 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/teac.bib", abstract = "In this article, we study distributed agent matching with search friction in environments characterized by costly exploration, where each agent's utility from forming a partnership is influenced by some linear combination of the maximum and the minimum among the two agents' competence. The article provides a cohesive analysis for such case, proving the equilibrium structure for the different min-max linear combinations that may be used. The article presents an extensive equilibrium analysis of such settings, proving three distinct resulting patterns of the acceptance thresholds used by the different agents. The first relates to settings where a greater emphasis is placed on the minimum type, or in the extreme case where the minimum type solely determines the output. In these cases, the assortative matching characteristic holds, where all agents set their threshold below their own type and the greater is the agent type, the greater is its threshold. When the utility from the partnership formation is solely determined by the maximum type, we show that there exists a type $ x^* $ where partnerships form if and only if one of the agents has a type equal to or greater than $ x^* $. When a greater emphasis is placed on the maximum type (but not only), we prove that assortative matching never holds, and the change in the agents' acceptance thresholds can frequently shift from an increase to a decrease.", acknowledgement = ack-nhfb, articleno = "11", fjournal = "ACM Transactions on Economics and Computation", journal-URL = "http://dl.acm.org/citation.cfm?id=2542174", } @Article{BenNsira:2017:LSM, author = "Nadia {Ben Nsira} and Mourad Elloumi and Thierry Lecroq", title = "On-line String Matching in Highly Similar {DNA} Sequences", journal = j-MATH-COMPUT-SCI, volume = "11", number = "2", pages = "113--126", month = jun, year = "2017", CODEN = "????", DOI = "https://doi.org/10.1007/s11786-016-0280-2", ISSN = "1661-8270 (print), 1661-8289 (electronic)", ISSN-L = "1661-8270", bibdate = "Mon Oct 2 10:24:35 MDT 2017", bibsource = "http://link.springer.com/journal/11786/11/2; https://www.math.utah.edu/pub/tex/bib/math-comput-sci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Mathematics in Computer Science", journal-URL = "http://link.springer.com/journal/11786", } @Article{Berglund:2017:SRE, author = "Martin Berglund and Brink van der Merwe", title = "On the semantics of regular expression parsing in the wild", journal = j-THEOR-COMP-SCI, volume = "679", number = "??", pages = "69--82", day = "30", month = may, year = "2017", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Wed Aug 9 15:42:31 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2015.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397516304790", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Calvo-Zaragoza:2017:CEE, author = "Jorge Calvo-Zaragoza and Jose Oncina and Colin de la Higuera", title = "Computing the Expected Edit Distance from a String to a Probabilistic Finite-State Automaton", journal = j-INT-J-FOUND-COMP-SCI, volume = "28", number = "5", pages = "603--??", month = aug, year = "2017", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S0129054117400093", ISSN = "0129-0541", ISSN-L = "0129-0541", bibdate = "Sat Dec 16 08:38:08 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Cao:2017:VNM, author = "Yang Cao and Wenfei Fan and Shuai Ma", title = "Virtual Network Mapping in Cloud Computing: a Graph Pattern Matching Approach", journal = j-COMP-J, volume = "60", number = "3", pages = "60--??", month = mar, year = "2017", CODEN = "CMPJA6", ISSN = "????", ISSN-L = "0010-4620", bibdate = "Sat Mar 11 14:16:28 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/compj2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/virtual-machines.bib", URL = "https://academic.oup.com/comjnl/article/60/3/287/2608063/Virtual-Network-Mapping-in-Cloud-Computing-A-Graph", acknowledgement = ack-nhfb, fjournal = "The Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", } @Article{Chhabra:2017:EOP, author = "Tamanna Chhabra and Simone Faro and M. O{\u{g}}uzhan K{\"u}lekci and Jorma Tarhio", title = "Engineering order-preserving pattern matching with {SIMD} parallelism", journal = j-SPE, volume = "47", number = "5", pages = "731--739", month = may, year = "2017", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.2433", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Mon Jul 24 08:17:11 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", } @Article{Chivers:2017:OUR, author = "Howard Chivers", title = "Optimising {Unicode} regular expression evaluation with previews", journal = j-SPE, volume = "47", number = "5", pages = "669--688", month = may, year = "2017", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.2436", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Mon Jul 24 08:17:11 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unicode.bib", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", } @Article{Colazzo:2017:LTM, author = "Dario Colazzo and Giorgio Ghelli and Carlo Sartiani", title = "Linear Time Membership in a Class of Regular Expressions with Counting, Interleaving, and Unordered Concatenation", journal = j-TODS, volume = "42", number = "4", pages = "24:1--24:??", month = nov, year = "2017", CODEN = "ATDSD3", DOI = "https://doi.org/10.1145/3132701", ISSN = "0362-5915 (print), 1557-4644 (electronic)", ISSN-L = "0362-5915", bibdate = "Sat Nov 18 10:18:22 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tods.bib", abstract = "Regular Expressions (REs) are ubiquitous in database and programming languages. While many applications make use of REs extended with interleaving (shuffle) and unordered concatenation operators, this extension badly affects the complexity of basic operations, and, especially, makes membership NP-hard, which is unacceptable in most practical scenarios. In this article, we study the problem of membership checking for a restricted class of these extended REs, called conflict-free REs, which are expressive enough to cover the vast majority of real-world applications. We present several polynomial algorithms for membership checking over conflict-free REs. The algorithms are all polynomial and differ in terms of adopted optimization techniques and in the kind of supported operators. As a particular application, we generalize the approach to check membership of Extensible Markup Language trees into a class of EDTDs (Extended Document Type Definitions) that models the crucial aspects of DTDs (Document Type Definitions) and XSD (XML Schema Definitions) schemas. Results about an extensive experimental analysis validate the efficiency of the presented membership checking techniques.", acknowledgement = ack-nhfb, articleno = "24", fjournal = "ACM Transactions on Database Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J777", } @Article{Czerwinski:2017:DDD, author = "Wojciech Czerwi{\'n}ski and Claire David and Katja Losemann and Wim Martens", title = "Deciding definability by deterministic regular expressions", journal = j-J-COMP-SYS-SCI, volume = "88", number = "??", pages = "75--89", month = sep, year = "2017", CODEN = "JCSSBM", DOI = "https://doi.org/10.1016/j.jcss.2017.03.011", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:27:37 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0022000017300405", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Article{Czerwinski:2017:OTP, author = "Wojciech Czerwinski and Wim Martens and Matthias Niewerth and Pawel Parys", title = "Optimizing Tree Patterns for Querying Graph- and Tree-Structured Data", journal = j-SIGMOD, volume = "46", number = "1", pages = "15--22", month = mar, year = "2017", CODEN = "SRECD8", DOI = "https://doi.org/10.1145/3093754.3093759", ISSN = "0163-5808 (print), 1943-5835 (electronic)", ISSN-L = "0163-5808", bibdate = "Mon Jul 24 10:03:00 MDT 2017", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/sigmod.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Many of today's graph query languages are based on graph pattern matching. We investigate optimization for treeshaped patterns with transitive closure. Such patterns are quite expressive, yet can be evaluated efficiently. The minimization problem aims at reducing the number of nodes in patterns and goes back to the early 2000's. We provide an example showing that, in contrast to earlier claims, tree patterns cannot be minimized by deleting nodes only. The example resolves the M ?/= NR problem, which asks if a tree pattern is minimal if and only if it is nonredundant. The example can be adapted to also understand the complexity of minimization, which was another question that was open since the early research on the problem. Interestingly, the latter result also shows that, unless standard complexity assumptions are false, more general approaches for minimizing tree patterns are also bound to fail in some cases.", acknowledgement = ack-nhfb, fjournal = "SIGMOD Record (ACM Special Interest Group on Management of Data)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J689", } @Article{Daykin:2017:ISF, author = "Jacqueline W. Daykin and Bruce Watson", title = "Indeterminate String Factorizations and Degenerate Text Transformations", journal = j-MATH-COMPUT-SCI, volume = "11", number = "2", pages = "209--218", month = jun, year = "2017", CODEN = "????", DOI = "https://doi.org/10.1007/s11786-016-0285-x", ISSN = "1661-8270 (print), 1661-8289 (electronic)", ISSN-L = "1661-8270", bibdate = "Mon Oct 2 10:24:35 MDT 2017", bibsource = "http://link.springer.com/journal/11786/11/2; https://www.math.utah.edu/pub/tex/bib/math-comput-sci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/content/pdf/10.1007/s11786-016-0285-x.pdf", acknowledgement = ack-nhfb, fjournal = "Mathematics in Computer Science", journal-URL = "http://link.springer.com/journal/11786", } @Article{Fang:2017:SPM, author = "Yan Fang and Victor V. Yashin and Brandon B. Jennings and Donald M. Chiarulli and Steven P. Levitan", title = "A Simplified Phase Model for Simulation of Oscillator-Based Computing Systems", journal = j-JETC, volume = "13", number = "2", pages = "14:1--14:??", month = mar, year = "2017", CODEN = "????", DOI = "https://doi.org/10.1145/2976743", ISSN = "1550-4832", bibdate = "Sat Apr 8 10:16:07 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/jetc.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Building oscillator-based computing systems with emerging nano-device technologies has become a promising solution for unconventional computing tasks like computer vision and pattern recognition. However, simulation and analysis of these computing systems is both time and compute intensive due to the nonlinearity of new devices and the complex behavior of coupled oscillators. In order to speed up the simulation of coupled oscillator systems, we propose a simplified phase model to perform phase and frequency synchronization prediction based on a synthesis of earlier models. Our model can predict the frequency-locking behavior with several orders of magnitude speedup compared to direct evaluation, enabling the effective and efficient simulation of the large numbers of oscillators required for practical computing systems. We demonstrate the oscillator-based computing paradigm with three applications, pattern matching, convolution, and image segmentation. The simulation with these models are respectively sped up by factors of 780, 300, and 1120 in our tests.", acknowledgement = ack-nhfb, articleno = "14", fjournal = "ACM Journal on Emerging Technologies in Computing Systems (JETC)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J967", } @Article{Ferdous:2017:SMC, author = "S. M. Ferdous and M. Sohel Rahman", title = "Solving the Minimum Common String Partition Problem with the Help of Ants", journal = j-MATH-COMPUT-SCI, volume = "11", number = "2", pages = "233--249", month = jun, year = "2017", CODEN = "????", DOI = "https://doi.org/10.1007/s11786-017-0293-5", ISSN = "1661-8270 (print), 1661-8289 (electronic)", ISSN-L = "1661-8270", bibdate = "Mon Oct 2 10:24:35 MDT 2017", bibsource = "http://link.springer.com/journal/11786/11/2; https://www.math.utah.edu/pub/tex/bib/math-comput-sci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Mathematics in Computer Science", journal-URL = "http://link.springer.com/journal/11786", } @Article{Ganguly:2017:STT, author = "Arnab Ganguly and Wing-Kai Hon and Rahul Shah and Sharma V. Thankachan", title = "Space-time trade-offs for finding shortest unique substrings and maximal unique matches", journal = j-THEOR-COMP-SCI, volume = "700", number = "??", pages = "75--88", day = "14", month = nov, year = "2017", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Fri Nov 3 16:52:27 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2015.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397517305832", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Gope:2017:ASS, author = "Dibakar Gope and David J. Schlais and Mikko H. Lipasti", title = "Architectural Support for Server-Side {PHP} Processing", journal = j-COMP-ARCH-NEWS, volume = "45", number = "2", pages = "507--520", month = may, year = "2017", CODEN = "CANED2", DOI = "https://doi.org/10.1145/3140659.3080234", ISSN = "0163-5964 (print), 1943-5851 (electronic)", ISSN-L = "0163-5964", bibdate = "Fri Sep 15 11:09:14 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/sigarch.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "PHP is the dominant server-side scripting language used to implement dynamic web content. Just-in-time compilation, as implemented in Facebook's state-of-the-art HipHopVM, helps mitigate the poor performance of PHP, but substantial overheads remain, especially for realistic, large-scale PHP applications. This paper analyzes such applications and shows that there is little opportunity for conventional microarchitectural enhancements. Furthermore, prior approaches for function-level hardware acceleration present many challenges due to the extremely flat distribution of execution time across a large number of functions in these complex applications. In-depth analysis reveals a more promising alternative: targeted acceleration of four fine-grained PHP activities: hash table accesses, heap management, string manipulation, and regular expression handling. We highlight a set of guiding principles and then propose and evaluate inexpensive hardware accelerators for these activities that accrue substantial performance and energy gains across dozens of functions. Our results reflect an average 17.93\% improvement in performance and 21.01\% reduction in energy while executing these complex PHP workloads on a state-of-the-art software and hardware platform.", acknowledgement = ack-nhfb, fjournal = "ACM SIGARCH Computer Architecture News", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J89", } @Article{Groz:2017:ETM, author = "B. Groz and S. Maneth", title = "Efficient testing and matching of deterministic regular expressions", journal = j-J-COMP-SYS-SCI, volume = "89", number = "??", pages = "372--399", month = nov, year = "2017", CODEN = "JCSSBM", DOI = "https://doi.org/10.1016/j.jcss.2017.05.013", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Tue Jan 29 15:27:37 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0022000017300843", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Article{Hasan:2017:PSA, author = "Md. Mahbubul Hasan and A. S. M. Sohidull Islam and M. Sohel Rahman and Ayon Sen", title = "Palindromic Subsequence Automata and Longest Common Palindromic Subsequence", journal = j-MATH-COMPUT-SCI, volume = "11", number = "2", pages = "219--232", month = jun, year = "2017", CODEN = "????", DOI = "https://doi.org/10.1007/s11786-016-0288-7", ISSN = "1661-8270 (print), 1661-8289 (electronic)", ISSN-L = "1661-8270", bibdate = "Mon Oct 2 10:24:35 MDT 2017", bibsource = "http://link.springer.com/journal/11786/11/2; https://www.math.utah.edu/pub/tex/bib/math-comput-sci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Mathematics in Computer Science", journal-URL = "http://link.springer.com/journal/11786", } @Article{Hirvola:2017:BPA, author = "Tommi Hirvola and Jorma Tarhio", title = "Bit-Parallel Approximate Matching of Circular Strings with $k$ Mismatches", journal = j-ACM-J-EXP-ALGORITHMICS, volume = "22", number = "??", pages = "1.5:1--1.5:??", year = "2017", CODEN = "????", DOI = "https://doi.org/10.1145/3129536", ISSN = "1084-6654", bibdate = "Mon Jan 22 09:52:54 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/jea.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We consider approximate string matching of a circular pattern consisting of the rotations of a pattern of length $m$. From SBNDM and Tuned Shift-Add, we derive a sublinear-time algorithm for searching a noncircular pattern with $k$ allowed mismatches, which is extended to the problem of approximate circular pattern matching with $k$ mismatches. We prove that the presented algorithms are average-optimal for $ m \cdot \lceil \log_2 (k + 1) + 1 \rceil = O(w)$, where $w$ is the size of the computer word in bits. Experiments conducted under the aforementioned condition show that the new $k$-mismatches algorithm for circular strings outperforms previous solutions in practice. In particular, our algorithm is the first nonfiltering method for approximate circular string matching in sublinear average time, which makes it more suitable than earlier filtering methods for high error levels $ k / m$ and small alphabets.", acknowledgement = ack-nhfb, articleno = "1.5", fjournal = "Journal of Experimental Algorithmics (JEA)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J430", } @Article{Hon:2017:PAE, author = "Wing-Kai Hon and Sharma V. Thankachan and Bojian Xu", title = "In-place algorithms for exact and approximate shortest unique substring problems", journal = j-THEOR-COMP-SCI, volume = "690", number = "??", pages = "12--25", day = "22", month = aug, year = "2017", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Wed Aug 9 15:42:35 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2015.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397517304760", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Jiang:2017:CSM, author = "Peng Jiang and Gagan Agrawal", title = "Combining {SIMD} and Many\slash Multi-core Parallelism for Finite State Machines with Enumerative Speculation", journal = j-SIGPLAN, volume = "52", number = "8", pages = "179--191", month = aug, year = "2017", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/3155284.3018760", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Fri Dec 1 18:56:12 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Finite State Machine (FSM) is the key kernel behind many popular applications, including regular expression matching, text tokenization, and Huffman decoding. Parallelizing FSMs is extremely difficult because of the strong dependencies and unpredictable memory accesses. Previous efforts have largely focused on multi-core parallelization, and used different approaches, including {\em speculative\/} and {\em enumerative\/} execution, both of which have been effective but also have limitations. With increasing width and improving flexibility in SIMD instruction sets, this paper focuses on combining SIMD and multi/many-core parallelism for FSMs. We have developed a novel strategy, called {\em enumerative speculation}. Instead of speculating on a single state as in speculative execution or enumerating all possible states as in enumerative execution, our strategy speculates transitions from several possible states, reducing the prediction overheads of speculation approach and the large amount of redundant work in the enumerative approach. A simple lookback approach produces a set of guessed states to achieve high speculation success rates in our enumerative speculation. We evaluate our method with four popular FSM applications: Huffman decoding, regular expression matching, HTML tokenization, and Div7. We obtain up to 2.5x speedup using SIMD on one core and up to 95x combining SIMD with 60 cores of an Intel Xeon Phi. On a single core, we outperform the best single-state speculative execution version by an average of 1.6x, and in combining SIMD and many-core parallelism, outperform enumerative execution by an average of 2x.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "PPoPP '17 conference proceedings.", } @Article{Karkkainen:2017:LLZ, author = "Juha K{\"a}rkk{\"a}inen and Dominik Kempa and Simon J. Puglisi", title = "Lazy {Lempel--Ziv} Factorization Algorithms", journal = j-ACM-J-EXP-ALGORITHMICS, volume = "21", number = "1", pages = "2.4:1--2.4:??", year = "2016", CODEN = "????", DOI = "https://doi.org/10.1145/2699876", ISSN = "1084-6654", bibdate = "Sun Aug 20 07:54:41 MDT 2017", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/jea.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "For decades the Lempel--Ziv (LZ77) factorization has been a cornerstone of data compression and string processing algorithms, and uses for it are still being uncovered. For example, LZ77 is central to several recent text indexing data structures designed to search highly repetitive collections. However, in many applications computation of the factorization remains a bottleneck in practice. In this article, we describe a number of simple and fast LZ77 factorization algorithms, which consistently outperform all previous methods in practice, use less memory, and still offer strong worst-case performance guarantees. A common feature of the new algorithms is that they compute longest common prefix information in a lazy fashion, with the degree of laziness in preprocessing characterizing different algorithms.", acknowledgement = ack-nhfb, articleno = "2.4", fjournal = "Journal of Experimental Algorithmics (JEA)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J430", } @Article{Kim:2017:MES, author = "Minchul Kim and Younghoon Jung and Junghwan Song", title = "A modified exhaustive search on a password system using {SHA-1}", journal = j-INT-J-INFO-SEC, volume = "16", number = "3", pages = "263--269", month = jun, year = "2017", CODEN = "????", DOI = "https://doi.org/10.1007/s10207-016-0332-2", ISSN = "1615-5262 (print), 1615-5270 (electronic)", ISSN-L = "1615-5262", bibdate = "Tue Jan 23 16:01:47 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/intjinfosec.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/s10207-016-0332-2", acknowledgement = ack-nhfb, fjournal = "International Journal of Information Security", journal-URL = "https://link.springer.com/journal/10207", keywords = "Exhaustive search; Microsoft Office; Password cracking; Security evaluation; SHA-1", } @Article{Kim:2017:RTO, author = "Jinil Kim and Amihood Amir and Joong Chae Na and Kunsoo Park and Jeong Seop Sim", title = "On Representations of Ternary Order Relations in Numeric Strings", journal = j-MATH-COMPUT-SCI, volume = "11", number = "2", pages = "127--136", month = jun, year = "2017", CODEN = "????", DOI = "https://doi.org/10.1007/s11786-016-0282-0", ISSN = "1661-8270 (print), 1661-8289 (electronic)", ISSN-L = "1661-8270", bibdate = "Mon Oct 2 10:24:35 MDT 2017", bibsource = "http://link.springer.com/journal/11786/11/2; https://www.math.utah.edu/pub/tex/bib/math-comput-sci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Mathematics in Computer Science", journal-URL = "http://link.springer.com/journal/11786", } @Book{Klabnik:2017:RPL, author = "Steve Klabnik and Carol Nichols", title = "The {Rust} Programming Language", publisher = pub-NO-STARCH, address = pub-NO-STARCH:adr, pages = "xxvii + 519", year = "2017", ISBN = "1-59327-828-4 (paperback), 1-59327-851-9 (e-pub)", ISBN-13 = "978-1-59327-828-1 (paperback), 978-1-59327-851-9 (e-pub)", LCCN = "QA76.73.R87 K53 2018", bibdate = "Thu Oct 31 18:42:15 MDT 2019", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/multithreading.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "\booktitle{The Rust Programming Language} is the official book on Rust; a community-developed, systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety. Rust's memory safety guarantees, enforced at compile time, safeguard your programs against the many problems that pervade other systems languages. Rust offers the control and performance of a low-level language with the helpful abstractions of a high level one, and does this all without having a garbage collector. These characteristics make Rust useful for embedding in other languages, programs with specific space and time requirements, and writing low-level code, like device drivers and operating systems. \booktitle{The Rust Programming Language} begins with a quick hands-on project to introduce the basics, then explores key concepts in depth, such as ownership, the type system, error handling, and fearless concurrency. Detailed explanations of Rust-oriented takes on topics like pattern matching, iterators, and smart pointers combine with examples and exercises to take you from theory to practice. In addition to its thorough coverage of more granular topics, \booktitle{The Rust Programming Language} will show you how to: * Grasp important concepts unique to Rust like ownership, borrowing, and lifetimes; * Use Cargo, Rust's built-in package manager, to build your code, including downloading and building dependencies; * Effectively use Rust's zero-cost abstractions and learn to build your own. Developed with help from the community, \booktitle{The Rust Programming Language} is your official guide to becoming a productive Rust programmer. The official guide to Rust, a community-developed, systems programming language. Begins with a hands-on project to introduce the basics, then explores key concepts in depth''", acknowledgement = ack-nhfb, libnote = "Not in my library.", subject = "Computer programming; Programming languages (Electronic computers); Computer programming.; Programming languages (Electronic computers)", tableofcontents = "Foreword / by Nicholas Matsakis and Aaron Turon \\ Introduction \\ 1: Getting Started \\ 2: A Quick Tutorial \\ Guessing Game \\ 3: Common Programming Concepts \\ 4: Understanding Ownership \\ 5: Structs \\ 6: Enums and Pattern Matching \\ 7: Modules \\ 8: Common Collections \\ 9: Error Handling \\ 10: Generic Types, Traits, and Lifetimes \\ 11: Testing \\ 12: An Input\slash Output Project \\ 13: Functional Language Features in Rust \\ Iterators and Closures \\ 14: More about Cargo and Crates io \\ 15: Smart Pointers \\ 16: Concurrency \\ 17: Is Rust Object Oriented? \\ 18: Patterns \\ 19: More About Lifetimes \\ 20: Advanced Type System Features \\ Appendix A: Keywords \\ Appendix B: Operators \\ Appendix C: Derivable Traits \\ Appendix D: Nightly Rust\ \\ Nightly Rust \\ Glossary", } @Article{Kociumaka:2017:EIJ, author = "Tomasz Kociumaka and Jakub Radoszewski and Wojciech Rytter", title = "Efficient Indexes for Jumbled Pattern Matching with Constant-Sized Alphabet", journal = j-ALGORITHMICA, volume = "77", number = "4", pages = "1194--1215", month = apr, year = "2017", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s00453-016-0140-0", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", bibdate = "Sat Mar 11 18:43:05 MST 2017", bibsource = "http://link.springer.com/journal/453/77/4; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/content/pdf/10.1007/s00453-016-0140-0.pdf", acknowledgement = ack-nhfb, fjournal = "Algorithmica", journal-URL = "http://link.springer.com/journal/453", } @Misc{Kuklewicz:2017:RP, author = "Chris Kuklewicz", title = "Regex {Posix}", howpublished = "Web site", day = "10", month = mar, year = "2017", bibdate = "Fri Sep 22 14:16:37 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "The site compares several implementations of regular expression matching against the POSIX specification, and documents errors in all of the implementations.", URL = "https://wiki.haskell.org/Regex_Posix", acknowledgement = ack-nhfb, remark = "Original version dated 2 February 2009", } @Article{Lancia:2017:SSS, author = "Giuseppe Lancia and Luke Mathieson and Pablo Moscato", title = "Separating sets of strings by finding matching patterns is almost always hard", journal = j-THEOR-COMP-SCI, volume = "665", number = "??", pages = "73--86", month = "????", year = "2017", CODEN = "TCSCDI", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Fri Feb 3 18:54:19 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2015.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397516307460", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975/", } @Article{Lee:2017:DPD, author = "En-Shiun Annie Lee and Ho-Yin Antonio Sze-To and Man-Hon Wong and Kwong-Sak Leung and Terrence Chi-Kong Lau and Andrew K. C. Wong", title = "Discovering Protein-{DNA} Binding Cores by Aligned Pattern Clustering", journal = j-TCBB, volume = "14", number = "2", pages = "254--263", month = mar, year = "2017", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2015.2474376", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Mon Jun 5 18:41:07 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "Understanding binding cores is of fundamental importance in deciphering Protein-DNA TF-TFBS binding and gene regulation. Limited by expensive experiments, it is promising to discover them with variations directly from sequence data. Although existing computational methods have produced satisfactory results, they are one-to-one mappings with no site-specific information on residue/nucleotide variations, where these variations in binding cores may impact binding specificity. This study presents a new representation for modeling binding cores by incorporating variations and an algorithm to discover them from only sequence data. Our algorithm takes protein and DNA sequences from TRANSFAC a Protein-DNA Binding Database as input; discovers from both sets of sequences conserved regions in Aligned Pattern Clusters APCs; associates them as Protein-DNA Co-Occurring APCs; ranks the Protein-DNA Co-Occurring APCs according to their co-occurrence, and among the top ones, finds three-dimensional structures to support each binding core candidate. If successful, candidates are verified as binding cores. Otherwise, homology modeling is applied to their close matches in PDB to attain new chemically feasible binding cores. Our algorithm obtains binding cores with higher precision and much faster runtime $ \geq $ 1,600x than that of its contemporaries, discovering candidates that do not co-occur as one-to-one associated patterns in the raw data. Availability: http://www.pami.uwaterloo.ca/~ealee/files/tcbbPnDna2015/Release.zip.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", } @Article{Lee:2017:FPM, author = "Chun-Liang Lee and Tzu-Hao Yang", title = "A Flexible Pattern-Matching Algorithm for Network Intrusion Detection Systems Using Multi-Core Processors", journal = j-ALGORITHMS-BASEL, volume = "10", number = "2", month = jun, year = "2017", CODEN = "ALGOCH", DOI = "https://doi.org/10.3390/a10020058", ISSN = "1999-4893 (electronic)", ISSN-L = "1999-4893", bibdate = "Fri May 3 13:50:13 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/algorithms.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.mdpi.com/1999-4893/10/2/58", acknowledgement = ack-nhfb, articleno = "58", fjournal = "Algorithms (Basel)", journal-URL = "https://www.mdpi.com/journal/algorithms", ORCID-numbers = "Chun-Liang Lee/0000-0002-8454-5029", pagecount = "??", pubdates = "Received: 15 March 2017 / Revised: 17 May 2017 / Accepted: 20 May 2017 / Published: 24 May 2017", } @Article{Lee:2017:SRE, author = "Mina Lee and Sunbeom So and Hakjoo Oh", title = "Synthesizing regular expressions from examples for introductory automata assignments", journal = j-SIGPLAN, volume = "52", number = "3", pages = "70--80", month = mar, year = "2017", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/3093335.2993244", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sat Sep 16 10:18:15 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We present a method for synthesizing regular expressions for introductory automata assignments. Given a set of positive and negative examples, the method automatically synthesizes the simplest possible regular expression that accepts all the positive examples while rejecting all the negative examples. The key novelty is the search-based synthesis algorithm that leverages ideas from over- and under-approximations to effectively prune out a large search space. We have implemented our technique in a tool and evaluated it with non-trivial benchmark problems that students often struggle with. The results show that our system can synthesize desired regular expressions in 6.7 seconds on the average, so that it can be interactively used by students to enhance their understanding of regular expressions.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "GPCE '16 conference proceedings.", } @Article{Lin:2017:IID, author = "Jie Lin and Yue Jiang and E. James Harner and Bing-Hua Jiang and Don Adjeroh", title = "{IDPM}: An Improved Degenerate Pattern Matching Algorithm for Biological Sequences", journal = j-INT-J-FOUND-COMP-SCI, volume = "28", number = "7", pages = "889--??", month = nov, year = "2017", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S0129054117500307", ISSN = "0129-0541", ISSN-L = "0129-0541", bibdate = "Sat Feb 24 10:21:24 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Lin:2017:LBH, author = "Yi-Shan Lin and Chun-Liang Lee and Yaw-Chung Chen", title = "Length-Bounded Hybrid {CPU\slash GPU} Pattern Matching Algorithm for Deep Packet Inspection", journal = j-ALGORITHMS-BASEL, volume = "10", number = "1", month = mar, year = "2017", CODEN = "ALGOCH", DOI = "https://doi.org/10.3390/a10010016", ISSN = "1999-4893 (electronic)", ISSN-L = "1999-4893", bibdate = "Fri May 3 13:50:13 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/algorithms.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.mdpi.com/1999-4893/10/1/16", acknowledgement = ack-nhfb, articleno = "16", fjournal = "Algorithms (Basel)", journal-URL = "https://www.mdpi.com/journal/algorithms", ORCID-numbers = "Yi-Shan Lin/0000-0002-6736-949X; Chun-Liang Lee/0000-0002-8454-5029", pagecount = "??", pubdates = "Received: 29 November 2016 / Revised: 5 January 2017 / Accepted: 11 January 2017 / Published: 18 January 2017", } @Article{Lin:2017:PHB, author = "Cheng-Hung Lin and Jin-Cheng Li and Chen-Hsiung Liu and Shih-Chieh Chang", title = "Perfect Hashing Based Parallel Algorithms for Multiple String Matching on Graphic Processing Units", journal = j-IEEE-TRANS-PAR-DIST-SYS, volume = "28", number = "9", pages = "2639--2650", month = sep, year = "2017", CODEN = "ITDSEO", DOI = "https://doi.org/10.1109/TPDS.2017.2674664", ISSN = "1045-9219 (print), 1558-2183 (electronic)", ISSN-L = "1045-9219", bibdate = "Thu Aug 17 10:20:52 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/ieeetranspardistsys.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.computer.org/csdl/trans/td/2017/09/07864442-abs.html", acknowledgement = ack-nhfb, journal-URL = "http://www.computer.org/tpds/archives.htm", } @Article{Mamouras:2017:SMS, author = "Konstantinos Mamouras and Mukund Raghothaman and Rajeev Alur and Zachary G. Ives and Sanjeev Khanna", title = "{StreamQRE}: modular specification and efficient evaluation of quantitative queries over streaming data", journal = j-SIGPLAN, volume = "52", number = "6", pages = "693--708", month = jun, year = "2017", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/3140587.3062369", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sat Sep 16 10:18:17 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/java2010.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Real-time decision making in emerging IoT applications typically relies on computing quantitative summaries of large data streams in an efficient and incremental manner. To simplify the task of programming the desired logic, we propose StreamQRE, which provides natural and high-level constructs for processing streaming data. Our language has a novel integration of linguistic constructs from two distinct programming paradigms: streaming extensions of relational query languages and quantitative extensions of regular expressions. The former allows the programmer to employ relational constructs to partition the input data by keys and to integrate data streams from different sources, while the latter can be used to exploit the logical hierarchy in the input stream for modular specifications. We first present the core language with a small set of combinators, formal semantics, and a decidable type system. We then show how to express a number of common patterns with illustrative examples. Our compilation algorithm translates the high-level query into a streaming algorithm with precise complexity bounds on per-item processing time and total memory footprint. We also show how to integrate approximation algorithms into our framework. We report on an implementation in Java, and evaluate it with respect to existing high-performance engines for processing streaming data. Our experimental evaluation shows that (1) StreamQRE allows more natural and succinct specification of queries compared to existing frameworks, (2) the throughput of our implementation is higher than comparable systems (for example, two-to-four times greater than RxJava), and (3) the approximation algorithms supported by our implementation can lead to substantial memory savings.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "PLDI '17 conference proceedings.", } @Article{Manilov:2017:FRS, author = "Stanislav Manilov and Bj{\"o}rn Franke and Anthony Magrath and Cedric Andrieu", title = "{Free Rider}: a Source-Level Transformation Tool for Retargeting Platform-Specific Intrinsic Functions", journal = j-TECS, volume = "16", number = "2", pages = "38:1--38:??", month = apr, year = "2017", CODEN = "????", DOI = "https://doi.org/10.1145/2990194", ISSN = "1539-9087 (print), 1558-3465 (electronic)", ISSN-L = "1539-9087", bibdate = "Mon Jul 24 09:51:12 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tecs.bib", abstract = "Short-vector S imd and Dsp instructions are popular extensions to common Isas. These extensions deliver excellent performance and compact code for some compute-intensive applications, but they require specialized compiler support. To enable the programmer to explicitly request the use of such an instruction, many C compilers provide platform-specific intrinsic functions, whose implementation is handled specially by the compiler. The use of such intrinsics, however, inevitably results in nonportable code. In this article, we develop a novel methodology for retargeting such nonportable code, which maps intrinsics from one platform to another, taking advantage of similar intrinsics on the target platform. We employ a description language to specify the signature and semantics of intrinsics and perform graph-based pattern matching and high-level code transformations to derive optimized implementations exploiting the target's intrinsics, wherever possible. We demonstrate the effectiveness of our new methodology, implemented in the Free Rider tool, by automatically retargeting benchmarks derived from OpenCV samples and a complex embedded application optimized to run on an Arm Cortex-M4 to an Intel Edison module with Sse4.2 instructions (and vice versa). We achieve a speedup of up to 3.73 over a plain C baseline, and on average 96.0\% of the speedup of manually ported and optimized versions of the benchmarks.", acknowledgement = ack-nhfb, ajournal = "ACM Trans. Embed. Comput. Syst.", articleno = "38", fjournal = "ACM Transactions on Embedded Computing Systems", journal-URL = "https://dl.acm.org/loi/tecs", } @Article{Matsubara:2017:NDI, author = "Yasuko Matsubara and Yasushi Sakurai and B. Aditya Prakash and Lei Li and Christos Faloutsos", title = "Nonlinear Dynamics of Information Diffusion in Social Networks", journal = j-TWEB, volume = "11", number = "2", pages = "11:1--11:??", month = may, year = "2017", CODEN = "????", DOI = "https://doi.org/10.1145/3057741", ISSN = "1559-1131 (print), 1559-114X (electronic)", ISSN-L = "1559-1131", bibdate = "Thu Jul 13 14:33:38 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tweb.bib", abstract = "The recent explosion in the adoption of search engines and new media such as blogs and Twitter have facilitated the faster propagation of news and rumors. How quickly does a piece of news spread over these media? How does its popularity diminish over time? Does the rising and falling pattern follow a simple universal law? In this article, we propose SpikeM, a concise yet flexible analytical model of the rise and fall patterns of information diffusion. Our model has the following advantages. First, unification power: it explains earlier empirical observations and generalizes theoretical models including the SI and SIR models. We provide the threshold of the take-off versus die-out conditions for SpikeM and discuss the generality of our model by applying it to an arbitrary graph topology. Second, practicality: it matches the observed behavior of diverse sets of real data. Third, parsimony: it requires only a handful of parameters. Fourth, usefulness: it makes it possible to perform analytic tasks such as forecasting, spotting anomalies, and interpretation by reverse engineering the system parameters of interest (quality of news, number of interested bloggers, etc.). We also introduce an efficient and effective algorithm for the real-time monitoring of information diffusion, namely SpikeStream, which identifies multiple diffusion patterns in a large collection of online event streams. Extensive experiments on real datasets demonstrate that SpikeM accurately and succinctly describes all patterns of the rise and fall spikes in social networks.", acknowledgement = ack-nhfb, articleno = "11", fjournal = "ACM Transactions on the Web (TWEB)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1062", } @Article{Mignot:2017:TAC, author = "Ludovic Mignot and Nadia Ouali Sebti and Djelloul Ziadi", title = "Tree Automata Constructions from Regular Expressions: a Comparative Study", journal = j-FUND-INFO, volume = "156", number = "1", pages = "69--94", month = "????", year = "2017", CODEN = "FUMAAJ", DOI = "https://doi.org/10.3233/FI-2017-1598", ISSN = "0169-2968 (print), 1875-8681 (electronic)", ISSN-L = "0169-2968", bibdate = "Fri Sep 21 07:16:21 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/fundinfo2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Fundamenta Informaticae", journal-URL = "http://content.iospress.com/journals/fundamenta-informaticae", } @Article{Mitani:2017:PEA, author = "Yasuaki Mitani and Fumihiko Ino and Kenichi Hagihara", title = "Parallelizing Exact and Approximate String Matching via Inclusive Scan on a {GPU}", journal = j-IEEE-TRANS-PAR-DIST-SYS, volume = "28", number = "7", pages = "1989--2002", month = jul, year = "2017", CODEN = "ITDSEO", DOI = "https://doi.org/10.1109/TPDS.2016.2645222", ISSN = "1045-9219 (print), 1558-2183 (electronic)", ISSN-L = "1045-9219", bibdate = "Thu Jun 15 05:46:52 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranspardistsys.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.computer.org/csdl/trans/td/2017/07/07797444-abs.html", acknowledgement = ack-nhfb, journal-URL = "http://www.computer.org/tpds/archives.htm", } @Article{Montanaro:2017:QPM, author = "Ashley Montanaro", title = "Quantum Pattern Matching Fast on Average", journal = j-ALGORITHMICA, volume = "77", number = "1", pages = "16--39", month = jan, year = "2017", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s00453-015-0060-4", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", bibdate = "Sat Mar 11 18:43:04 MST 2017", bibsource = "http://link.springer.com/journal/453/77/1; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/s00453-015-0060-4", acknowledgement = ack-nhfb, fjournal = "Algorithmica", journal-URL = "http://link.springer.com/journal/453", } @Article{Moreira:2017:FCR, author = "Rubens E. A. Moreira and Sylvain Collange and Fernando Magno Quint{\~a}o Pereira", title = "Function Call Re-Vectorization", journal = j-SIGPLAN, volume = "52", number = "8", pages = "313--326", month = aug, year = "2017", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/3155284.3018751", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Fri Dec 1 18:56:12 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/pvm.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Programming languages such as C for CUDA, OpenCL or ISPC have contributed to increase the programmability of SIMD accelerators and graphics processing units. However, these languages still lack the flexibility offered by low-level SIMD programming on explicit vectors. To close this expressiveness gap while preserving performance, this paper introduces the notion of \ourinvention{} (CREV). CREV allows changing the dimension of vectorization during the execution of a kernel, exposing it as a nested parallel kernel call. CREV affords programmability close to dynamic parallelism, a feature that allows the invocation of kernels from inside kernels, but at much lower cost. In this paper, we present a formal semantics of CREV, and an implementation of it on the ISPC compiler. We have used CREV to implement some classic algorithms, including string matching, depth first search and Bellman-Ford, with minimum effort. These algorithms, once compiled by ISPC to Intel-based vector instructions, are as fast as state-of-the-art implementations, yet much simpler. Thus, CREV gives developers the elegance of dynamic programming, and the performance of explicit SIMD programming.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "PPoPP '17 conference proceedings.", } @Article{Nicolae:2017:PMM, author = "Marius Nicolae and Sanguthevar Rajasekaran", title = "On pattern matching with $k$ mismatches and few don't cares", journal = j-INFO-PROC-LETT, volume = "118", number = "??", pages = "78--82", month = feb, year = "2017", CODEN = "IFPLAT", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Tue Nov 22 15:19:12 MST 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0020019016301442", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190/", } @Article{Nsira:2017:LSM, author = "Nadia Ben Nsira and Mourad Elloumi and Thierry Lecroq", title = "On-line String Matching in Highly Similar {DNA} Sequences", journal = j-MATH-COMPUT-SCI, volume = "11", number = "2", pages = "113--126", month = jun, year = "2017", CODEN = "????", DOI = "https://doi.org/10.1007/s11786-016-0280-2", ISSN = "1661-8270 (print), 1661-8289 (electronic)", ISSN-L = "1661-8270", bibdate = "Mon Oct 2 10:24:35 MDT 2017", bibsource = "http://link.springer.com/journal/11786/11/2; https://www.math.utah.edu/pub/tex/bib/math-comput-sci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Mathematics in Computer Science", journal-URL = "http://link.springer.com/journal/11786", } @Article{Omar:2017:PSF, author = "Cyrus Omar and Jonathan Aldrich", title = "Programmable semantic fragments: the design and implementation of {\tt typy}", journal = j-SIGPLAN, volume = "52", number = "3", pages = "81--92", month = mar, year = "2017", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/3093335.2993245", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sat Sep 16 10:18:15 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/java2010.bib; https://www.math.utah.edu/pub/tex/bib/pvm.bib; https://www.math.utah.edu/pub/tex/bib/python.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "This paper introduces typy, a statically typed programming language embedded by reflection into Python. typy features a fragmentary semantics, i.e. it delegates semantic control over each term, drawn from Python's fixed concrete and abstract syntax, to some contextually relevant user-defined semantic fragment. The delegated fragment programmatically (1) typechecks the term (following a bidirectional protocol); and (2) assigns dynamic meaning to the term by computing a translation to Python. We argue that this design is expressive with examples of fragments that express the static and dynamic semantics of (1) functional records; (2) labeled sums (with nested pattern matching a la ML); (3) a variation on JavaScript's prototypal object system; and (4) typed foreign interfaces to Python and OpenCL. These semantic structures are, or would need to be, defined primitively in conventionally structured languages. We further argue that this design is compositionally well-behaved. It avoids the expression problem and the problems of grammar composition because the syntax is fixed. Moreover, programs are semantically stable under fragment composition (i.e. defining a new fragment will not change the meaning of existing program components.)", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "https://dl.acm.org/loi/sigplan", remark = "GPCE '16 conference proceedings.", } @Article{Park:2017:PSS, author = "Changhee Park and Hyeonseung Im and Sukyoung Ryu", title = "Precise and scalable static analysis of {jQuery} using a regular expression domain", journal = j-SIGPLAN, volume = "52", number = "2", pages = "25--36", month = feb, year = "2017", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/3093334.2989228", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sat Sep 16 10:18:15 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/java2010.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "jQuery is the most popular JavaScript library but the state-of-the-art static analyzers for JavaScript applications fail to analyze simple programs that use jQuery. In this paper, we present a novel abstract string domain whose elements are simple regular expressions that can represent prefix, infix, and postfix substrings of a string and even their sets. We formalize the new domain in the abstract interpretation framework with abstract models of strings and objects commonly used in the existing JavaScript analyzers. For practical use of the domain, we present polynomial-time inclusion decision rules between the regular expressions and prove that the rules exactly capture the actual inclusion relation. We have implemented the domain as an extension of the open-source JavaScript analyzer, SAFE, and we show that the extension significantly improves the scalability and precision of the baseline analyzer in analyzing programs that use jQuery.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "DLS '16 conference proceedings.", } @Article{Parreaux:2017:QSR, author = "Lionel Parreaux and Amir Shaikhha and Christoph E. Koch", title = "Quoted staged rewriting: a practical approach to library-defined optimizations", journal = j-SIGPLAN, volume = "52", number = "12", pages = "131--145", month = dec, year = "2017", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/3170492.3136043", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Fri Dec 1 18:56:14 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Staging has proved a successful technique for programmatically removing code abstractions, thereby allowing for faster program execution while retaining a high-level interface for the programmer. Unfortunately, techniques based on staging suffer from a number of problems --- ranging from practicalities to fundamental limitations --- which have prevented their widespread adoption. We introduce Quoted Staged Rewriting (QSR), an approach that uses type-safe, pattern matching-enabled quasiquotes to define optimizations. The approach is ``staged'' in two ways: first, rewrite rules can execute arbitrary code during pattern matching and code reconstruction, leveraging the power and flexibility of staging; second, library designers can orchestrate the application of successive rewriting phases (stages). The advantages of using quasiquote-based rewriting are that library designers never have to deal directly with the intermediate representation (IR), and that it allows for non-intrusive optimizations --- in contrast with staging, it is not necessary to adapt the entire library and user programs to accommodate optimizations. We show how Squid, a Scala macro-based framework, enables QSR and renders library-defined optimizations more practical than ever before: library designers write domain-specific optimizers that users invoke transparently on delimited portions of their code base. As a motivating example we describe an implementation of stream fusion (a well-known deforestation technique) that is both simpler and more powerful than the state of the art, and can readily be used by Scala programmers with no knowledge of metaprogramming.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "GPCE '17 conference proceedings.", } @Article{Prusa:2017:CMS, author = "Daniel Pr{\r{u}}{\v{s}}a", title = "Complexity of Matching Sets of Two-Dimensional Patterns by Two-Dimensional On-Line Tessellation Automaton", journal = j-INT-J-FOUND-COMP-SCI, volume = "28", number = "5", pages = "623--??", month = aug, year = "2017", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S012905411740010X", ISSN = "0129-0541", ISSN-L = "0129-0541", bibdate = "Sat Dec 16 08:38:08 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Qiao:2017:SMC, author = "Miao Qiao and Hao Zhang and Hong Cheng", title = "Subgraph matching: on compression and computation", journal = j-PROC-VLDB-ENDOWMENT, volume = "11", number = "2", pages = "176--188", month = oct, year = "2017", CODEN = "????", DOI = "https://doi.org/10.14778/3149193.3149198", ISSN = "2150-8097", bibdate = "Thu Nov 30 06:16:03 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "Subgraph matching finds a set I of all occurrences of a pattern graph in a target graph. It has a wide range of applications while suffers an expensive computation. This efficiency issue has been studied extensively. All existing approaches, however, turn a blind eye to the output crisis, that is, when the system has to materialize I as a preprocessing/intermediate/final result or an index, the cost of the export of I dominates the overall cost, which could be prohibitive even for a small pattern graph. This paper studies subgraph matching via two problems. (1) Is there an ideal compression of I? (2) Will the compression of I reversely boost the computation of I? For the problem (1), we propose a technique called VCBC to compress I to code(I) which serves effectively the same as I. For problem (2), we propose a subgraph matching computation framework CBF which computes code(I) instead of I to bring down the output cost. CBF further reduces the overall cost by reducing the intermediate results. Extensive experiments show that the compression ratio of VCBC can be up to $ 10^5 $ which also significantly lowers the output cost of CBF. Extensive experiments show the superior performance of CBF over existing approaches.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Remy:2017:OEP, author = "Didier R{\'e}my", title = "{Ornaments}: exploiting parametricity for safer, more automated code refactorization and code reuse (invited talk)", journal = j-SIGPLAN, volume = "52", number = "10", pages = "1--1", month = oct, year = "2017", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/3156695.3127333", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Fri Dec 1 18:56:13 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Inductive datatypes and parametric polymorphism are two key features introduced in the ML family of languages, which have already been widely exploited for structuring programs: Haskell and ML programs are often more elegant and more correct by construction. Still, we sometimes need code to be refactored or adapted to be reused in a slightly different context. While the type system is considerably helpful in these situations, by automatically locating type-inconsistent program points or incomplete pattern matchings, this process could be made safer and more automated by further exploiting parametricity. We propose a posteriori program abstraction as a principle for such code transformations. We apply this principle to ornamentation which is a way to describe changes in datatype definitions reorganizing, adding, or dropping some pieces of data so that functions operating on the bare definition can be partially and sometimes totally lifted into functions operating on the ornamented structure. We view ornamentation as an a posteriori abstraction of the bare code, called a generic lifting, which can then be instantiated into a concrete lifting, meta-reduced, and simplified. Both the source and target code live in core ML while the lifted code lives in a meta-language above ML equipped with a limited form of dependent types needed to capture some invariants of the generic lifting so that the concrete lifting can be simplified back into an ML program. Importantly, the lifted code can be closely related to the bare code, using logical relations thanks to the generic lifting detour. Different, typical use cases of ornaments will be shown and the approach will be mainly illustrated on examples.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "Haskell '17 conference proceedings.", } @InProceedings{Ribeiro:2017:CBC, author = "Rodrigo Ribeiro and Andr{\'e} {Du Bois}", editor = "Fabio Mascarenhas", booktitle = "Proceedings of the {21st Brazilian Symposium on Programming Languages: Fortaleza CE, Brazil, September 21--22, 2017}", title = "Certified Bit-Coded Regular Expression Parsing", publisher = pub-ACM, address = pub-ACM:adr, bookpages = "87", pages = "1--8", month = sep, year = "2017", DOI = "https://doi.org/10.1145/3125374.3125381", ISBN = "1-4503-5389-4", ISBN-13 = "978-1-4503-5389-2", bibdate = "Fri Sep 22 15:17:26 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We describe the formalization of a regular expression (RE) parsing algorithm that produces a bit representation of its parse tree in the dependently typed language Agda. The algorithm computes bit-codes using Brzozowski derivatives and we prove that produced codes are equivalent to parse trees ensuring soundness and completeness w.r.t an inductive RE semantics. We include the certified algorithm in a tool developed by us, named verigrep, for regular expression based search in the style of the well known GNU grep. Practical experiments conducted with this tool are reported.", acknowledgement = ack-nhfb, } @Article{Rottenstreich:2017:ORC, author = "Ori Rottenstreich and Janos Tapolcai", title = "Optimal Rule Caching and Lossy Compression for Longest Prefix Matching", journal = j-IEEE-TRANS-NETWORKING, volume = "25", number = "2", pages = "864--878", month = apr, year = "2017", CODEN = "IEANEP", DOI = "https://doi.org/10.1109/TNET.2016.2611482", ISSN = "1063-6692 (print), 1558-2566 (electronic)", ISSN-L = "1063-6692", bibdate = "Mon Jun 5 18:46:21 MDT 2017", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/ieeetransnetworking.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Packet classification is a building block in many network services, such as routing, monitoring, and policy enforcement. In commodity switches, classification is often performed by memory components of various rule matching patterns longest prefix match, ternary matches, exact match, and so on. The memory components are fast but expensive and power-hungry with power consumption proportional to their size. In this paper, we study the applicability of rule caching and lossy compression to create packet classifiers requiring much less memory than the theoretical size limits of the semantically-equivalent representations, enabling significant reduction in their cost and power consumption. This paper focuses on the longest prefix matching. Our objective is to find a limited-size longest prefix match classifier that can correctly classify a high portion of the traffic, so that it can be implemented in commodity switches with classification modules of restricted size. While for the lossy compression scheme a small amount of traffic might observe classification errors, a special indication is returned for traffic that cannot be classified in the rule caching scheme. We develop optimal dynamic-programming algorithms for both problems and describe how to treat the small amount of traffic that cannot be classified. We generalize our solutions for a wide range of classifiers with different similarity metrics. We evaluate their performance on real classifiers and traffic traces and show that in some cases we can reduce a classifier size by orders of magnitude while still classifying almost all traffic correctly.", acknowledgement = ack-nhfb, fjournal = "IEEE\slash ACM Transactions on Networking", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J771", } @Article{Saarikivi:2017:FEC, author = "Olli Saarikivi and Margus Veanes and Todd Mytkowicz and Madan Musuvathi", title = "Fusing effectful comprehensions", journal = j-SIGPLAN, volume = "52", number = "6", pages = "17--32", month = jun, year = "2017", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/3140587.3062362", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sat Sep 16 10:18:17 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "List comprehensions provide a powerful abstraction mechanism for expressing computations over ordered collections of data declaratively without having to use explicit iteration constructs. This paper puts forth effectful comprehensions as an elegant way to describe list comprehensions that incorporate loop-carried state. This is motivated by operations such as compression/decompression and serialization/deserialization that are common in log/data processing pipelines and require loop-carried state when processing an input stream of data. We build on the underlying theory of symbolic transducers to fuse pipelines of effectful comprehensions into a single representation, from which efficient code can be generated. Using background theory reasoning with an SMT solver, our fusion and subsequent reachability based branch elimination algorithms can significantly reduce the complexity of the fused pipelines. Our implementation shows significant speedups over reasonable hand-written code (3.4 $ \times $, on average) and traditionally fused version of the pipeline (2.6 $ \times $, on average) for a variety of examples, including scenarios for extracting fields with regular expressions, processing XML with XPath, and running queries over encoded data.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "PLDI '17 conference proceedings.", } @Article{Salehi:2017:RSR, author = "Mohsen Amini Salehi and Thomas Caldwell and Alejandro Fernandez and Emmanuel Mickiewicz and Eric W. D. Rozier and Saman Zonouz and David Redberg", title = "{RESeED}: a secure regular-expression search tool for storage clouds", journal = j-SPE, volume = "47", number = "9", pages = "1221--1241", month = sep, year = "2017", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.2473", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Mon Sep 4 17:17:42 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", } @Article{Spyropoulos:2017:DBD, author = "Vasilis Spyropoulos and Yannis Kotidis Kotidis", title = "{Digree}: Building A Distributed Graph Processing Engine out of Single-node Graph Database Installations", journal = j-SIGMOD, volume = "46", number = "4", pages = "22--27", month = dec, year = "2017", CODEN = "SRECD8", DOI = "https://doi.org/10.1145/3186549.3186555", ISSN = "0163-5808 (print), 1943-5835 (electronic)", ISSN-L = "0163-5808", bibdate = "Sun Jul 29 14:44:40 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigmod.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "In this work we present Digree, a system prototype that enables distributed execution of graph pattern matching queries in a cloud of interconnected graph databases. We explain how a graph query can be decomposed into independent sub-patterns that are processed in parallel by the distributed independent graph database systems and how the results are finally synthesized at a master node. We experimentally compare a prototype of our system against a popular big data engine and show that Digree provides significantly faster query execution.", acknowledgement = ack-nhfb, fjournal = "SIGMOD Record (ACM Special Interest Group on Management of Data)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J689", } @Article{Subramanian:2017:GSF, author = "Kausik Subramanian and Loris D'Antoni and Aditya Akella", title = "{Genesis}: synthesizing forwarding tables in multi-tenant networks", journal = j-SIGPLAN, volume = "52", number = "1", pages = "572--585", month = jan, year = "2017", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/3093333.3009845", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Sat Sep 16 10:18:14 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Operators in multi-tenant cloud datacenters require support for diverse and complex end-to-end policies, such as, reachability, middlebox traversals, isolation, traffic engineering, and network resource management. We present Genesis, a datacenter network management system which allows policies to be specified in a declarative manner without explicitly programming the network data plane. Genesis tackles the problem of enforcing policies by synthesizing switch forwarding tables. It uses the formal foundations of constraint solving in combination with fast off-the-shelf SMT solvers. To improve synthesis performance, Genesis incorporates a novel search strategy that uses regular expressions to specify properties that leverage the structure of datacenter networks, and a divide-and-conquer synthesis procedure which exploits the structure of policy relationships. We have prototyped Genesis, and conducted experiments with a variety of workloads on real-world topologies to demonstrate its performance.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "POPL '17 conference proceedings.", } @Article{Sulzmann:2017:DBD, author = "Martin Sulzmann and Kenny Zhuo Ming Lu", title = "Derivative-Based Diagnosis of Regular Expression Ambiguity", journal = j-INT-J-FOUND-COMP-SCI, volume = "28", number = "5", pages = "543--??", month = aug, year = "2017", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S0129054117400068", ISSN = "0129-0541", ISSN-L = "0129-0541", bibdate = "Sat Dec 16 08:38:08 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Tang:2017:RDS, author = "Qiu Tang and Lei Jiang and Qiong Dai and Majing Su and Hongtao Xie and Binxing Fang", title = "{RICS-DFA}: a space and time-efficient signature matching algorithm with {Reduced Input Character Set}", journal = j-CCPE, volume = "29", number = "20", pages = "??--??", day = "25", month = oct, year = "2017", CODEN = "CCPEBO", DOI = "https://doi.org/10.1002/cpe.3940", ISSN = "1532-0626 (print), 1532-0634 (electronic)", ISSN-L = "1532-0626", bibdate = "Mon Oct 2 11:26:28 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/ccpe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Concurrency and Computation: Practice and Experience", journal-URL = "http://www.interscience.wiley.com/jpages/1532-0626", } @Article{Tarhio:2017:TBA, author = "Jorma Tarhio and Jan Holub and Emanuele Giaquinta", title = "Technology beats algorithms (in exact string matching)", journal = j-SPE, volume = "47", number = "12", pages = "1877--1885", month = dec, year = "2017", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.2511", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat Dec 23 09:28:59 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", } @Article{Vasiliadis:2017:DIS, author = "Giorgos Vasiliadis and Lazaros Koromilas and Michalis Polychronakis and Sotiris Ioannidis", title = "Design and Implementation of a Stateful Network Packet Processing Framework for {GPUs}", journal = j-IEEE-TRANS-NETWORKING, volume = "25", number = "1", pages = "610--623", month = feb, year = "2017", CODEN = "IEANEP", DOI = "https://doi.org/10.1109/TNET.2016.2597163", ISSN = "1063-6692 (print), 1558-2566 (electronic)", ISSN-L = "1063-6692", bibdate = "Sat Mar 25 08:05:37 MDT 2017", bibsource = "http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/cryptography2010.bib; https://www.math.utah.edu/pub/tex/bib/ieeetransnetworking.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Graphics processing units GPUs are a powerful platform for building the high-speed network traffic processing applications using low-cost hardware. The existing systems tap the massively parallel architecture of GPUs to speed up certain computationally intensive tasks, such as cryptographic operations and pattern matching. However, they still suffer from significant overheads due to critical-path operations that are still being carried out on the CPU, and redundant inter-device data transfers. In this paper, we present GASPP, a programmable network traffic processing framework tailored to modern graphics processors. GASPP integrates optimized GPU-based implementations of a broad range of operations commonly used in the network traffic processing applications, including the first purely GPU-based implementation of network flow tracking and TCP stream reassembly. GASPP also employs novel mechanisms for tackling the control flow irregularities across SIMT threads, and for sharing the memory context between the network interfaces and the GPU. Our evaluation shows that GASPP can achieve multigigabit traffic forwarding rates even for complex and computationally intensive network operations, such as stateful traffic classification, intrusion detection, and packet encryption. Especially when consolidating multiple network applications on the same system, GASPP achieves up to $ 16.2 \times $ speedup compared with different monolithic GPU-based implementations of the same applications.", acknowledgement = ack-nhfb, fjournal = "IEEE\slash ACM Transactions on Networking", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J771", } @Article{Vazou:2017:TTP, author = "Niki Vazou and Leonidas Lampropoulos and Jeff Polakow", title = "A tale of two provers: verifying monoidal string matching in liquid {Haskell} and {Coq}", journal = j-SIGPLAN, volume = "52", number = "10", pages = "63--74", month = oct, year = "2017", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/3156695.3122963", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Fri Dec 1 18:56:13 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We demonstrate for the first time that Liquid Haskell, a refinement type checker for Haskell programs, can be used for arbitrary theorem proving by verifying a parallel, monoidal string matching algorithm implemented in Haskell. We use refinement types to specify correctness properties, Haskell terms to express proofs of these properties, and Liquid Haskell to check the proofs. We evaluate Liquid Haskell as a theorem prover by replicating our 1428 LoC proof in a dependently-typed language (Coq --- 1136 LoC). Finally, we compare both proofs, uncovering the relative advantages and disadvantages of the two provers.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706", remark = "Haskell '17 conference proceedings.", } @InProceedings{Viswam:2017:EBF, author = "A. Viswam and G. Darsan", booktitle = "2017 International Conference on Circuit, Power and Computing Technologies {(ICCPCT)}", title = "An efficient {Bitcoin} fraud detection in social media networks", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "1--4", month = apr, year = "2017", DOI = "https://doi.org/10.1109/ICCPCT.2017.8074262", ISSN = "", bibdate = "Thu Nov 30 15:24:52 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/bitcoin.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, keywords = "anonymous users; bitcoin concept; classifier; Data mining; Databases; efficient bitcoin fraud detection; extraction; Feature extraction; financial data processing; fraud; fraud identities; Friend Relationship User Identification; FRUI algorithm; identical users; Internet; Na{\"\i}ve-Bayes; pattern matching; preprocessing; Privacy; social media network sites; Social network services; social networking (online); social networking site; Training; transaction processing; {Bitcoin}", } @Article{Wang:2017:GSM, author = "Kai Wang and Aftab Hussain and Zhiqiang Zuo and Guoqing Xu and Ardalan Amiri Sani", title = "{Graspan}: a Single-machine Disk-based Graph System for Interprocedural Static Analyses of Large-scale Systems Code", journal = j-COMP-ARCH-NEWS, volume = "45", number = "1", pages = "389--404", month = mar, year = "2017", CODEN = "CANED2", DOI = "https://doi.org/10.1145/3093337.3037744", ISSN = "0163-5964 (print), 1943-5851 (electronic)", ISSN-L = "0163-5964", bibdate = "Mon Jun 5 18:01:58 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigarch.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "There is more than a decade-long history of using static analysis to find bugs in systems such as Linux. Most of the existing static analyses developed for these systems are simple checkers that find bugs based on pattern matching. Despite the presence of many sophisticated interprocedural analyses, few of them have been employed to improve checkers for systems code due to their complex implementations and poor scalability. In this paper, we revisit the scalability problem of interprocedural static analysis from a ``Big Data'' perspective. That is, we turn sophisticated code analysis into Big Data analytics and leverage novel data processing techniques to solve this traditional programming language problem. We develop Graspan, a disk-based parallel graph system that uses an edge-pair centric computation model to compute dynamic transitive closures on very large program graphs. We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations. Moreover, we show that these analyses can be used to augment the existing checkers; these augmented checkers uncovered 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.", acknowledgement = ack-nhfb, fjournal = "ACM SIGARCH Computer Architecture News", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J89", remark = "ASPLOS'17 conference proceedings", } @Article{Zengin:2017:FAH, author = "Salih Zengin and Ece Guran Schmidt", title = "A Fast and Accurate Hardware String Matching Module with {Bloom} Filters", journal = j-IEEE-TRANS-PAR-DIST-SYS, volume = "28", number = "2", pages = "305--317", month = feb, year = "2017", CODEN = "ITDSEO", ISSN = "1045-9219 (print), 1558-2183 (electronic)", ISSN-L = "1045-9219", bibdate = "Thu Jan 19 06:46:47 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranspardistsys.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.computer.org/csdl/trans/td/2017/02/07485864-abs.html", acknowledgement = ack-nhfb, journal-URL = "http://www.computer.org/tpds/archives.htm", } @Article{Zhang:2017:APM, author = "Peng Zhang and Mikhail J. Atallah", title = "On approximate pattern matching with thresholds", journal = j-INFO-PROC-LETT, volume = "123", number = "??", pages = "21--26", month = jul, year = "2017", CODEN = "IFPLAT", DOI = "https://doi.org/10.1016/j.ipl.2017.03.001", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Fri Jun 30 15:40:21 MDT 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0020019017300376", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Zhang:2017:FCP, author = "Meng Zhang", title = "Fast Convolutions of Packed Strings and Pattern Matching with Wildcards", journal = j-INT-J-FOUND-COMP-SCI, volume = "28", number = "3", pages = "289--??", month = apr, year = "2017", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S0129054117500186", ISSN = "0129-0541", ISSN-L = "0129-0541", bibdate = "Sat Dec 16 08:38:07 MST 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Ade-Ibijola:2018:SRE, author = "Abejide Ade-Ibijola", title = "Synthesis of regular expression problems and solutions", journal = j-INT-J-COMPUT-APPL, volume = "42", number = "8", pages = "748--764", year = "2018", CODEN = "IJCAFW", DOI = "https://doi.org/10.1080/1206212X.2018.1482398", ISSN = "1206-212X (print), 1925-7074 (electronic)", ISSN-L = "1206-212X", bibdate = "Fri Apr 12 14:06:55 MDT 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/ijca.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.tandfonline.com/doi/full/10.1080/1206212X.2018.1482398", acknowledgement = ack-nhfb, fjournal = "International Journal of Computers and Applications", journal-URL = "https://www.tandfonline.com/loi/tjca20", } @Article{Al-Sibahi:2018:VHL, author = "Ahmad Salim Al-Sibahi and Thomas P. Jensen and Aleksandar S. Dimovski and Andrzej Wasowski", title = "Verification of high-level transformations with inductive refinement types", journal = j-SIGPLAN, volume = "53", number = "9", pages = "147--160", month = nov, year = "2018", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/3393934.3278125", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Apr 8 13:49:51 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/abs/10.1145/3393934.3278125", abstract = "High-level transformation languages like Rascal include expressive features for manipulating large abstract syntax trees: first-class traversals, expressive pattern matching, backtracking and generalized iterators. We present the design and \ldots{}", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "https://dl.acm.org/loi/sigplan", } @Article{Angstadt:2018:MOS, author = "Kevin Angstadt and Jack Wadden and Vinh Dang and Ted Xie and Dan Kramp and Westley Weimer and Mircea Stan and Kevin Skadron", title = "{MNCaRT}: An Open-Source, Multi-Architecture Automata-Processing Research and Execution Ecosystem", journal = j-IEEE-COMPUT-ARCHIT-LETT, volume = "17", number = "1", pages = "84--87", month = jan # "\slash " # jun, year = "2018", CODEN = "????", DOI = "https://doi.org/10.1109/LCA.2017.2780105", ISSN = "1556-6056 (print), 1556-6064 (electronic)", ISSN-L = "1556-6056", bibdate = "Tue Jun 25 07:41:05 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/ieeecomputarchitlett.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "We present MNCaRT, a comprehensive software ecosystem for the study and use of automata processing across hardware platforms. Tool support includes manipulation of automata, execution of complex machines, high-speed processing of NFAs and DFAs, and compilation of regular expressions. We provide engines to execute automata on CPUs (with VASim and Intel Hyperscan), GPUs (with custom DFA and NFA engines), and FPGAs (with an HDL translator). We also introduce MNRL, an open-source, general-purpose and extensible state machine representation language developed to support MNCaRT. The representation is flexible enough to support traditional finite automata (NFAs, DFAs) while also supporting more complex machines, such as those which propagate multi-bit signals between processing elements. We hope that our ecosystem and representation language stimulates new efforts to develop efficient and specialized automata processing applications.", acknowledgement = ack-nhfb, affiliation = "Angstadt, K (Reprint Author), Univ Michigan, Comp Sci \& Engn Div, Dept Elect Engn \& Comp Sci, Ann Arbor, MI 48109 USA. Angstadt, Kevin; Weimer, Westley, Univ Michigan, Comp Sci \& Engn Div, Dept Elect Engn \& Comp Sci, Ann Arbor, MI 48109 USA. Wadden, Jack; Dang, Vinh; Xie, Ted; Kramp, Dan; Stan, Mircea; Skadron, Kevin, Univ Virginia, Dept Comp Sci, Charlottesville, VA 22904 USA.", author-email = "angstadt@umich.edu wadden@virginia.edu vqd8a@virginia.edu ted.xie@virginia.edu dankramp@virginia.edu weimerw@umich.edu mircea@virginia.edu skadron@virginia.edu", da = "2019-06-20", doc-delivery-number = "FZ6EO", eissn = "1556-6064", fjournal = "IEEE Computer Architecture Letters", funding-acknowledgement = "US National Science Foundation [CCF-1116673, CCF-1629450, CCF-1619123, CNS-1619098]; AFRL [FA8750-15-2-0075]; Jefferson Scholars Foundation; Achievement Rewards for College Scientists (ARCS) Foundation; Xilinx; C-FAR, one of six centers of STARnet; Semiconductor Research Corporation program - MARCO; DARPA", funding-text = "This work was supported in part by grants from the US National Science Foundation (CCF-1116673, CCF-1629450, CCF-1619123, CNS-1619098), AFRL (FA8750-15-2-0075), Jefferson Scholars Foundation, Achievement Rewards for College Scientists (ARCS) Foundation, a grant from Xilinx, and support from C-FAR, one of six centers of STARnet, a Semiconductor Research Corporation program sponsored by MARCO and DARPA. Any opinions, findings and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of AFRL.", journal-iso = "IEEE Comput. Archit. Lett.", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=10208", keywords = "accelerator architectures; Automata; Benchmark testing; complex machines; comprehensive software ecosystem; DFA; Ecosystems; efficient automata processing applications; Engines; extensible state machine representation language; Field programmable gate arrays; field programmable gate arrays; finite automata; finite state machines; formal languages; hardware platforms; high-speed processing; Intel Hyperscan; MNCaRT; NFA engines; open source software; Open source software; open source software; open-source-multiarchitecture automata-processing research; software tools; specialized automata processing applications; Tools; traditional finite automata", number-of-cited-references = "21", ORCID-numbers = "Angstadt, Kevin/0000-0002-0104-5257", research-areas = "Computer Science", researcherid-numbers = "Stan, Mircea/L-6219-2019", times-cited = "2", unique-id = "Angstadt:2018:MOS", web-of-science-categories = "Computer Science, Hardware \& Architecture", } @Article{Arenas:2018:ELQ, author = "Marcelo Arenas and Georg Gottlob and Andreas Pieris", title = "Expressive Languages for Querying the {Semantic Web}", journal = j-TODS, volume = "43", number = "3", pages = "13:1--13:??", month = nov, year = "2018", CODEN = "ATDSD3", DOI = "https://doi.org/10.1145/3238304", ISSN = "0362-5915 (print), 1557-4644 (electronic)", ISSN-L = "0362-5915", bibdate = "Tue Jan 29 17:36:13 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tods.bib", abstract = "The problem of querying RDF data is a central issue for the development of the Semantic Web. The query language SPARQL has become the standard language for querying RDF since its W3C standardization in 2008. However, the 2008 version of this language missed some important functionalities: reasoning capabilities to deal with RDFS and OWL vocabularies, navigational capabilities to exploit the graph structure of RDF data, and a general form of recursion much needed to express some natural queries. To overcome these limitations, a new version of SPARQL, called SPARQL 1.1, was released in 2013, which includes entailment regimes for RDFS and OWL vocabularies, and a mechanism to express navigation patterns through regular expressions. Unfortunately, there are a number of useful navigation patterns that cannot be expressed in SPARQL 1.1, and the language lacks a general mechanism to express recursive queries. To the best of our knowledge, no efficient RDF query language that combines the above functionalities is known. It is the aim of this work to fill this gap. To this end, we focus on a core fragment of the OWL 2 QL profile of OWL 2 and show that every SPARQL query enriched with the above features can be naturally translated into a query expressed in a language that is based on an extension of Datalog, which allows for value invention and stratified negation. However, the query evaluation problem for this language is highly intractable, which is not surprising since it is expressive enough to encode some inherently hard queries. We identify a natural fragment of it, and we show it to be tractable and powerful enough to define SPARQL queries enhanced with the desired functionalities.", acknowledgement = ack-nhfb, ajournal = "ACM Trans. Database Syst.", articleno = "13", fjournal = "ACM Transactions on Database Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J777", } @Article{Baek:2018:EGP, author = "Sun Geol Baek and Dong Hyun Kang and Sungkil Lee and Young Ik Eom", title = "Efficient graph pattern matching framework for network-based in-vehicle fault detection", journal = j-J-SYST-SOFTW, volume = "140", number = "??", pages = "17--31", month = jun, year = "2018", CODEN = "JSSODM", DOI = "https://doi.org/10.1016/j.jss.2018.02.050", ISSN = "0164-1212 (print), 1873-1228 (electronic)", ISSN-L = "0164-1212", bibdate = "Fri Mar 30 15:06:39 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/jsystsoftw.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0164121218300347", acknowledgement = ack-nhfb, fjournal = "Journal of Systems and Software", journal-URL = "http://www.sciencedirect.com/science/journal/01641212", } @Article{Barton:2018:FAC, author = "Carl Barton and Chang Liu and Solon P. Pissis", title = "Fast Average-Case Pattern Matching on Weighted Sequences", journal = j-INT-J-FOUND-COMP-SCI, volume = "29", number = "8", pages = "1331--1343", month = dec, year = "2018", DOI = "https://doi.org/10.1142/S0129054118430062", ISSN = "0129-0541", ISSN-L = "0129-0541", bibdate = "Thu Dec 27 05:21:34 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "A weighted string is a string in which a set of letters may occur at each position with respective occurrence probabilities. Weighted strings, also known as position weight matrices, weighted sequences or uncertain sequences, naturally arise in many contexts. In this paper, we study the problem of weighted string matching with a special focus on average-case analysis. Given a weighted pattern string $x$ of length $m$, a text string $y$ of length $ n > m$, both on a constant-sized alphabet of size $ \sigma $, and a cumulative weight threshold $ 1 / z$, defined as the minimal probability of occurrence of factors in a weighted string, we present an on-line algorithm requiring average-case search time $ o(n)$ for pattern matching for weight ratio $ z / m < \min \{ 1 / (2 \log z + 1 / z), \log \sigma / (\log z (\log m + \log \log \sigma)) \} $. For a pattern string $x$ of length $m$, a weighted text string $y$ of length $ n > m$, both on a constant-sized alphabet, and a cumulative weight threshold $ 1 / z$, we present an on-line algorithm requiring average-case search time $ o(n)$ for the same weight ratio. The importance of these algorithms lies on the fact that, for these ratios, they can work in sublinear search time in the size of the input text, and in linear preprocessing costs in the size of the pattern.", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Bontupalli:2018:EMB, author = "Venkataramesh Bontupalli and Chris Yakopcic and Raqibul Hasan and Tarek M. Taha", title = "Efficient Memristor-Based Architecture for Intrusion Detection and High-Speed Packet Classification", journal = j-JETC, volume = "14", number = "4", pages = "41:1--41:??", month = dec, year = "2018", CODEN = "????", DOI = "https://doi.org/10.1145/3264819", ISSN = "1550-4832", bibdate = "Sat Feb 23 06:37:01 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jetc.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/ft_gateway.cfm?id=3264819", abstract = "Deep packet inspection (DPI) is a critical component to prevent intrusion detection. This requires a detailed analysis of each network packet header and body. Although this is often done on dedicated high-power servers in most networked systems, mobile systems could potentially be vulnerable to attack if utilized on an unprotected network. In this case, having DPI hardware on the mobile system would be highly beneficial. Unfortunately, DPI hardware is generally area and power consuming, making its implementation difficult in mobile systems. We developed a memristor crossbar-based approach, inspired by memristor crossbar neuromorphic circuits, for a low-power, low-area, and high-throughput DPI system that examines both the header and body of a packet. Two key types of circuits are presented: static pattern matching and regular expression circuits. This system is able to reduce execution time and power consumption due to its high-density grid and massive parallelism. Independent searches are performed using low-power memristor crossbar arrays giving rise to a throughput of 160Gbps with no loss in the classification accuracy.", acknowledgement = ack-nhfb, articleno = "41", fjournal = "ACM Journal on Emerging Technologies in Computing Systems (JETC)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J967", } @Article{C:2018:SSS, author = "Paul Suganthan G. C. and Adel Ardalan and AnHai Doan and Aditya Akella", title = "{Smurf}: self-service string matching using random forests", journal = j-PROC-VLDB-ENDOWMENT, volume = "12", number = "3", pages = "278--291", month = nov, year = "2018", CODEN = "????", DOI = "https://doi.org/10.14778/3291264.3291272", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Fri Jan 18 05:54:04 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "We argue that more attention should be devoted to developing self-service string matching (SM) solutions, which lay users can easily use. We show that Falcon, a self-service entity matching (EM) solution, can be applied to SM and is more accurate than current self-service SM solutions. However, Falcon often asks lay users to label many string pairs (e.g., 770-1050 in our experiments). This is expensive, can significantly compound labeling mistakes, and takes a long time. We developed Smurf, a self-service SM solution that reduces the labeling effort by 43-76\%, yet achieves comparable F$_1$ accuracy. The key to make Smurf possible is a novel solution to efficiently execute a random forest (that Smurf learns via active learning with the lay user) over two sets of strings. This solution uses RDBMS-style plan optimization to reuse computations across the trees in the forest. As such, Smurf significantly advances self-service SM and raises interesting future directions for self-service EM and scalable random forest execution over structured data.", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Cappers:2018:EME, author = "B. C. M. Cappers and J. J. van Wijk", title = "Exploring Multivariate Event Sequences Using Rules, Aggregations, and Selections", journal = j-IEEE-TRANS-VIS-COMPUT-GRAPH, volume = "24", number = "1", pages = "532--541", month = jan, year = "2018", CODEN = "ITVGEA", DOI = "https://doi.org/10.1109/TVCG.2017.2745278", ISSN = "1077-2626 (print), 1941-0506 (electronic), 2160-9306", ISSN-L = "1077-2626", bibdate = "Thu Dec 7 06:22:32 2017", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetransviscomputgraph.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Visualization and Computer Graphics", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2945", keywords = "Communications technology; Data mining; Data visualization; Encoding; Event Visualization; Hospitals; Interaction; Multivariate Events; Regular Expressions; Sequence Alignment; Sequences; Visualization", } @Article{Carver:2018:SME, author = "J. C. Carver and A. Serebrenik", title = "Software Maintenance and Evolution and Automated Software Engineering", journal = j-IEEE-SOFTWARE, volume = "35", number = "2", pages = "102--104", month = mar # "\slash " # apr, year = "2018", CODEN = "IESOEG", DOI = "https://doi.org/10.1109/MS.2018.1661318", ISSN = "0740-7459 (print), 1937-4194 (electronic)", ISSN-L = "0740-7459", bibdate = "Fri Aug 2 09:25:48 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeesoft.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Software", journal-URL = "http://www.computer.org/portal/web/csdl/magazines/software", keywords = "32nd International Conference on Automated Software Engineering; 33rd International Conference on Software Maintenance and Evolution; ASE 17; automated software engineering; flaky tests; ICSME 17; Practitioners Digest; QA bots; regexes; regular expressions; SATD; self-admitted technical debt; software development; software engineering; software evolution; software maintenance; technical debt", } @Article{Chan:2018:SSR, author = "Timothy M. Chan and J. Ian Munro and Venkatesh Raman", title = "Selection and Sorting in the {``Restore''} Model", journal = j-TALG, volume = "14", number = "2", pages = "11:1--11:??", month = jun, year = "2018", CODEN = "????", DOI = "https://doi.org/10.1145/3168005", ISSN = "1549-6325 (print), 1549-6333 (electronic)", ISSN-L = "1549-6325", bibdate = "Tue Jun 5 06:47:03 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/talg.bib", abstract = "We consider the classical selection and sorting problems in a model where the initial permutation of the input has to be restored after completing the computation. Such algorithms are useful for designing space-efficient algorithms, when one encounters subproblems that have to be solved by subroutines. It is important that these subroutines leave the array in its original state after they finish so that the computation can be properly resumed. Algorithms in this model can also be relevant for saving communication time, in case the data is distributed among several machines and would need to be copied to further machines for execution of the subroutine. Although the requirement of the restoration is stringent compared to the classical versions of the problems, this model is more relaxed than a read-only memory where the input elements are not allowed to be moved within the input array. We first show that for a sequence of n integers, selection (finding the median or more generally the k -th smallest element for a given k ) can be done in O ( n ) time using O (lg n ) words$^1$ of extra space in this model. In contrast, no linear-time selection algorithm is known that uses polylogarithmic space in the read-only memory model. For sorting n integers in this model, we first present an O ( n lg n )-time algorithm using O (lg n ) words of extra space that outputs (in a write only tape) the given sequence in sorted order while restoring the order of the original input in the input tape. When the universe size U is polynomial in n, we give a faster O ( n )-time algorithm (analogous to radix sort) that uses O ( n$^{ \epsilon }$ ) words of extra space for an arbitrarily small constant \epsilon {$>$} 0. More generally, we show how to match the time bound of any word-RAM integer sorting algorithms using O ( n$^{ \epsilon }$ ) words of extra space. In sharp contrast, there is an \Omega ( n$^2$ / S )-time lower bound for integer sorting using O ( S ) bits of space in the read-only memory model. Extension of our results to arbitrary input types beyond integers is not possible: for ``indivisible'' input elements, we can prove the same \Omega ( n$^2$ / S ) lower bound for sorting in our model. We also describe space-efficient algorithms to count the number of inversions in a given sequence in this model. En route, we develop linear-time in-place algorithms to extract leading bits of the input array and to compress and decompress strings with low entropy; these techniques may be of independent interest.", acknowledgement = ack-nhfb, articleno = "11", fjournal = "ACM Transactions on Algorithms (TALG)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J982", } @Article{Chen:2018:SMMa, author = "Yangjun Chen and Yujia Wu", title = "On the string matching with $k$ mismatches", journal = j-THEOR-COMP-SCI, volume = "726", number = "??", pages = "5--29", day = "23", month = may, year = "2018", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2018.02.001", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Fri Apr 13 14:01:38 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2015.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397518300781", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Chen:2018:SMMb, author = "Yangjun Chen and Yujia Wu", title = "On the string matching with $k$ mismatches", journal = j-THEOR-COMP-SCI, volume = "726", number = "??", pages = "5--29", day = "23", month = may, year = "2018", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2018.02.001", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Fri Apr 13 14:01:38 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2015.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397518300781", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Cho:2018:TAB, author = "Sukhyeun Cho and Joong Chae Na and Jeong Seop Sim", title = "An {$ O(n^2 \log m) $}-time algorithm for the boxed-mesh permutation pattern matching problem", journal = j-THEOR-COMP-SCI, volume = "710", number = "??", pages = "35--43", day = "1", month = feb, year = "2018", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2017.02.022", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Wed Feb 7 06:04:15 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2015.bib", URL = "http://www.sciencedirect.com/science/article/pii/S030439751730155X", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Cockx:2018:EDC, author = "Jesper Cockx and Andreas Abel", title = "Elaborating dependent (co)pattern matching", journal = j-PACMPL, volume = "2", number = "ICFP", pages = "75:1--75:30", month = jul, year = "2018", DOI = "https://doi.org/10.1145/3236770", bibdate = "Fri Aug 7 17:44:42 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/abs/10.1145/3236770", abstract = "In a dependently typed language, we can guarantee correctness of our programs by providing formal proofs. To check them, the typechecker elaborates these programs and proofs into a low level core language. However, this core language is by nature hard \ldots{}", acknowledgement = ack-nhfb, articleno = "75", fjournal = "Proceedings of the ACM on Programming Languages", journal-URL = "https://pacmpl.acm.org/", } @Article{Cockx:2018:PRU, author = "Jesper Cockx and Dominique Devriese", title = "Proof-relevant unification: Dependent pattern matching with only the axioms of your type theory", journal = j-J-FUNCT-PROGRAM, volume = "28", number = "", pages = "e12", month = "????", year = "2018", CODEN = "JFPRES", DOI = "https://doi.org/10.1017/S095679681800014X", ISSN = "0956-7968 (print), 1469-7653 (electronic)", ISSN-L = "0956-7968", bibdate = "Mon Jul 22 09:36:10 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jfunctprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.cambridge.org/core/journals/journal-of-functional-programming/article/proofrelevant-unification-dependent-pattern-matching-with-only-the-axioms-of-your-type-theory/E54D56DC3F5D5361CCDECA824030C38E", acknowledgement = ack-nhfb, ajournal = "J. Funct. Program.", fjournal = "Journal of Functional Programming", journal-URL = "https://www.cambridge.org/core/journals/journal-of-functional-programming", onlinedate = "10 May 2018", } @Article{Czerwinski:2018:MTP, author = "Wojciech Czerwi{\'n}ski and Wim Martens and Matthias Niewerth and Pawel Parys", title = "Minimization of Tree Patterns", journal = j-J-ACM, volume = "65", number = "4", pages = "26:1--26:??", month = aug, year = "2018", CODEN = "JACOAH", DOI = "https://doi.org/10.1145/3180281", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Thu Nov 29 14:39:20 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Many of today's graph query languages are based on graph pattern matching. We investigate optimization of tree-shaped patterns that have transitive closure operators. Such patterns not only appear in the context of graph databases but also were originally studied for querying tree-structured data, where they can perform child, descendant, node label, and wildcard tests. The minimization problem aims at reducing the number of nodes in patterns and goes back to the early 2000s. We provide an example showing that, in contrast to earlier claims, tree patterns cannot be minimized by deleting nodes only. The example resolves the M $ =^? $ NR problem, which asks if a tree pattern is minimal if and only if it is nonredundant. The example can be adapted to prove that minimization is $ \Sigma^P_2$-complete, which resolves another question that was open since the early research on the problem. The latter result shows that, unless NP = $ \Pi^P_2$, more general approaches for minimizing tree patterns are also bound to fail in general.", acknowledgement = ack-nhfb, articleno = "26", fjournal = "Journal of the ACM", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", remark = "Distributed Computing, Cryptography, Distributed Computing, Cryptography, Coding Theory, Automata Theory, Complexity Theory, Programming Languages, Algorithms, Invited Paper Foreword and Databases.", } @Article{Darivandpour:2018:ESP, author = "Javad Darivandpour and Mikhail J. Atallah", title = "Efficient and secure pattern matching with wildcards using lightweight cryptography", journal = j-COMPUT-SECUR, volume = "77", number = "??", pages = "666--674", month = aug, year = "2018", CODEN = "CPSEDU", ISSN = "0167-4048 (print), 1872-6208 (electronic)", ISSN-L = "0167-4048", bibdate = "Mon Sep 23 09:46:55 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/computsecur2010.bib; https://www.math.utah.edu/pub/tex/bib/cryptography2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.sciencedirect.com/science/article/pii/S016740481830021X", acknowledgement = ack-nhfb, fjournal = "Computers \& Security", journal-URL = "https://www.sciencedirect.com/science/journal/01674048", } @Article{Faust:2018:OPM, author = "Sebastian Faust and Carmit Hazay and Daniele Venturi", title = "Outsourced pattern matching", journal = j-INT-J-INFO-SEC, volume = "17", number = "3", pages = "327--346", month = jun, year = "2018", CODEN = "????", DOI = "https://doi.org/10.1007/s10207-017-0374-0", ISSN = "1615-5262 (print), 1615-5270 (electronic)", ISSN-L = "1615-5262", bibdate = "Mon Apr 16 12:27:34 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/intjinfosec.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/s10207-017-0374-0", acknowledgement = ack-nhfb, fjournal = "International Journal of Information Security", journal-URL = "https://link.springer.com/journal/10207", } @Article{Ganardi:2018:CEF, author = "Moses Ganardi and Danny Hucke and Daniel K{\"o}nig and Markus Lohrey", title = "Circuits and Expressions over Finite Semirings", journal = j-TOCT, volume = "10", number = "4", pages = "15:1--15:??", month = oct, year = "2018", CODEN = "????", DOI = "https://doi.org/10.1145/3241375", ISSN = "1942-3454 (print), 1942-3462 (electronic)", ISSN-L = "1942-3454", bibdate = "Wed Oct 17 17:24:50 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/toct.bib", abstract = "The computational complexity of the circuit and expression evaluation problem for finite semirings is considered, where semirings are not assumed to have an additive or a multiplicative identity. The following dichotomy is shown: If a finite semiring is such that (i) the multiplicative semigroup is solvable and (ii) it does not contain a subsemiring with an additive identity 0 and a multiplicative identity 1 /= 0, then the circuit evaluation problem is in DET \subseteq NC$^2$, and the expression evaluation problem for the semiring is in TC$^0$. For all other finite semirings, the circuit evaluation problem is P-complete and the expression evaluation problem is NC$^1$ -complete. As an application, we determine the complexity of intersection non-emptiness problems for given context-free grammars (regular expressions) with a fixed regular language.", acknowledgement = ack-nhfb, ajournal = "ACM Trans. Comput. Theory", articleno = "15", fjournal = "ACM Transactions on Computation Theory", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1190", } @Article{Gronlund:2018:TDL, author = "Allan Gr{\o}nlund and Seth Pettie", title = "Threesomes, Degenerates, and Love Triangles", journal = j-J-ACM, volume = "65", number = "4", pages = "22:1--22:??", month = aug, year = "2018", CODEN = "JACOAH", DOI = "https://doi.org/10.1145/3185378", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Thu Nov 29 14:39:20 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The 3SUM problem is to decide, given a set of n real numbers, whether any three sum to zero. It is widely conjectured that a trivial $ O(n^2)$-time algorithm is optimal on the Real RAM, and optimal even in the nonuniform linear decision tree model. Over the years the consequences of this conjecture have been revealed. This 3SUM conjecture implies $ \Omega (n^2)$ lower bounds on numerous problems in computational geometry, and a variant of the conjecture for integer inputs implies strong lower bounds on triangle enumeration, dynamic graph algorithms, and string matching data structures. In this article, we refute the conjecture that 3SUM requires $ \Omega (n^2)$ in the Real RAM and refute more forcefully the conjecture that its complexity is $ \Omega (n^2)$ in the linear decision tree model. In particular, we prove that the decision tree complexity of 3SUM is $ O(n^{3 / 2} \sqrt \log n)$ and give two subquadratic 3SUM algorithms, a deterministic one running in $ O(n^2 / (\log n / \log \log n)^{2 / 3})$ time and a randomized one running in $ O(n^2 (\log \log n)^2 / \log n)$ time with high probability. Our results lead directly to improved bounds on the decision tree complexity of $k$ -variate linear degeneracy testing for all odd $ k \geq 3$. Finally, we give a subcubic algorithm for a generalization of the (min, +)-product over real-valued matrices and apply it to the problem of finding zero-weight triangles in edge-weighted graphs. We give a depth-$ O(n^{5 / 2} \sqrt \log n)$ decision tree for this problem, as well as a deterministic algorithm running in time $ O(n^3 (\log \log n)^2 / \log n)$.", acknowledgement = ack-nhfb, articleno = "22", fjournal = "Journal of the ACM", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J401", remark = "Distributed Computing, Cryptography, Distributed Computing, Cryptography, Coding Theory, Automata Theory, Complexity Theory, Programming Languages, Algorithms, Invited Paper Foreword and Databases.", } @Article{Ho:2018:CNA, author = "ThienLuan Ho and Seung-Rohk Oh and HyunJin Kim", title = "Correction to: {New algorithms for fixed-length approximate string matching and approximate circular string matching under the Hamming distance}", journal = j-J-SUPERCOMPUTING, volume = "74", number = "5", pages = "1835--1835", month = may, year = "2018", CODEN = "JOSUED", DOI = "https://doi.org/10.1007/s11227-018-2324-7", ISSN = "0920-8542 (print), 1573-0484 (electronic)", ISSN-L = "0920-8542", bibdate = "Thu Oct 10 15:31:12 MDT 2019", bibsource = "http://link.springer.com/journal/11227/74/5; https://www.math.utah.edu/pub/tex/bib/jsuper.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "See \cite{Ho:2018:NAF}.", URL = "http://link.springer.com/content/pdf/10.1007/s11227-018-2324-7.pdf", acknowledgement = ack-nhfb, fjournal = "The Journal of Supercomputing", journal-URL = "http://link.springer.com/journal/11227", } @Article{Ho:2018:NAF, author = "ThienLuan Ho and Seung-Rohk Oh and HyunJin Kim", title = "New algorithms for fixed-length approximate string matching and approximate circular string matching under the {Hamming} distance", journal = j-J-SUPERCOMPUTING, volume = "74", number = "5", pages = "1815--1834", month = may, year = "2018", CODEN = "JOSUED", DOI = "https://doi.org/10.1007/s11227-017-2192-6", ISSN = "0920-8542 (print), 1573-0484 (electronic)", ISSN-L = "0920-8542", bibdate = "Thu Oct 10 15:31:12 MDT 2019", bibsource = "http://link.springer.com/journal/11227/74/5; https://www.math.utah.edu/pub/tex/bib/jsuper.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "See correction \cite{Ho:2018:CNA}.", acknowledgement = ack-nhfb, fjournal = "The Journal of Supercomputing", journal-URL = "http://link.springer.com/journal/11227", } @Article{Jung:2018:EEK, author = "Sangkeun Jung and Changki Lee and Hyunsun Hwang", title = "End-to-End {Korean} Part-of-Speech Tagging Using Copying Mechanism", journal = j-TALLIP, volume = "17", number = "3", pages = "19:1--19:??", month = may, year = "2018", CODEN = "????", DOI = "https://doi.org/10.1145/3178458", ISSN = "2375-4699 (print), 2375-4702 (electronic)", ISSN-L = "2375-4699", bibdate = "Wed Oct 2 10:34:31 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tallip.bib", abstract = "In this article, we introduce a novel neural architecture for the end-to-end Korean Part-of-Speech (POS) tagging problem. To address the problem, we extend the present recurrent neural network-based sequence-to-sequence models to deal with the key challenges in this task: rare word generation and POS tagging. To overcome these issues, Input-Feeding and Copying mechanism are adopted. Although our approach does not require any manual features or preprocessed pattern matching dictionaries, our best single model achieves an F-score of 97.08. This is competitive with the current state-of-the-art model (F-score 98.03), which requires extensive manual feature processing.", acknowledgement = ack-nhfb, ajournal = "ACM Trans. Asian Low-Resour. Lang. Inf. Process.", articleno = "19", fjournal = "ACM Transactions on Asian and Low-Resource Language Information Processing (TALLIP)", journal-URL = "https://dl.acm.org/loi/tallip", } @Article{Koide:2018:EIQ, author = "Satoshi Koide and Yukihiro Tadokoro and Takayoshi Yoshimura and Chuan Xiao and Yoshiharu Ishikawa", title = "Enhanced Indexing and Querying of Trajectories in Road Networks via String Algorithms", journal = j-TSAS, volume = "4", number = "1", pages = "3:1--3:??", month = jun, year = "2018", CODEN = "????", DOI = "https://doi.org/10.1145/3200200", ISSN = "2374-0353", bibdate = "Fri Dec 6 16:16:49 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tsas.bib", URL = "https://dl.acm.org/citation.cfm?id=3200200", abstract = "In this article, we propose a novel indexing and querying method for trajectories constrained in a road network. We aim to provide efficient algorithms for various types of spatiotemporal queries that involve routing in road networks, such as (1) finding moving objects that have traveled along a given path during a given time interval, (2) extracting all paths traveled after a given spatiotemporal context, and (3) enumerating all paths between two locations traveled during a certain time interval. Unlike the existing methods in spatial database research, we employ indexing techniques and algorithms from string processing. This idea is based on the fact that we can represent spatial paths as strings, because trajectories in a network are represented as sequences of road segment IDs. The proposed SNT-index (suffix-array-based network-constrained trajectory index) introduces two novel concepts to trajectory indexing. The first is FM-index, which is a compact in-memory data structure for pattern matching. The second is an inverse suffix array, which allows the FM-index to be integrated with the temporal information stored in a forest of B + -trees. Thanks to these concepts, we can reduce the number of B + -tree accesses required by the query processing algorithms to a constant number, something that cannot be achieved with existing methods. Although an FM-index is essentially a static index, we also propose a practical method of appending new data to the index. Finally, experiments show that our method can process the target queries for more than 1 million trajectories in a few tens of milliseconds, which is significantly faster than what the baseline algorithms can achieve without string algorithms.", acknowledgement = ack-nhfb, articleno = "3", fjournal = "ACM Transactions on Spatial Algorithms and Systems (TSAS)", journal-URL = "http://dl.acm.org/pub.cfm?id=J1514", } @Article{Krebber:2018:PMP, author = "Manuel Krebber and Henrik Barthels", title = "\pkg{MatchPy}: Pattern Matching in {Python}", journal = j-J-OPEN-SOURCE-SOFT, volume = "3", number = "26", pages = "670:1--670:2", month = jun, year = "2018", CODEN = "????", DOI = "https://doi.org/10.21105/joss.00670", ISSN = "2475-9066", ISSN-L = "2475-9066", bibdate = "Thu Sep 13 08:09:35 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/joss.bib; https://www.math.utah.edu/pub/tex/bib/python.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://joss.theoj.org/papers/10.21105/joss.00670", acknowledgement = ack-nhfb, fjournal = "Journal of Open Source Software", journal-URL = "http://joss.theoj.org/; https://github.com/openjournals/joss-papers/", onlinedate = "21 June 2018", ORCID-numbers = "Manuel Krebber / 0000-0001-5038-1102; Henrik Barthels / 0000-0001-6744-3605", } @Article{Li:2018:FWI, author = "Youyuan Li and Yingping Zhuang", title = "{fmpRPMF}: a {Web} Implementation for Protein Identification by Robust Peptide Mass Fingerprinting", journal = j-TCBB, volume = "15", number = "5", pages = "1728--1731", month = sep, year = "2018", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2017.2762682", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Thu Nov 8 06:18:46 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "Peptide mass fingerprinting continues to play an important role in current proteomics studies based on its good performance in sample throughput, specificity for single peptides, and insensitivity to unexpected post-translational modifications as compared with MSn. We previously proposed and evaluated the use of feature-matching pattern-based support vector machines SVMs for robust protein identification. This approach is now facilitated with an updated web server fmpRPMF incorporated with several newly developed or improved modules and workflows allowing identification of proteins from MS1 data. Development of the latest fmpRPMF web tool successfully provides a rapid and effective strategy for narrowing the range of candidate proteins. First, a mass-scanning procedure screens all candidate proteins matching the theoretical peptide mass at least three times, thereby reducing the number of candidate proteins from tens of thousands to thousands. Second, a crude ranking procedure screens true-positive proteins among the top six ranked times of candidates based on 17 selected features to reduce the number used for SVM prediction from thousands to tens. The improvement of forecasting efficiency met the requirements of multi-user and multi-task identification for web services. The updated fmpRPMF server is freely available at http://bioinformatics.datawisdom.net/fmp.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", } @Article{Libkin:2018:TNA, author = "Leonid Libkin and Juan L. Reutter and Adri{\'a}n Soto and Domagoj Vrgoc", title = "{TriAL}: a Navigational Algebra for {RDF} Triplestores", journal = j-TODS, volume = "43", number = "1", pages = "5:1--5:??", month = apr, year = "2018", CODEN = "ATDSD3", DOI = "https://doi.org/10.1145/3154385", ISSN = "0362-5915 (print), 1557-4644 (electronic)", ISSN-L = "0362-5915", bibdate = "Wed Apr 11 18:02:25 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tods.bib", abstract = "Navigational queries over RDF data are viewed as one of the main applications of graph query languages, and yet the standard model of graph databases --- essentially labeled graphs --- is different from the triples-based model of RDF. While encodings of RDF databases into graph data exist, we show that even the most natural ones are bound to lose some functionality when used in conjunction with graph query languages. The solution is to work directly with triples, but then many properties taken for granted in the graph database context (e.g., reachability) lose their natural meaning. Our goal is to introduce languages that work directly over triples and are closed, i.e., they produce sets of triples, rather than graphs. Our basic language is called TriAL, or Triple Algebra: it guarantees closure properties by replacing the product with a family of join operations. We extend TriAL with recursion and explain why such an extension is more intricate for triples than for graphs. We present a declarative language, namely a fragment of datalog, capturing the recursive algebra. For both languages, the combined complexity of query evaluation is given by low-degree polynomials. We compare our language with previously studied graph query languages such as adaptations of XPath, regular path queries, and nested regular expressions; many of these languages are subsumed by the recursive triple algebra. We also provide an implementation of recursive TriAL on top of a relational query engine, and we show its usefulness by running a wide array of navigational queries over real-world RDF data, while at the same time testing how our implementation compares to existing RDF systems.", acknowledgement = ack-nhfb, articleno = "5", fjournal = "ACM Transactions on Database Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J777", } @Article{Mignot:2018:EAC, author = "Ludovic Mignot and Nadia Ouali-Sebti and Djelloul Ziadi", title = "An Efficient Algorithm for the Construction of the Equation Tree Automaton", journal = j-INT-J-FOUND-COMP-SCI, volume = "29", number = "6", pages = "951--978", month = sep, year = "2018", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S0129054118500156", ISSN = "0129-0541", ISSN-L = "0129-0541", bibdate = "Mon Nov 12 14:26:47 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.worldscientific.com/doi/10.1142/S0129054118500156", abstract = "Champarnaud et al., and Khorsi et al. show how to compute the equation automaton of a word regular expression $E$ via the C-continuations. Kuske and Meinecke extend the computation of the equation automaton to a regular tree expression $E$ over a ranked alphabet $ \Sigma $ and produce a $ O(R \cdot |E|^2)$ time and space complexity algorithm, where R is the maximal rank of a symbol occurring in $ \Sigma $ and $ |E|$ is the size of the syntax tree of $E$. In this paper, we give a full description of an algorithm based on the acyclic minimization of Revuz in order to compute the pseudo-continuations from the C-continuations. Our algorithm, which is performed in $ O(|Q| \cdot |E|)$ time and space complexity, where $ |Q|$ is the number of states of the produced automaton, is more efficient than the one obtained by Kuske and Meinecke since $ |Q| \lessequal |E|$. Moreover, our algorithm is an output-sensitive algorithm, i.e. the complexity of which is based on the size of the produced automaton.", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Moataz:2018:SSE, author = "Tarik Moataz and Indrajit Ray and Indrakshi Ray and Abdullatif Shikfa and Fr{\'e}d{\'e}ric Cuppens and Nora Cuppens", title = "Substring search over encrypted data", journal = j-J-COMP-SECUR, volume = "26", number = "1", pages = "1--30", month = "????", year = "2018", CODEN = "JCSIET", DOI = "https://doi.org/10.3233/JCS-14652", ISSN = "0926-227X (print), 1875-8924 (electronic)", ISSN-L = "0926-227X", bibdate = "Mon Sep 23 05:47:14 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/cryptography2010.bib; https://www.math.utah.edu/pub/tex/bib/jcompsecur.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, journal-URL = "http://content.iospress.com/journals/journal-of-computer-security", } @Article{Narayan:2018:MTR, author = "Apurva Narayan and Greta Cutulenco and Yogi Joshi and Sebastian Fischmeister", title = "Mining Timed Regular Specifications from System Traces", journal = j-TECS, volume = "17", number = "2", pages = "46:1--46:??", month = apr, year = "2018", CODEN = "????", DOI = "https://doi.org/10.1145/3147660", ISSN = "1539-9087 (print), 1558-3465 (electronic)", ISSN-L = "1539-9087", bibdate = "Thu Oct 17 18:16:34 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tecs.bib", abstract = "Temporal properties define the order of occurrence and timing constraints on event occurrence. Such specifications are important for safety-critical real-time systems. We propose a framework for automatically mining temporal properties that are in the form of timed regular expressions (TREs) from system traces. Using an abstract structure of the property, the framework constructs a finite state machine to serve as an acceptor. We analytically derive speedup for the fragment and confirm the speedup using empirical validation with synthetic traces. The framework is evaluated on industrial-strength safety-critical real-time applications using traces with more than 1 million entries.", acknowledgement = ack-nhfb, ajournal = "ACM Trans. Embed. Comput. Syst.", articleno = "46", fjournal = "ACM Transactions on Embedded Computing Systems", journal-URL = "https://dl.acm.org/loi/tecs", } @Article{Ng:2018:SCN, author = "Timothy Ng and David Rappaport and Kai Salomaa", title = "State Complexity of Neighbourhoods and Approximate Pattern Matching", journal = j-INT-J-FOUND-COMP-SCI, volume = "29", number = "2", pages = "315--??", month = feb, year = "2018", CODEN = "IFCSEN", DOI = "https://doi.org/10.1142/S0129054118400099", ISSN = "0129-0541", ISSN-L = "0129-0541", bibdate = "Thu Apr 12 06:33:34 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", } @Article{Padhi:2018:FFS, author = "Saswat Padhi and Prateek Jain and Daniel Perelman and Oleksandr Polozov and Sumit Gulwani and Todd Millstein", title = "{FlashProfile}: a framework for synthesizing data profiles", journal = j-PACMPL, volume = "2", number = "OOPSLA", pages = "150:1--150:28", month = oct, year = "2018", DOI = "https://doi.org/10.1145/3276520", bibdate = "Sat Aug 8 07:56:30 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/abs/10.1145/3276520", abstract = "We address the problem of learning a syntactic profile for a collection of strings, i.e. a set of regex-like patterns that succinctly describe the syntactic variations in the strings. Real-world datasets, typically curated from multiple sources, often \ldots{}", acknowledgement = ack-nhfb, articleno = "150", fjournal = "Proceedings of the ACM on Programming Languages", journal-URL = "https://pacmpl.acm.org/", } @Article{Park:2018:ETS, author = "Ha-Myung Park and Francesco Silvestri and Rasmus Pagh and Chin-Wan Chung and Sung-Hyon Myaeng and U. Kang", title = "Enumerating Trillion Subgraphs On Distributed Systems", journal = j-TKDD, volume = "12", number = "6", pages = "71:1--71:??", month = oct, year = "2018", CODEN = "????", DOI = "https://doi.org/10.1145/3237191", ISSN = "1556-4681 (print), 1556-472X (electronic)", ISSN-L = "1556-4681", bibdate = "Tue Jan 29 17:18:49 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tkdd.bib", abstract = "How can we find patterns from an enormous graph with billions of vertices and edges? The subgraph enumeration, which is to find patterns from a graph, is an important task for graph data analysis with many applications, including analyzing the social network evolution, measuring the significance of motifs in biological networks, observing the dynamics of Internet, and so on. Especially, the triangle enumeration, a special case of the subgraph enumeration, where the pattern is a triangle, has many applications such as identifying suspicious users in social networks, detecting web spams, and finding communities. However, recent networks are so large that most of the previous algorithms fail to process them. Recently, several MapReduce algorithms have been proposed to address such large networks; however, they suffer from the massive shuffled data resulting in a very long processing time. In this article, we propose scalable methods for enumerating trillion subgraphs on distributed systems. We first propose PTE ( Pre-partitioned Triangle Enumeration ), a new distributed algorithm for enumerating triangles in enormous graphs by resolving the structural inefficiency of the previous MapReduce algorithms. PTE enumerates trillions of triangles in a billion scale graph by decreasing three factors: the amount of shuffled data, total work, and network read. We also propose PSE ( Pre-partitioned Subgraph Enumeration ), a generalized version of PTE for enumerating subgraphs that match an arbitrary query graph. Experimental results show that PTE provides 79 times faster performance than recent distributed algorithms on real-world graphs, and succeeds in enumerating more than 3 trillion triangles on the ClueWeb12 graph with 6.3 billion vertices and 72 billion edges. Furthermore, PSE successfully enumerates 265 trillion clique subgraphs with 4 vertices from a subdomain hyperlink network, showing 47 times faster performance than the state of the art distributed subgraph enumeration algorithm.", acknowledgement = ack-nhfb, articleno = "71", fjournal = "ACM Transactions on Knowledge Discovery from Data (TKDD)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1054", } @Article{Prasad:2018:NPD, author = "Animesh Prasad and Manpreet Kaur and Min-Yen Kan", title = "{Neural ParsCit}: a deep learning-based reference string parser", journal = j-INT-J-DIGIT-LIBR, volume = "19", number = "4", pages = "323--337", month = nov, year = "2018", CODEN = "????", DOI = "https://doi.org/10.1007/s00799-018-0242-1", ISSN = "1432-1300 (print), 1432-5012 (electronic)", ISSN-L = "1432-1300", bibdate = "Tue May 7 07:43:39 MDT 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/intjdigitlibr.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://link.springer.com/article/10.1007/s00799-018-0242-1", acknowledgement = ack-nhfb, ajournal = "Int. J. Digit. Libr.", fjournal = "International Journal on Digital Libraries", journal-URL = "https://link.springer.com/journal/799", } @Article{Radanne:2018:RLG, author = "Gabriel Radanne and Peter Thiemann", title = "{Regenerate}: a language generator for extended regular expressions", journal = j-SIGPLAN, volume = "53", number = "9", pages = "202--214", month = nov, year = "2018", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/3393934.3278133", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Apr 8 13:49:51 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/abs/10.1145/3393934.3278133", abstract = "Regular expressions are part of every programmer's toolbox. They are used for a wide variety of language-related tasks and there are many algorithms for manipulating them. In particular, matching algorithms that detect whether a word belongs to the language described by a regular expression are well explored, yet new algorithms appear frequently. However, there is no satisfactory methodology for testing such matchers. We propose a testing methodology which is based on generating positive as well as negative examples of words in the language. To this end, we present a new algorithm to generate the language described by a generalized regular expression with intersection and complement operators. The complement operator allows us to generate both positive and negative example words from a given regular expression. We implement our generator in Haskell and OCaml and show that its performance is more than adequate for testing.", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "https://dl.acm.org/loi/sigplan", } @Article{Soule:2018:MLM, author = "Robert Soule and Shrutarshi Basu and Parisa Jalili Marandi and Fernando Pedone and Robert Kleinberg and Emin Gun Sirer and Nate Foster", title = "{Merlin}: a Language for Managing Network Resources", journal = j-IEEE-TRANS-NETWORKING, volume = "26", number = "5", pages = "2188--2201", month = oct, year = "2018", CODEN = "IEANEP", DOI = "https://doi.org/10.1109/TNET.2018.2867239", ISSN = "1063-6692 (print), 1558-2566 (electronic)", ISSN-L = "1063-6692", bibdate = "Thu Nov 8 06:12:22 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetransnetworking.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "This paper presents Merlin, a framework for managing resources in software-defined networks. With Merlin, administrators express high-level policies using programs in a declarative language. The language includes logical predicates to identify sets of packets, regular expressions to encode forwarding paths, and arithmetic formulas to specify bandwidth constraints. The compiler maps these policies into a constraint problem that determines bandwidth allocations using parametrizable heuristics. It then generates a code that can be executed on the network elements to enforce the policies. To allow network tenants to dynamically adapt policies to their needs, Merlin provides mechanisms for delegating control of sub-policies and for verifying that modifications made to sub-policies do not violate global constraints. Experiments demonstrate the expressiveness and effectiveness of Merlin on realistic scenarios. Overall, Merlin simplifies network administration by providing high-level abstractions for specifying and enforcing network policies.", acknowledgement = ack-nhfb, fjournal = "IEEE\slash ACM Transactions on Networking", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J771", } @Article{Trevisan:2018:RUC, author = "Martino Trevisan and Idilio Drago", title = "Robust {URL} Classification With Generative Adversarial Networks", journal = j-SIGMETRICS, volume = "46", number = "3", pages = "143--146", month = dec, year = "2018", CODEN = "????", DOI = "https://doi.org/10.1145/3308897.3308959", ISSN = "0163-5999 (print), 1557-9484 (electronic)", ISSN-L = "0163-5999", bibdate = "Sat Feb 2 07:14:43 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigmetrics.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Classifying URLs is essential for different applications, such as parental control, URL filtering and Ads/tracking protection. Such systems historically identify URLs by means of regular expressions, even if machine learning alternatives have been proposed to overcome the time-consuming maintenance of classification rules. Classical machine learning algorithms, however, require large samples of URLs to train the models, covering the diverse classes of URLs (i.e., a ground truth), which somehow limits the applicability of the approach. We here give a first step towards the use of Generative Adversarial Neural Networks (GANs) to classify URLs. GANs are attractive for this problem for two reasons. First, GANs can produce samples of URLs belonging to specific classes even if exposed to a limited training set, outputting both synthetic traces and a robust discriminator. Second, a GAN can be trained to discriminate a class of URLs without being exposed to all other URLs classes --- i.e., GANs are robust even if not exposed to uninteresting URL classes during training. Experiments on real data show that not only the generated synthetic traces are somehow realistic, but also the URL classification is accurate with GANs.", acknowledgement = ack-nhfb, ajournal = "Perform. Eval. Rev.", fjournal = "ACM SIGMETRICS Performance Evaluation Review", journal-URL = "https://dl.acm.org/loi/sigmetrics", } @Article{Varma:2018:SAW, author = "Paroma Varma and Christopher R{\'e}", title = "{Snuba}: automating weak supervision to label training data", journal = j-PROC-VLDB-ENDOWMENT, volume = "12", number = "3", pages = "223--236", month = nov, year = "2018", CODEN = "????", DOI = "https://doi.org/10.14778/3291264.3291268", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Fri Jan 18 05:54:04 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "As deep learning models are applied to increasingly diverse problems, a key bottleneck is gathering enough high-quality training labels tailored to each task. Users therefore turn to weak supervision, relying on imperfect sources of labels like pattern matching and user-defined heuristics. Unfortunately, users have to design these sources for each task. This process can be time consuming and expensive: domain experts often perform repetitive steps like guessing optimal numerical thresholds and developing informative text patterns. To address these challenges, we present Snuba, a system to automatically generate heuristics using a small labeled dataset to assign training labels to a large, unlabeled dataset in the weak supervision setting. Snuba generates heuristics that each labels the subset of the data it is accurate for, and iteratively repeats this process until the heuristics together label a large portion of the unlabeled data. We develop a statistical measure that guarantees the iterative process will automatically terminate before it degrades training label quality. Snuba automatically generates heuristics in under five minutes and performs up to 9.74 F1 points better than the best known user-defined heuristics developed over many days. In collaborations with users at research labs, Stanford Hospital, and on open source datasets, Snuba outperforms other automated approaches like semi-supervised learning by up to 14.35 F1 points.", acknowledgement = ack-nhfb, ajournal = "Proc. VLDB Endowment", fjournal = "Proceedings of the VLDB Endowment", journal-URL = "http://portal.acm.org/citation.cfm?id=J1174", } @Article{Yuan:2018:ASP, author = "Xingliang Yuan and Huayi Duan and Cong Wang", title = "Assuring String Pattern Matching in Outsourced Middleboxes", journal = j-IEEE-TRANS-NETWORKING, volume = "26", number = "3", pages = "1362--1375", month = jun, year = "2018", CODEN = "IEANEP", DOI = "https://doi.org/10.1109/TNET.2018.2822837", ISSN = "1063-6692 (print), 1558-2566 (electronic)", ISSN-L = "1063-6692", bibdate = "Thu Oct 18 05:31:01 MDT 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetransnetworking.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/virtual-machines.bib", abstract = "Modern enterprise networks heavily rely on the ubiquitous network middleboxes for advanced traffic processing functions. Recent advances in software packet processing and virtualization technologies are further pushing forward the paradigm of migrating middleboxes to third-party providers, e.g., clouds and ISPs, as virtualized services, with well-understood benefits on reduced maintenance cost and increased service scalability. Despite promising, outsourcing middleboxes raises new security challenges. Among others, this new service eliminates the enterprise's direct control on outsourced network functions. Mechanisms assuring that those middleboxes consistently perform network functions as intended currently do not exist. In this paper, we propose the first practical system that enables runtime execution assurances of outsourced middleboxes with high confidence, helping enterprises to extend their visibility into untrusted service providers. As an initial effort, we target on pattern matching-based network functions, which cover a broad class of middlebox applications, such as instruction detection, Web firewall, and traffic classification. Our design follows the roadmap of probabilistic checking mechanisms that provide a tunable level of assurance, as in cloud and distributed computing literature. We show how to synthesize this design intuition in the context of outsourced middleboxes and the dynamic network effect. Specifically, we present diligent technical instantiations in the cases of the single middlebox and the composition i.e., service chaining. We deploy our designs into off-the-shelf middlebox outsourcing architectures with full-fledged implementation on the click modular router. Evaluations demonstrate that high assurance levels are achieved by pre-processing only a few packets with marginal overhead.", acknowledgement = ack-nhfb, fjournal = "IEEE\slash ACM Transactions on Networking", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J771", } @Article{Zha:2018:CRC, author = "Yue Zha and Jing Li", title = "{CMA}: A Reconfigurable Complex Matching Accelerator for Wire-Speed Network Intrusion Detection", journal = j-IEEE-COMPUT-ARCHIT-LETT, volume = "17", number = "1", pages = "33--36", month = jan # "\slash " # jun, year = "2018", CODEN = "????", DOI = "https://doi.org/10.1109/LCA.2017.2719023", ISSN = "1556-6056 (print), 1556-6064 (electronic)", ISSN-L = "1556-6056", bibdate = "Tue Jun 25 07:41:05 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeecomputarchitlett.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The rapid growth in network bandwidth and the ever more sophisticated network attack techniques pose challenges to current network intrusion detection systems (NIDS). While software-based solutions are incapable of performing wire-speed network traffic monitoring, many hardware-based pattern matching solutions also suffer from capacity limitation and high power consumption. To effectively address these challenges, we propose a reconfigurable complex matching accelerator (CMA) enabled by the emerging nonvolatile memory technology (resistive random access memory) to speed up intrusion detection systems with better energy efficiency. Beyond common equality matching in current NIDS, CMA can be configured to provide a comprehensive set of arithmetic matching functions (e.g., less than), resulting in improved utilization and higher energy efficiency. We evaluate CMA using real-world network security benchmarks. On average, it achieves 84.9 percent area reduction, 97.3 percent energy consumption reduction, and 20 percent improvement in searching speed compared to the SRAM-based Ternary Content Addressable Memory (TCAM) design in state-of-the-art NIDS. It also outperforms emerging RRAM-based TCAM (2.5T1R) design in area, energy and search delay, on the set of evaluated workloads.", acknowledgement = ack-nhfb, affiliation = "Zha, Y (Reprint Author), Univ Wisconsin, Elect \& Comp Engn, Madison, WI 53706 USA. Zha, Yue; Li, Jing, Univ Wisconsin, Elect \& Comp Engn, Madison, WI 53706 USA.", author-email = "yzha3@wisc.edu jli587@wisc.edu", da = "2019-06-20", doc-delivery-number = "FZ6EO", eissn = "1556-6064", fjournal = "IEEE Computer Architecture Letters", journal-iso = "IEEE Comput. Archit. Lett.", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=10208", keywords = "accelerator; arithmetic matching functions; CMA; Computer architecture; computer network security; computer networks; content-addressable storage; Coprocessors; emerging nonvolatile memory technology; Encoding; energy consumption reduction; higher energy efficiency; intrusion detection; Intrusion detection; IP networks; network bandwidth; network intrusion detection systems; Network security; NIDS; pattern matching; pattern matching solutions; Ports (Computers); random-access storage; real-world network security benchmarks; reconfigurable complex matching accelerator; ReRAM; resistive random access memory; security of data; sophisticated network attack techniques; SRAM chips; TCAM; telecommunication traffic; ternary content addressable memory design; wire-speed network intrusion detection; wire-speed network traffic monitoring", keywords-plus = "PACKET CLASSIFICATION; MODEL", number-of-cited-references = "15", research-areas = "Computer Science", times-cited = "0", unique-id = "Zha:2018:CRC", web-of-science-categories = "Computer Science, Hardware \& Architecture", } @Article{Zhan:2018:EDM, author = "Yang Zhan and Yizheng Jiao and Donald E. Porter and Alex Conway and Eric Knorr and Martin Farach-Colton and Michael A. Bender and Jun Yuan and William Jannen and Rob Johnson", title = "Efficient Directory Mutations in a Full-Path-Indexed File System", journal = j-TOS, volume = "14", number = "3", pages = "22:1--22:??", month = nov, year = "2018", CODEN = "????", DOI = "https://doi.org/10.1145/3241061", ISSN = "1553-3077 (print), 1553-3093 (electronic)", ISSN-L = "1553-3077", bibdate = "Sat Sep 21 07:58:49 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tos.bib", abstract = "Full-path indexing can improve I/O efficiency for workloads that operate on data organized using traditional, hierarchical directories, because data is placed on persistent storage in scan order. Prior results indicate, however, that renames in a local file system with full-path indexing are prohibitively expensive. This article shows how to use full-path indexing in a file system to realize fast directory scans, writes, and renames. The article introduces a range-rename mechanism for efficient key-space changes in a write-optimized dictionary. This mechanism is encapsulated in the key-value Application Programming Interface (API) and simplifies the overall file system design. We implemented this mechanism in B$^{\& amp; egr; }$ -trees File System (BetrFS), an in-kernel, local file system for Linux. This new version, BetrFS 0.4, performs recursive greps 1.5x faster and random writes 1.2x faster than BetrFS 0.3, but renames are competitive with indirection-based file systems for a range of sizes. BetrFS 0.4 outperforms BetrFS 0.3, as well as traditional file systems, such as ext4, Extents File System (XFS), and Z File System (ZFS), across a variety of workloads.", acknowledgement = ack-nhfb, articleno = "22", fjournal = "ACM Transactions on Storage", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J960", } @Article{Zhang:2018:PMO, author = "Weixin Zhang and Bruno C. d. S. Oliveira", title = "Pattern matching in an open world", journal = j-SIGPLAN, volume = "53", number = "9", pages = "134--146", month = nov, year = "2018", CODEN = "SINODQ", DOI = "https://doi.org/10.1145/3393934.3278124", ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)", ISSN-L = "0362-1340", bibdate = "Wed Apr 8 13:49:51 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/abs/10.1145/3393934.3278124", abstract = "Pattern matching is a pervasive and useful feature in functional programming. There have been many attempts to bring similar notions to Object-Oriented Programming (OOP) in the past. However, a key challenge in OOP is how pattern matching can coexist \ldots{}", acknowledgement = ack-nhfb, fjournal = "ACM SIGPLAN Notices", journal-URL = "https://dl.acm.org/loi/sigplan", } @Article{Abbas:2019:QRE, author = "Houssam Abbas and Alena Rodionova and Konstantinos Mamouras and Ezio Bartocci and Scott A. Smolka and Radu Grosu", title = "Quantitative Regular Expressions for Arrhythmia Detection", journal = j-TCBB, volume = "16", number = "5", pages = "1586--1597", month = sep, year = "2019", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2018.2885274", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Fri Nov 29 16:39:03 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "Implantable medical devices are safety-critical systems whose incorrect operation can jeopardize a patient's health, and whose algorithms must meet tight platform constraints like memory consumption and runtime. In particular, we consider here the case of implantable cardioverter defibrillators, where peak detection algorithms and various others discrimination algorithms serve to distinguish fatal from non-fatal arrhythmias in a cardiac signal. Motivated by the need for powerful formal methods to reason about the performance of arrhythmia detection algorithms, we show how to specify all these algorithms using Quantitative Regular Expressions QREs. QRE is a formal language to express complex numerical queries over data streams, with provable runtime and memory consumption guarantees. We show that QREs are more suitable than classical temporal logics to express in a concise and easy way a range of peak detectors in both the time and wavelet domains and various discriminators at the heart of today's arrhythmia detection devices. The proposed formalization also opens the way to formal analysis and rigorous testing of these detectors' correctness and performance, alleviating the regulatory burden on device developers when modifying their algorithms. We demonstrate the effectiveness of our approach by executing QRE-based monitors on real patient data on which they yield results on par with the results reported in the medical literature.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", } @Article{Anselmo:2019:SPA, author = "Marcella Anselmo and Dora Giammarresi and Maria Madonia", title = "Sets of Pictures Avoiding Overlaps", journal = j-INT-J-FOUND-COMP-SCI, volume = "30", number = "6--7", pages = "875--898", month = sep # "--" # nov, year = "2019", DOI = "https://doi.org/10.1142/S0129054119400215", ISSN = "0129-0541", ISSN-L = "0129-0541", bibdate = "Fri Sep 20 10:48:00 MDT 2019", bibsource = "http://www.worldscientific.com/loi/ijfcs; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.worldscientific.com/doi/10.1142/S0129054119400215", abstract = "A string set avoids overlaps if it has the property that the prefix of each string in the set does not coincide with the suffix of any string in the set. The problem of avoiding overlaps in strings is extensively investigated since it plays an important role in the context of string matching and coding. The notion of overlap can be extended naturally to two dimensions; two pictures p p p and q q q have an overlap if one can put one corner of p p p on some position in q q q in such a way that all symbols in the common positions coincide. A picture with no self-overlaps is called unbordered and it is a generalization in two dimensions of an unbordered $ (o r b i f i x - f r e e) $ string. We first investigate the problem of generating all unbordered pictures of fixed size. Then, we study particular sets of unbordered pictures that are non-overlapping each others. We show that the frame of the pictures has a special role in defining these sets. In particular, we prove that there exist kinds of synchronization frames that can be put around the pictures of any set to make it non-overlapping. Finally, we present a construction of non-expandable non-overlapping sets of pictures which starts from some property of frame-completeness.", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science $(IJFCS)$", journal-URL = "http://www.worldscientific.com/loi/ijfcs", remark = "Special Issue: Descriptional Complexity of Formal Systems 2017", } @Article{Beedkar:2019:UFF, author = "Kaustubh Beedkar and Rainer Gemulla and Wim Martens", title = "A Unified Framework for Frequent Sequence Mining with Subsequence Constraints", journal = j-TODS, volume = "44", number = "3", pages = "11:1--11:??", month = jun, year = "2019", CODEN = "ATDSD3", DOI = "https://doi.org/10.1145/3321486", ISSN = "0362-5915 (print), 1557-4644 (electronic)", ISSN-L = "0362-5915", bibdate = "Tue Oct 29 10:55:21 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tods.bib", URL = "https://dl.acm.org/ft_gateway.cfm?id=3321486", abstract = "Frequent sequence mining methods often make use of constraints to control which subsequences should be mined. A variety of such subsequence constraints has been studied in the literature, including length, gap, span, regular-expression, and hierarchy constraints. In this article, we show that many subsequence constraints-including and beyond those considered in the literature-can be unified in a single framework. A unified treatment allows researchers to study jointly many types of subsequence constraints (instead of each one individually) and helps to improve usability of pattern mining systems for practitioners. In more detail, we propose a set of simple and intuitive ``pattern expressions'' to describe subsequence constraints and explore algorithms for efficiently mining frequent subsequences under such general constraints. Our algorithms translate pattern expressions to succinct finite-state transducers, which we use as computational model, and simulate these transducers in a way suitable for frequent sequence mining. Our experimental study on real-world datasets indicates that our algorithms-although more general-are efficient and, when used for sequence mining with prior constraints studied in literature, competitive to (and in some cases superior to) state-of-the-art specialized methods.", acknowledgement = ack-nhfb, articleno = "11", fjournal = "ACM Transactions on Database Systems", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J777", } @Article{Broda:2019:ABR, author = "Sabine Broda and Ant{\'o}nio Machiavelo and Nelma Moreira and Rog{\'e}rio Reis", title = "On Average Behaviour of Regular Expressions in Strong Star Normal Form", journal = j-INT-J-FOUND-COMP-SCI, volume = "30", number = "6--7", pages = "899--920", month = sep # "--" # nov, year = "2019", DOI = "https://doi.org/10.1142/S0129054119400227", ISSN = "0129-0541", ISSN-L = "0129-0541", bibdate = "Fri Sep 20 10:48:00 MDT 2019", bibsource = "http://www.worldscientific.com/loi/ijfcs; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.worldscientific.com/doi/10.1142/S0129054119400227", abstract = "For regular expressions in $ (s t r o n g) $ star normal form a large set of efficient algorithms is known, from conversions into finite automata to characterisations of unambiguity. In this paper we study the average complexity of this class of expressions using analytic combinatorics. As it is not always feasible to obtain explicit expressions for the generating functions involved, here we show how to get the required information for the asymptotic estimates with an indirect use of the existence of Puiseux expansions at singularities. We study, asymptotically and on average, the alphabetic size, the size of the -follow automaton and of the position automaton, as well as the ratio and the size of these expressions to standard regular expressions.", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science $(IJFCS)$", journal-URL = "http://www.worldscientific.com/loi/ijfcs", remark = "Special Issue: Descriptional Complexity of Formal Systems 2017", } @Article{Brzozowski:2019:SCP, author = "Janusz A. Brzozowski and Sylvie Davies and Abhishek Madan", title = "State complexity of pattern matching in regular languages", journal = j-THEOR-COMP-SCI, volume = "777", number = "??", pages = "121--131", day = "19", month = jul, year = "2019", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2018.12.014", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Jun 15 10:14:22 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2015.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397518307357", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Cantone:2019:LES, author = "Domenico Cantone and Simone Faro and Arianna Pavone", title = "Linear and Efficient String Matching Algorithms Based on Weak Factor Recognition", journal = j-ACM-J-EXP-ALGORITHMICS, volume = "24", number = "1", pages = "1.8:1--1.8:??", month = oct, year = "2019", CODEN = "????", DOI = "https://doi.org/10.1145/3301295", ISSN = "1084-6654", bibdate = "Tue Oct 22 07:25:57 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/jea.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/ft_gateway.cfm?id=3301295", abstract = "We present a simple and very efficient algorithm for string matching based on the combination of weak factor recognition and hashing. Despite its quadratic worst-case running time, our algorithm exhibits a sublinear behaviour. We also propose some practical improvements of our algorithm and a variant with a linear worst-case time complexity. Experimental results show that, in most cases, some of the variants of our algorithm obtain the best running times when compared, under various conditions, against the most effective algorithms present in the literature. For instance, in the case of small alphabets and long patterns, the gain in running time is up to 18\%. This makes our proposed algorithm one of the most flexible solutions in practical cases.", acknowledgement = ack-nhfb, articleno = "1.8", fjournal = "Journal of Experimental Algorithmics (JEA)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J430", } @Article{Cox:2019:SSD, author = "Russ Cox", title = "Surviving software dependencies", journal = j-CACM, volume = "62", number = "9", pages = "36--43", month = sep, year = "2019", CODEN = "CACMA2", DOI = "https://doi.org/10.1145/3347446", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Thu Aug 22 08:20:23 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/cacm2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://cacm.acm.org/magazines/2019/9/238968/fulltext", abstract = "Software reuse is finally here but comes with risks.", acknowledgement = ack-nhfb, fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", keywords = "PCRE package; RE2 package", } @Article{Daykin:2019:EPM, author = "J. W. Daykin and R. Groult and Y. Guesnet and T. Lecroq and A. Lefebvre and M. L{\'e}onard and L. Mouchard and {\'E}. Prieur-Gaston and B. Watson", title = "Efficient pattern matching in degenerate strings with the {Burrows--Wheeler} transform", journal = j-INFO-PROC-LETT, volume = "147", number = "??", pages = "82--87", month = jul, year = "2019", CODEN = "IFPLAT", DOI = "https://doi.org/10.1016/j.ipl.2019.03.003", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon Jun 10 07:43:01 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0020019019300535", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Decaroli:2019:CIO, author = "Gianni Decaroli and Travis Gagie and Giovanni Manzini", title = "A compact index for order-preserving pattern matching", journal = j-SPE, volume = "49", number = "6", pages = "1041--1051", month = jun, year = "2019", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.2694", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat Oct 12 09:43:47 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.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 = "28 March 2019", } @Article{Dixit:2019:FBD, author = "Umesh D. Dixit and M. S. Shirdhonkar", title = "Fingerprint-Based Document Image Retrieval", journal = j-INT-J-IMAGE-GRAPHICS, volume = "19", number = "2", pages = "??--??", year = "2019", DOI = "https://doi.org/10.1142/S0219467819500086", ISSN = "0219-4678", ISSN-L = "0219-4678", bibdate = "Fri May 10 09:47:18 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/cryptography2010.bib; https://www.math.utah.edu/pub/tex/bib/ijig.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.worldscientific.com/doi/10.1142/S0219467819500086", abstract = "Most of the documents use fingerprint impression for authentication. Property related documents, bank checks, application forms, etc., are the examples of such documents. Fingerprint-based document image retrieval system aims to provide a solution for searching and browsing of such digitized documents. The major challenges in implementing fingerprint-based document image retrieval are an efficient method for fingerprint detection and an effective feature extraction method. In this work, we propose a method for automatic detection of a fingerprint from given query document image employing Discrete Wavelet Transform (DWT)-based features and SVM classifier. In this paper, we also propose and investigate two feature extraction schemes, DWT and Stationary Wavelet Transform (SWT)-based Local Binary Pattern (LBP) features for fingerprint-based document image retrieval. The standardized Euclidean distance is employed for matching and ranking of the documents. Proposed method is tested on a database of 1200 document images and is also compared with current state-of-art. The proposed scheme provided 98.87\% of detection accuracy and 73.08\% of Mean Average Precision (MAP) for document image retrieval.", acknowledgement = ack-nhfb, articleno = "1950008", fjournal = "International Journal of Image and Graphics (IJIG)", journal-URL = "http://www.worldscientific.com/worldscinet/ijig", } @Article{Fang:2019:EPM, author = "Yixiang Fang and Yun Li and Reynold Cheng and Nikos Mamoulis and Gao Cong", title = "Evaluating pattern matching queries for spatial databases", journal = j-VLDB-J, volume = "28", number = "5", pages = "649--673", month = oct, year = "2019", CODEN = "VLDBFR", DOI = "https://doi.org/10.1007/s00778-019-00550-3", ISSN = "1066-8888 (print), 0949-877X (electronic)", ISSN-L = "1066-8888", bibdate = "Thu Mar 19 17:10:21 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbj.bib", URL = "http://link.springer.com/article/10.1007/s00778-019-00550-3", acknowledgement = ack-nhfb, fjournal = "VLDB Journal: Very Large Data Bases", journal-URL = "http://portal.acm.org/toc.cfm?id=J869", } @Article{Farr:2019:UGT, author = "Graham Farr", title = "Using {Go} in teaching the theory of computation", journal = j-SIGACT, volume = "50", number = "1", pages = "65--78", month = mar, year = "2019", CODEN = "SIGNDM", DOI = "https://doi.org/10.1145/3319627.3319639", ISSN = "0163-5700 (print), 1943-5827 (electronic)", ISSN-L = "0163-5700", bibdate = "Tue Oct 22 09:39:55 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigact.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "With increased public interest in the ancient game of Go since 2016, it is an especially good time to use it in teaching. The game is an excellent source of exercises in the theory of computation. We give some exercises developed during our research on Go which were then used when teaching this subject at Monash University. These are based on One-Dimensional Go (1D-Go) which uses a path graph as its board. They are about determining whether or not a position is legal and counting the number of legal positions. Curriculum elements that may be illustrated and practised using 1D-Go include: regular expressions, linear recurrences, proof by induction, finite automata, regular grammars, context-free grammars and languages, pushdown automata, and Turing machines.", acknowledgement = ack-nhfb, fjournal = "ACM SIGACT News", journal-URL = "http://dl.acm.org/citation.cfm?id=J697", } @Article{Freydenberger:2019:DRE, author = "Dominik D. Freydenberger and Markus L. Schmid", title = "Deterministic regular expressions with back-references", journal = j-J-COMP-SYS-SCI, volume = "105", number = "??", pages = "1--39", month = nov, year = "2019", CODEN = "JCSSBM", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Mon Oct 14 10:03:55 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0022000018301818", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Article{Ganardi:2019:UTB, author = "Moses Ganardi and Markus Lohrey", title = "A Universal Tree Balancing Theorem", journal = j-TOCT, volume = "11", number = "1", pages = "1:1--1:??", month = jan, year = "2019", CODEN = "????", DOI = "https://doi.org/10.1145/3278158", ISSN = "1942-3454 (print), 1942-3462 (electronic)", ISSN-L = "1942-3454", bibdate = "Tue Oct 22 10:25:09 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/toct.bib", URL = "https://dl.acm.org/ft_gateway.cfm?id=3278158", abstract = "We present a general framework for balancing expressions (terms) in the form of so-called tree straight-line programs. The latter can be seen as circuits over the free term algebra extended by contexts (terms with a hole) and the operations, which insert terms/contexts into contexts. In Ref. [16], it was shown that one can compute for a given term of size n in logspace a tree straight-line program of depth O (log n ) and size O ( n / log n ). In the present article, it is shown that the conversion can be done in DLOGTIME-uniform TC$^0$. This allows reducing the term evaluation problem over an arbitrary algebra A to the term evaluation problem over a derived two-sorted algebra F ( A ). Three applications are presented: (i) an alternative proof for a recent result by Krebs et al. [25] on the expression evaluation problem is given; (ii) it is shown that expressions for an arbitrary (possibly non-commutative) semiring can be transformed in DLOGTIME-uniform TC$^0$ into equivalent circuits of logarithmic depth and size O ( n / log n ); and, (iii) a corresponding result for regular expressions is shown.", acknowledgement = ack-nhfb, articleno = "1", fjournal = "ACM Transactions on Computation Theory", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1190", } @Article{Ghanbarpour:2019:MBK, author = "Asieh Ghanbarpour and Hassan Naderi", title = "A Model-based Keyword Search Approach for Detecting Top-$k$ Effective Answers", journal = j-COMP-J, volume = "62", number = "3", pages = "377--393", day = "1", month = mar, year = "2019", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/bxy056", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Mon Mar 11 17:55:31 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/compj2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://academic.oup.com/comjnl/article/62/3/377/5033366", acknowledgement = ack-nhfb, fjournal = "Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", } @Article{Golan:2019:SPM, author = "Shay Golan and Tsvi Kopelowitz and Ely Porat", title = "Streaming Pattern Matching with $d$ Wildcards", journal = j-ALGORITHMICA, volume = "81", number = "5", pages = "1988--2015", month = may, year = "2019", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s00453-018-0521-7", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", bibdate = "Wed Apr 29 10:30:54 MDT 2020", bibsource = "http://link.springer.com/journal/453/81/5; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Algorithmica", journal-URL = "http://link.springer.com/journal/453", } @Article{Hendrian:2019:PPM, author = "Diptarama Hendrian and Yohei Ueki and Kazuyuki Narisawa and Ryo Yoshinaka and Ayumi Shinohara", title = "Permuted Pattern Matching Algorithms on Multi-Track Strings", journal = j-ALGORITHMS-BASEL, volume = "12", number = "4", month = apr, year = "2019", CODEN = "ALGOCH", DOI = "https://doi.org/10.3390/a12040073", ISSN = "1999-4893 (electronic)", ISSN-L = "1999-4893", bibdate = "Fri May 3 13:50:14 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/algorithms.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.mdpi.com/1999-4893/12/4/73", acknowledgement = ack-nhfb, articleno = "73", fjournal = "Algorithms (Basel)", journal-URL = "https://www.mdpi.com/journal/algorithms", ORCID-numbers = "Diptarama Hendrian/0000-0002-8168-7312; Ryo Yoshinaka/0000-0002-5175-465X", pagecount = "??", pubdates = "Received: 28 February 2019 / Revised: 2 April 2019 / Accepted: 3 April 2019 / Published: 8 April 2019", } @Article{Hocking:2019:CNO, author = "Toby Dylan Hocking", title = "Comparing \pkg{namedCapture} with other {R} packages for regular expressions", journal = j-R-JOURNAL, volume = "11", number = "2", pages = "328--346", month = dec, year = "2019", DOI = "https://doi.org/10.32614/rj-2019-050", ISSN = "2073-4859", ISSN-L = "2073-4859", bibdate = "Fri May 21 06:58:43 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/rjournal.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://journal.r-project.org/archive/2019/RJ-2019-050", acknowledgement = ack-nhfb, fjournal = "The R Journal", journal-URL = "http://journal.r-project.org/", } @Article{Jarrar:2019:DBM, author = "Mustafa Jarrar and Fadi Zaraket and Rami Asia and Hamzeh Amayreh", title = "Diacritic-Based Matching of {Arabic} Words", journal = j-TALLIP, volume = "18", number = "2", pages = "10:1--10:??", month = feb, year = "2019", CODEN = "????", DOI = "https://doi.org/10.1145/3242177", ISSN = "2375-4699 (print), 2375-4702 (electronic)", ISSN-L = "2375-4699", bibdate = "Wed Oct 2 10:34:32 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tallip.bib", URL = "https://dl.acm.org/ft_gateway.cfm?id=3242177", abstract = "Words in Arabic consist of letters and short vowel symbols called diacritics inscribed atop regular letters. Changing diacritics may change the syntax and semantics of a word; turning it into another. This results in difficulties when comparing words based solely on string matching. Typically, Arabic NLP applications resort to morphological analysis to battle ambiguity originating from this and other challenges. In this article, we introduce three alternative algorithms to compare two words with possibly different diacritics. We propose the Subsume knowledge-based algorithm, the Imply rule-based algorithm, and the Alike machine-learning-based algorithm. We evaluated the soundness, completeness, and accuracy of the algorithms against a large dataset of 86,886 word pairs. Our evaluation shows that the accuracy of Subsume (100\%), Imply (99.32\%), and Alike (99.53\%). Although accurate, Subsume was able to judge only 75\% of the data. Both Subsume and Imply are sound, while Alike is not. We demonstrate the utility of the algorithms using a real-life use case --- in lemma disambiguation and in linking hundreds of Arabic dictionaries.", acknowledgement = ack-nhfb, articleno = "10", fjournal = "ACM Transactions on Asian and Low-Resource Language Information Processing (TALLIP)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1521", } @Article{Kaczmarski:2019:GRT, author = "Krzysztof Kaczmarski and Albert Wolant", title = "{GPU R-Trie}: Dictionary with ultra fast lookup", journal = j-CCPE, volume = "31", number = "19", pages = "e5027:1--e5027:??", day = "10", month = oct, year = "2019", CODEN = "CCPEBO", DOI = "https://doi.org/10.1002/cpe.5027", ISSN = "1532-0626 (print), 1532-0634 (electronic)", ISSN-L = "1532-0626", bibdate = "Sat Oct 12 11:00:06 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/ccpe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Concurrency and Computation: Practice and Experience", journal-URL = "http://www.interscience.wiley.com/jpages/1532-0626", onlinedate = "16 December 2018", } @Article{Kaloudas:2019:EEB, author = "Dimitrios Kaloudas and Nikolet Pavlova and Robert Penchovsky", title = "{EBWS}: Essential Bioinformatics {Web} Services for Sequence Analyses", journal = j-TCBB, volume = "16", number = "3", pages = "942--953", month = may, year = "2019", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2018.2816645", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Fri Aug 23 11:22:19 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "The Essential Bioinformatics Web Services EBWS are implemented on a new PHP-based server that provides useful tools for analyses of DNA, RNA, and protein sequences applying a user-friendly interface. Nine Web-based applets are currently available on the Web server. They include reverse complementary DNA and random DNA/RNA/peptide oligomer generators, a pattern sequence searcher, a DNA restriction cutter, a prokaryotic ORF finder, and a random DNA/RNA mutation generator. It also includes calculators of melting temperature TM of DNA/DNA, RNA/RNA, and DNA/RNA hybrids, a guide RNA gRNA generator for the CRISPR/Cas9 system and an annealing temperature calculator for multiplex PCR. The pattern-searching applet has no limitations in the number of motif inputs and applies a toolbox of Regex quantifiers that can be used for defining complex sequence queries of RNA, DNA, and protein sequences. The DNA enzyme digestion program utilizes a large database of 1,502 restriction enzymes. The gRNA generator has a database of 25 bacterial genomes searchable for gRNA target sequences and has an option for searching in any genome sequence given by the user. All programs are permanently available online at http://penchovsky.atwebpages.com/applications.php without any restrictions.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", } @Article{Kaplan:2019:RRP, author = "R. Kaplan and L. Yavits and R. Ginosar", title = "{RASSA}: Resistive Prealignment Accelerator for Approximate {DNA} Long Read Mapping", journal = j-IEEE-MICRO, volume = "39", number = "4", pages = "44--54", month = jul # "\slash " # aug, year = "2019", CODEN = "IEMIDZ", DOI = "https://doi.org/10.1109/MM.2018.2890253", ISSN = "0272-1732 (print), 1937-4143 (electronic)", ISSN-L = "0272-1732", bibdate = "Thu Jul 25 15:29:43 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeemicro.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Micro", journal-URL = "http://www.computer.org/csdl/mags/mi/index.html", keywords = "DNA; Encoding; Filtering; Memristors; Pattern matching; Resistance; Transistors", } @Book{Klabnik:2019:RPL, author = "Steve Klabnik and Carol Nichols", title = "The {Rust} programming language", publisher = pub-NO-STARCH, address = pub-NO-STARCH:adr, edition = "Second", pages = "xxix + 526", year = "2019", ISBN = "1-0981-2253-4, 1-71850-044-0 (paperback)", ISBN-13 = "978-1-0981-2253-9, 978-1-71850-044-0 (paperback)", LCCN = "QA76.73.R87", bibdate = "Fri Nov 8 05:59:02 MST 2019", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/multithreading.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://proquest.safaribooksonline.com/?fpi=9781098122539; https://nostarch.com/download/samples/RustProgrammingLanguage2018_Sample_ToC.pdf; https://nostarch.com/Rust2018", abstract = "\booktitle{The Rust Programming Language} is the official book on Rust: an open source systems programming language that helps you write faster, more reliable software. Rust offers control over low-level details (such as memory usage) in combination with high-level ergonomics, eliminating the hassle traditionally associated with low-level languages. The authors of \booktitle{The Rust Programming Language}, members of the Rust Core Team, share their knowledge and experience to show you how to take full advantage of Rust's features-from installation to creating robust and scalable programs. You'll begin with basics like creating functions, choosing data types, and binding variables and then move on to more advanced concepts, such as: * Ownership and borrowing, lifetimes, and traits * Using Rust's memory safety guarantees to build fast, safe programs; * Testing, error handling, and effective refactoring; * Generics, smart pointers, multithreading, trait objects, and advanced pattern matching; * Using Cargo, Rust's built-in package manager, to build, test, and document your code and manage dependencies; * How best to use Rust's advanced compiler with compiler-led programming techniques You'll find plenty of code examples throughout the book, as well as three chapters dedicated to building complete projects to test your learning: a number guessing game, a Rust implementation of a command line tool, and a multithreaded server. New to this edition: An extended section on Rust macros, an expanded chapter on modules, and appendixes on Rust development tools and editions.", acknowledgement = ack-nhfb, libnote = "Not in my library.", subject = "Rust (Computer program language); Computer programming; Computer programming.; Rust (Computer program language)", tableofcontents = "1: Getting started \\ 2: Programming a guessing game \\ 3: Common programming concepts \\ 4: Understanding ownership \\ 5: Using structs to structure related data \\ 6: Enums and pattern matching \\ 7: Managing growing projects with packages, crates, and modules \\ 8: Common collections \\ 9: Error handling \\ 10: Generic types, traits, and lifetimes \\ 11: Writing automated tests \\ 12: An I/O project: building a command line program \\ 13: Functional language features: iterators and closures \\ 14: More about Cargo and Crates.io \\ 15: Smart pointers \\ 16: Fearless concurrency \\ 17: Object-oriented programming features of Rust \\ 18: Patterns and matching \\ 19: Advanced features \\ 20: Final project: building a multithreaded web server \\ Appendix A: Keywords \\ Appendix B: Operators and Symbols \\ Appendix C: Derivable Traits \\ Appendix D: Useful Development Tools \\ Appendix E: Editions \\ Index", } @Article{Kociumaka:2019:CLC, author = "Tomasz Kociumaka and Jakub Radoszewski and Tatiana Starikovskaya", title = "Correction to: {Longest Common Substring with Approximately $k$ Mismatches}", journal = j-ALGORITHMICA, volume = "81", number = "7", pages = "3074--3074", month = jul, year = "2019", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s00453-019-00560-1", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", bibdate = "Wed Apr 29 10:30:55 MDT 2020", bibsource = "http://link.springer.com/journal/453/81/7; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "See \cite{Kociumaka:2019:LCS}.", URL = "http://link.springer.com/content/pdf/10.1007/s00453-019-00560-1.pdf", acknowledgement = ack-nhfb, fjournal = "Algorithmica", journal-URL = "http://link.springer.com/journal/453", } @Article{Kociumaka:2019:LCS, author = "Tomasz Kociumaka and Jakub Radoszewski and Tatiana Starikovskaya", title = "Longest Common Substring with Approximately $k$ Mismatches", journal = j-ALGORITHMICA, volume = "81", number = "6", pages = "2633--2652", month = jun, year = "2019", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s00453-019-00548-x", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", bibdate = "Wed Apr 29 13:41:04 MDT 2020", bibsource = "http://link.springer.com/journal/607/81/6; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Algorithmica", journal-URL = "http://link.springer.com/journal/453", } @Article{Lin:2019:DPF, author = "Peng Lin and Qi Song and Yinghui Wu and Jiaxing Pi", title = "Discovering Patterns for Fact Checking in Knowledge Graphs", journal = j-JDIQ, volume = "11", number = "3", pages = "13:1--13:??", month = jul, year = "2019", CODEN = "????", DOI = "https://doi.org/10.1145/3286488", ISSN = "1936-1955", bibdate = "Tue Oct 22 07:17:01 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jdiq.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/ft_gateway.cfm?id=3286488", abstract = "This article presents a new framework that incorporates graph patterns to support fact checking in knowledge graphs. Our method discovers discriminant graph patterns to construct classifiers for fact prediction. First, we propose a class of graph fact checking rules (GFCs). A GFC incorporates graph patterns that best distinguish true and false facts of generalized fact statements. We provide statistical measures to characterize useful patterns that are both discriminant and diversified. Second, we show that it is feasible to discover GFCs in large graphs with optimality guarantees. We develop an algorithm that performs localized search to generate a stream of graph patterns, and dynamically assemble the best GFCs from multiple GFC sets, where each set ensures quality scores within certain ranges. The algorithm guarantees a $ (1 / 2 - \epsilon) $ approximation when it (early) terminates. We also develop a space-efficient alternative that dynamically spawns prioritized patterns with best marginal gains to the verified GFCs. It guarantees a $ (1 - 1 / e) $ approximation. Both strategies guarantee a bounded time cost independent of the size of the underlying graph. Third, to support fact checking, we develop two classifiers, which make use of top-ranked GFCs as predictive rules or instance-level features of the pattern matches induced by GFCs, respectively. Using real-world data, we experimentally verify the efficiency and the effectiveness of GFC-based techniques for fact checking in knowledge graphs and verify its application in knowledge exploration and news prediction.", acknowledgement = ack-nhfb, ajournal = "J. Data Inf. Qual.", articleno = "13", fjournal = "Journal of Data and Information Quality (JDIQ)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1191", } @Article{Liu:2019:CAR, author = "Alex X. Liu and Eric Norige", title = "A De-Compositional Approach to Regular Expression Matching for Network Security", journal = j-IEEE-TRANS-NETWORKING, volume = "27", number = "6", pages = "2179--2191", month = dec, year = "2019", CODEN = "IEANEP", DOI = "https://doi.org/10.1109/TNET.2019.2941920", ISSN = "1063-6692 (print), 1558-2566 (electronic)", ISSN-L = "1063-6692", bibdate = "Sat Aug 15 14:18:10 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetransnetworking.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/abs/10.1109/TNET.2019.2941920", abstract = "Regular Expression (RegEx) matching is the industry standard for Deep Packet Inspection (DPI) because RegExes are significantly more expressive than strings. To achieve high matching speed, we need to convert the RegExes to Deterministic Finite State Automata (DFA). However, DFA has the state explosion problem, that is, the number of DFA states and transitions can be exponential with the number of RegExes. Much work has addressed the DFA state explosion problem; however, none has met all the requirements of fast and automated construction, small memory image, and high matching speed. In this paper, we propose a decompositional approach, with fast and automated construction, small memory image, and high matching speed, to DFA state explosion. The first key idea is to decompose a complex RegEx that cause exponential state increases into a set of simpler RegExes that do not cause exponential state increases, where any character string that matches the complex RegEx also matches all the RegExes in the set of simpler RegExes; that is, the set of strings that match the complex RegEx is a subset of strings that match the set of simpler RegExes. The second key idea is to use a stateful post-processing engine to filter the matches that are actually the matches of the complex RegEx. Given an input string for matching, instead of using the large DFA constructed from the original complex RegEx to perform the matching, we first use the small DFA constructed from the set of simpler RegExes to perform the matching, and then, if the small DFA reports a match, we use the post-processing engine to determine whether it is a true match to the original complex RegEx. Because the pre-processing is simple, automaton construction can be automated and fast, and because most on-line processing is done by a DFA, its matching speed is close to that of a DFA alone. Our experimental results show that our decompositional approach achieves orders of magnitude faster DFA construction (in terms of seconds instead of minutes), 30 times smaller memory image, and 43\% faster matching speeds, than state-of-the-art software based RegEx matching algorithms.", acknowledgement = ack-nhfb, fjournal = "IEEE\slash ACM Transactions on Networking", journal-URL = "https://dl.acm.org/loi/ton", } @Article{Meysman:2019:MES, author = "Pieter Meysman and Yvan Saeys and Ehsan Sabaghian and Wout Bittremieux and Yves {Van de Peer} and Bart Goethals and Kris Laukens", title = "Mining the Enriched Subgraphs for Specific Vertices in a Biological Graph", journal = j-TCBB, volume = "16", number = "5", pages = "1496--1507", month = sep, year = "2019", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2016.2576440", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Fri Nov 29 16:39:03 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "In this paper, we present a subgroup discovery method to find subgraphs in a graph that are associated with a given set of vertices. The association between a subgraph pattern and a set of vertices is defined by its significant enrichment based on a Bonferroni-corrected hypergeometric probability value. This interestingness measure requires a dedicated pruning procedure to limit the number of subgraph matches that must be calculated. The presented mining algorithm to find associated subgraph patterns in large graphs is therefore designed to efficiently traverse the search space. We demonstrate the operation of this method by applying it on three biological graph data sets and show that we can find associated subgraphs for a biologically relevant set of vertices and that the found subgraphs themselves are biologically interesting.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", } @Article{Pan:2019:ARR, author = "Rong Pan and Qinheping Hu and Gaowei Xu and Loris D'Antoni", title = "Automatic repair of regular expressions", journal = j-PACMPL, volume = "3", number = "OOPSLA", pages = "139:1--139:29", month = oct, year = "2019", DOI = "https://doi.org/10.1145/3360565", bibdate = "Fri Aug 7 19:22:30 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/abs/10.1145/3360565", abstract = "We introduce RFixer, a tool for repairing complex regular expressions using examples and only consider regular expressions without non-regular operators (e.g., negative lookahead). Given an incorrect regular expression and sets of positive and negative \ldots{}", acknowledgement = ack-nhfb, articleno = "139", fjournal = "Proceedings of the ACM on Programming Languages", journal-URL = "https://pacmpl.acm.org/", } @Article{Pei:2019:RPU, author = "Shuyi Pei and Jing Yang and Qing Yang", title = "{REGISTOR}: a Platform for Unstructured Data Processing Inside {SSD} Storage", journal = j-TOS, volume = "15", number = "1", pages = "7:1--7:??", month = apr, year = "2019", CODEN = "????", DOI = "https://doi.org/10.1145/3310149", ISSN = "1553-3077 (print), 1553-3093 (electronic)", ISSN-L = "1553-3077", bibdate = "Sat Sep 21 07:58:50 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tos.bib", URL = "https://dl.acm.org/ft_gateway.cfm?id=3310149", abstract = "This article presents REGISTOR, a platform for regular expression grabbing inside storage. The main idea of Registor is accelerating regular expression (regex) search inside storage where large data set is stored, eliminating the I/O bottleneck problem. A special hardware engine for regex search is designed and augmented inside a flash SSD that processes data on-the-fly during data transmission from NAND flash to host. To make the speed of regex search match the internal bus speed of a modern SSD, a deep pipeline structure is designed in Registor hardware consisting of a file semantics extractor, matching candidates finder, regex matching units (REMUs), and results organizer. Furthermore, each stage of the pipeline makes the use of maximal parallelism possible. To make Registor readily usable by high-level applications, we have developed a set of APIs and libraries in Linux allowing Registor to process files in the SSD by recombining separate data blocks into files efficiently. A working prototype of Registor has been built in our newly designed NVMe-SSD. Extensive experiments and analyses have been carried out to show that Registor achieves high throughput, reduces the I/O bandwidth requirement by up to 97\%, and reduces CPU utilization by as much as 82\% for regex search in large datasets.", acknowledgement = ack-nhfb, articleno = "7", fjournal = "ACM Transactions on Storage", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J960", } @Article{Roy:2019:EHP, author = "I. Roy and A. Srivastava and M. Grimm and M. Nourian and M. Becchi and S. Aluru", title = "Evaluating High Performance Pattern Matching on the Automata Processor", journal = j-IEEE-TRANS-COMPUT, volume = "68", number = "8", pages = "1201--1212", month = aug, year = "2019", CODEN = "ITCOB4", DOI = "https://doi.org/10.1109/TC.2019.2901466", ISSN = "0018-9340 (print), 1557-9956 (electronic)", ISSN-L = "0018-9340", bibdate = "Thu Jul 11 09:46:20 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12", keywords = "Automata; automata processor; Central Processing Unit; Databases; Field programmable gate arrays; Finite automata; FPGAs; Instruction sets; intrusion detection; Programming; protein motifs; Proteins; regular expressions", } @Article{Sadredini:2019:SEM, author = "E. Sadredini and R. Rahimi and V. Verma and M. Stan and K. Skadron", title = "A Scalable and Efficient In-Memory Interconnect Architecture for Automata Processing", journal = j-IEEE-COMPUT-ARCHIT-LETT, volume = "18", number = "2", pages = "87--90", month = jul, year = "2019", DOI = "https://doi.org/10.1109/LCA.2019.2909870", ISSN = "1556-6056 (print), 1556-6064 (electronic)", ISSN-L = "1556-6056", bibdate = "Tue Oct 1 10:18:16 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeecomputarchitlett.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "Accelerating finite automata processing benefits regular-expression workloads and a wide range of other applications that do not map obviously to regular expressions, including pattern mining, bioinfomatics, and machine learning. Existing in-memory automata processing accelerators suffer from inefficient routing architectures. They are either incapable of efficiently place-and-route a highly connected automaton or require an excessive amount of hardware resources. In this paper, we propose a compact, low-overhead, and yet flexible in-memory interconnect architecture that efficiently implements routing for next-state activation, and can be applied to the existing in-memory automata processing architectures. We use SRAM 8T subarrays to evaluate our interconnect. Compared to the Cache Automaton routing design, our interconnect reduces the number of switches $ 7 \times $, therefore, reduces area overhead for the interconnect. It also has faster row cycle time because of shorter wires and consumes less power.", acknowledgement = ack-nhfb, fjournal = "IEEE Computer Architecture Letters", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=10208", keywords = "Automata; automata processing; bioinfomatics; cache automaton routing design; connected automaton; finite automata; finite automata processing; Hardware; hardware resources; in-memory automata; in-memory automata processing accelerators; in-memory interconnect architecture; Indexes; inefficient routing architectures; integrated circuit interconnections; Interconnect; machine learning; memory architecture; Memory management; next-state activation; pattern mining; processing in memory; Random access memory; regular expression workloads; Routing; SRAM 8T subarrays; SRAM chips", } @Article{Samadani:2019:SPM, author = "Mohammad Hasan Samadani and Mehdi Berenjkoob and Marina Blanton", title = "Secure pattern matching based on bit parallelism", journal = j-INT-J-INFO-SEC, volume = "18", number = "3", pages = "371--391", month = jun, year = "2019", CODEN = "????", DOI = "https://doi.org/10.1007/s10207-018-0410-8", ISSN = "1615-5262 (print), 1615-5270 (electronic)", ISSN-L = "1615-5262", bibdate = "Thu May 23 17:57:24 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/intjinfosec.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer.com/article/10.1007/s10207-018-0410-8", acknowledgement = ack-nhfb, fjournal = "International Journal of Information Security", journal-URL = "https://link.springer.com/journal/10207", } @Article{Shajii:2019:SHP, author = "Ariya Shajii and Ibrahim Numanagi{\'c} and Riyadh Baghdadi and Bonnie Berger and Saman Amarasinghe", title = "{Seq}: a high-performance language for bioinformatics", journal = j-PACMPL, volume = "3", number = "OOPSLA", pages = "125:1--125:29", month = oct, year = "2019", DOI = "https://doi.org/10.1145/3360551", bibdate = "Fri Aug 7 19:22:30 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib; https://www.math.utah.edu/pub/tex/bib/python.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/abs/10.1145/3360551", abstract = "The scope and scale of biological data are increasing at an exponential rate, as technologies like next-generation sequencing are becoming radically cheaper and more prevalent. Over the last two decades, the cost of sequencing a genome has dropped from \$100 million to nearly \$100 --- a factor of over $ 10^6 $ --- and the amount of data to be analyzed has increased proportionally. Yet, as Moore's Law continues to slow, computational biologists can no longer rely on computing hardware to compensate for the ever-increasing size of biological datasets. In a field where many researchers are primarily focused on biological analysis over computational optimization, the unfortunate solution to this problem is often to simply buy larger and faster machines.\par Here, we introduce Seq, the first language tailored specifically to bioinformatics, which marries the ease and productivity of Python with C-like performance. Seq starts with a subset of Python --- and is in many cases a drop-in replacement --- yet also incorporates novel bioinformatics- and computational genomics-oriented data types, language constructs and optimizations. Seq enables users to write high-level, Pythonic code without having to worry about low-level or domain-specific optimizations, and allows for the seamless expression of the algorithms, idioms and patterns found in many genomics or bioinformatics applications. We evaluated Seq on several standard computational genomics tasks like reverse complementation, k-mer manipulation, sequence pattern matching and large genomic index queries. On equivalent CPython code, Seq attains a performance improvement of up to two orders of magnitude, and a $ 160 \times $ improvement once domain-specific language features and optimizations are used. With parallelism, we demonstrate up to a $ 650 \times $ improvement. Compared to optimized C++ code, which is already difficult for most biologists to produce, Seq frequently attains up to a $ 2 \times $ improvement, and with shorter, cleaner code. Thus, Seq opens the door to an age of democratization of highly-optimized bioinformatics software.", acknowledgement = ack-nhfb, articleno = "125", fjournal = "Proceedings of the ACM on Programming Languages", journal-URL = "https://pacmpl.acm.org/", } @Article{Sudo:2019:SWM, author = "Hiroki Sudo and Masanobu Jimbo and Koji Nuida and Kana Shimizu", title = "Secure Wavelet Matrix: Alphabet-Friendly Privacy-Preserving String Search for Bioinformatics", journal = j-TCBB, volume = "16", number = "5", pages = "1675--1684", month = sep, year = "2019", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2018.2814039", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Fri Nov 29 16:39:03 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", abstract = "Biomedical data often includes personal information, and the technology is demanded that enables the searching of such sensitive data while protecting privacy. We consider a case in which a server has a text database and a user searches the database to find substring matches. The user wants to conceal his/her query and the server wants to conceal the database except for the search results. The previous approach for this problem is based on a linear-time algorithm in terms of alphabet size $ \mathbf {| \Sigma |} $, and it cannot search on the database of large alphabet such as biomedical documents. We present a novel algorithm that can search a string in logarithmic time of $ \mathbf {| \Sigma |} $. In our algorithm, named secure wavelet matrix sWM, we use an additively homomorphic encryption to build an efficient data structure called a wavelet matrix. In an experiment using a simulated string of length 10,000 whose alphabet size ranges from 4 to 1024, the run time of the sWM was up to around two orders of magnitude faster than that of the previous method. sWM enables the searching of a private database efficiently and thus it will facilitate utilizing sensitive biomedical information.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954", } @Article{Sulzmann:2019:DPD, author = "Martin Sulzmann and Peter Thiemann", title = "Derivatives and partial derivatives for regular shuffle expressions", journal = j-J-COMP-SYS-SCI, volume = "104", number = "??", pages = "323--341", month = sep, year = "2019", CODEN = "JCSSBM", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Mon Oct 14 10:03:54 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0022000016301325", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Article{Sun:2019:IMD, author = "Ruxia Sun and Lingfeng Shi and Chunyong Yin and Jin Wang", title = "An improved method in deep packet inspection based on regular expression", journal = j-J-SUPERCOMPUTING, volume = "75", number = "6", pages = "3317--3333", month = jun, year = "2019", CODEN = "JOSUED", DOI = "https://doi.org/10.1007/s11227-018-2517-0", ISSN = "0920-8542 (print), 1573-0484 (electronic)", ISSN-L = "0920-8542", bibdate = "Thu Oct 10 15:31:19 MDT 2019", bibsource = "http://link.springer.com/journal/11227/75/6; https://www.math.utah.edu/pub/tex/bib/jsuper.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "The Journal of Supercomputing", journal-URL = "http://link.springer.com/journal/11227", } @Article{Tang:2019:SAO, author = "Junjian Tang and Shunli Hao and Wenqi Qu", title = "Sentiment analysis of online {Chinese} comments based on statistical learning combining with pattern matching", journal = j-CCPE, volume = "31", number = "10", pages = "e4765:1--e4765:??", day = "25", month = may, year = "2019", CODEN = "CCPEBO", DOI = "https://doi.org/10.1002/cpe.4765", ISSN = "1532-0626 (print), 1532-0634 (electronic)", ISSN-L = "1532-0626", bibdate = "Sat Oct 12 11:00:01 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/ccpe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, ajournal = "Concurrency Computat., Pract. Exper.", fjournal = "Concurrency and Computation: Practice and Experience", journal-URL = "http://www.interscience.wiley.com/jpages/1532-0626", onlinedate = "11 November 2018", } @Article{Wang:2019:GGC, author = "Ping Wang and Luke Mchale and Paul V. Gratz and Alex Sprintson", title = "{GenMatcher}: a Generic Clustering-Based Arbitrary Matching Framework", journal = j-TACO, volume = "15", number = "4", pages = "51:1--51:??", month = jan, year = "2019", CODEN = "????", DOI = "https://doi.org/10.1145/3281663", ISSN = "1544-3566 (print), 1544-3973 (electronic)", ISSN-L = "1544-3566", bibdate = "Tue Jan 8 17:20:00 MST 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/taco.bib", abstract = "Packet classification methods rely upon packet content/header matching against rules. Thus, throughput of matching operations is critical in many networking applications. Further, with the advent of Software Defined Networking (SDN), efficient implementation of software approaches to matching are critical for the overall system performance. This article presents$^1$ GenMatcher, a generic, software-only, arbitrary matching framework for fast, efficient searches. The key idea of our approach is to represent arbitrary rules with efficient prefix-based tries. To support arbitrary wildcards, we rearrange bits within the rules such that wildcards accumulate to one side of the bitstring. Since many non-contiguous wildcards often remain, we use multiple prefix-based tries. The main challenge in this context is to generate efficient trie groupings and expansions to support all arbitrary rules. Finding an optimal mix of grouping and expansion is an NP-complete problem. Our contribution includes a novel, clustering-based grouping algorithm to group rules based upon their bit-level similarities. Our algorithm generates near-optimal trie groupings with low configuration times and provides significantly higher match throughput compared to prior techniques. Experiments with synthetic traffic show that our method can achieve a 58.9X speedup compared to the baseline on a single core processor under a given memory constraint.", acknowledgement = ack-nhfb, articleno = "51", fjournal = "ACM Transactions on Architecture and Code Optimization (TACO)", journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J924", } @Article{Xu:2019:PPS, author = "Zifeng Xu and Fucai Zhou and Yuxi Li and Jian Xu and Qiang Wang", title = "Privacy-Preserving Subgraph Matching Protocol for Two Parties", journal = j-INT-J-FOUND-COMP-SCI, volume = "30", number = "4", pages = "571--588", month = jun, year = "2019", DOI = "https://doi.org/10.1142/S0129054119400136", ISSN = "0129-0541", ISSN-L = "0129-0541", bibdate = "Fri Sep 20 10:48:00 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/cryptography2010; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.worldscientific.com/doi/10.1142/S0129054119400136", abstract = "Graph data structure has been widely used across many application areas, such as web data, social network, and cheminformatics. The main benefit of storing data as graphs is there exists a rich set of graph algorithms and operations that can be used to solve various computing problems, including pattern matching, data mining, and image processing. Among these graph algorithms, the subgraph isomorphism problem is one of the most fundamental algorithms that can be utilized by many higher level applications. The subgraph isomorphism problem is defined as, given two graphs G and H , whether G contains a subgraph that is isomorphic to H . In this paper, we consider a special case of the subgraph isomorphism problem called the subgraph matching problem, which tests whether G is a subgraph of H . We propose a protocol that solve the subgraph matching problem in a privacy-preserving manner. The protocol allows two parties to jointly compute whether one graph is a subgraph of the other, while protecting the private information about the input graphs. The protocol is secure under the semi-honest setting, where each party performs the protocol faithfully.", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", remark = "Special Issue Cryptography and Provable Security", } @Article{Xu:2019:TES, author = "Zhiwu Xu and Ping Lu and Haiming Chen", title = "Towards an Effective Syntax and a Generator for Deterministic Standard Regular Expressions", journal = j-COMP-J, volume = "62", number = "9", pages = "1322--1341", month = sep, year = "2019", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/bxy110", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Thu Oct 17 18:02:16 MDT 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/compj2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://academic.oup.com/comjnl/article/62/9/1322/5165111", acknowledgement = ack-nhfb, fjournal = "Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", } @Article{Yamamoto:2019:FAF, author = "Hiroaki Yamamoto", title = "A faster algorithm for finding shortest substring matches of a regular expression", journal = j-INFO-PROC-LETT, volume = "143", number = "??", pages = "56--60", month = mar, year = "2019", CODEN = "IFPLAT", DOI = "https://doi.org/10.1016/j.ipl.2018.12.001", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Thu Dec 27 15:17:34 MST 2018", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc2010.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0020019018302333", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", keywords = "Design of algorithms; Finite automaton; Matching algorithm; Regular expression; Shortest substring", } @Article{Abedin:2020:SSU, author = "Paniz Abedin and M. Oguzhan K{\"u}lekci and Shama V. Thankachan", title = "A Survey on Shortest Unique Substring Queries", journal = j-ALGORITHMS-BASEL, volume = "13", number = "9", month = sep, year = "2020", CODEN = "ALGOCH", DOI = "https://doi.org/10.3390/a13090224", ISSN = "1999-4893 (electronic)", ISSN-L = "1999-4893", bibdate = "Mon Sep 28 10:51:23 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/algorithms.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.mdpi.com/1999-4893/13/9/224", acknowledgement = ack-nhfb, articleno = "224", fjournal = "Algorithms (Basel)", journal-URL = "https://www.mdpi.com/", pagecount = "??", } @Article{Amarilli:2020:CDE, author = "Antoine Amarilli and Pierre Bourhis and Stefan Mengel and Matthias Niewerth", title = "Constant-Delay Enumeration for Nondeterministic Document Spanners", journal = j-SIGMOD, volume = "49", number = "1", pages = "25--32", month = sep, year = "2020", CODEN = "SRECD8", DOI = "https://doi.org/10.1145/3422648.3422655", ISSN = "0163-5808 (print), 1943-5835 (electronic)", ISSN-L = "0163-5808", bibdate = "Sun Sep 6 17:50:43 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigmod.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3422648.3422655", abstract = "One of the classical tasks in information extraction is to extract subparts of texts through regular expressions. In the database theory literature, this approach has been generalized and formalized as document spanners. In this model, extraction is performed by evaluating a particular kind of automata, called a sequential variable-set automaton (VA). The efficiency of this task is then measured in the context of enumeration algorithms: we first run a preprocessing phase computing a compact representation of the answers, and second we produce the results one after the other with a short time between consecutive answers, called the delay of the enumeration. Our goal is to have an algorithm that is tractable in combined complexity, i.e., in the sizes of the input document and the VA, while ensuring the best possible data complexity bounds in the input document size, i.e., a constant delay that does not depend on the document. We present such an algorithm for a variant of VAs called extended sequential VAs and give an experimental evaluation of this algorithm.", acknowledgement = ack-nhfb, fjournal = "SIGMOD Record (ACM Special Interest Group on Management of Data)", journal-URL = "https://dl.acm.org/loi/sigmod", } @Article{Amir:2020:DIL, author = "Amihood Amir and Panagiotis Charalampopoulos and Jakub Radoszewski", title = "Dynamic and Internal Longest Common Substring", journal = j-ALGORITHMICA, volume = "82", number = "12", pages = "3707--3743", month = dec, year = "2020", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s00453-020-00744-0", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", bibdate = "Thu May 13 21:01:41 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://link.springer.com/article/10.1007/s00453-020-00744-0", acknowledgement = ack-nhfb, fjournal = "Algorithmica", journal-URL = "http://link.springer.com/journal/453", online-date = "Published: 15 July 2020 Pages: 3707 - 3743", } @Article{Barozzini:2020:BRL, author = "David Barozzini and David de Frutos-Escrig and Dario {Della Monica} and Angelo Montanari and Pietro Sala", title = "Beyond $ \omega $-regular languages: {$ \omega T$}-regular expressions and their automata and logic counterparts", journal = j-THEOR-COMP-SCI, volume = "813", number = "??", pages = "270--304", day = "12", month = apr, year = "2020", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2019.12.029", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Thu Apr 23 07:41:40 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2020.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397519308114", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Baudru:2020:TWT, author = "Nicolas Baudru and Pierre-Alain Reynier", title = "From Two-Way Transducers to Regular Function Expressions", journal = j-INT-J-FOUND-COMP-SCI, volume = "31", number = "06", pages = "843--873", month = sep, year = "2020", DOI = "https://doi.org/10.1142/S0129054120410087", ISSN = "0129-0541", ISSN-L = "0129-0541", bibdate = "Thu Dec 17 19:26:33 MST 2020", bibsource = "http://www.worldscientific.com/loi/ijfcs; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.worldscientific.com/doi/10.1142/S0129054120410087", abstract = "Transducers constitute a fundamental extension of automata. The class of regular word functions has recently emerged as an important class of word-to-word functions, characterized by means of (functional, or unambiguous, or deterministic) two-way transducers, copyless streaming string transducers, and MSO-definable graph transformations. A fundamental result in language theory is Kleene's Theorem, relating finite state automata and regular expressions. Recently, a set of regular function expressions has been introduced and used to prove a similar result for regular word functions, by showing its equivalence with copyless streaming string transducers. In this paper, we propose a direct, simplified and effective translation from unambiguous two-way transducers to regular function expressions extending the Brzozowski and McCluskey algorithm. In addition, our approach allows us to derive a subset of regular function expressions characterizing the (strict) subclass of functional sweeping transducers.", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", remark = "Special Issue: Developments in Language Theory 2018", } @Article{Bernardini:2020:APM, author = "Giulia Bernardini and Nadia Pisanti and Solon P. Pissis and Giovanna Rosone", title = "Approximate pattern matching on elastic-degenerate text", journal = j-THEOR-COMP-SCI, volume = "812", number = "??", pages = "109--122", month = apr, year = "2020", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2019.08.012", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Thu Apr 23 07:41:39 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2020.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397519305018", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Chen:2020:IAO, author = "Haiming Chen and Zhiwu Xu", title = "Inclusion algorithms for one-unambiguous regular expressions and their applications", journal = j-SCI-COMPUT-PROGRAM, volume = "193", number = "??", pages = "??--??", day = "1", month = jul, year = "2020", CODEN = "SCPGD4", DOI = "https://doi.org/10.1016/j.scico.2020.102436", ISSN = "0167-6423 (print), 1872-7964 (electronic)", ISSN-L = "0167-6423", bibdate = "Wed May 26 13:33:21 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S016764231830296X", acknowledgement = ack-nhfb, articleno = "102436", fjournal = "Science of Computer Programming", journal-URL = "http://www.sciencedirect.com/science/journal/01676423", } @Article{Cockx:2020:EDC, author = "Jesper Cockx and Andreas Abel", title = "Elaborating dependent (co)pattern matching: No pattern left behind", journal = j-J-FUNCT-PROGRAM, volume = "30", number = "??", pages = "e2", month = "????", year = "2020", CODEN = "JFPRES", DOI = "https://doi.org/10.1017/S0956796819000182", ISSN = "0956-7968 (print), 1469-7653 (electronic)", ISSN-L = "0956-7968", bibdate = "Mon Aug 10 07:38:39 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.cambridge.org/core/journals/journal-of-functional-programming/article/elaborating-dependent-copattern-matching-no-pattern-left-behind/F13CECDAB2B6200135D45452CA44A8B3", acknowledgement = ack-nhfb, ajournal = "J. Funct. Program.", fjournal = "Journal of Functional Programming", journal-URL = "https://www.cambridge.org/core/journals/journal-of-functional-programming", onlinedate = "21 January 2020", } @Article{Darragh:2020:PZF, author = "Pierce Darragh and Michael D. Adams", title = "Parsing with zippers (functional pearl)", journal = j-PACMPL, volume = "4", number = "ICFP", pages = "108:1--108:28", month = aug, year = "2020", DOI = "https://doi.org/10.1145/3408990", bibdate = "Tue Mar 30 08:10:48 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3408990", abstract = "Parsing with Derivatives (PwD) is an elegant approach to parsing context-free grammars (CFGs). It takes the equational theory behind Brzozowski's derivative for regular expressions and augments that theory with laziness, memoization, and fixed points. \ldots{}", acknowledgement = ack-nhfb, articleno = "108", fjournal = "Proceedings of the ACM on Programming Languages", journal-URL = "https://pacmpl.acm.org/", } @Article{Faro:2020:EOS, author = "Simone Faro and Francesco Pio Marino and Arianna Pavone", title = "Efficient Online String Matching Based on Characters Distance Text Sampling", journal = j-ALGORITHMICA, volume = "82", number = "11", pages = "3390--3412", month = nov, year = "2020", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s00453-020-00732-4", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", bibdate = "Thu May 13 21:01:41 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://link.springer.com/article/10.1007/s00453-020-00732-4", acknowledgement = ack-nhfb, fjournal = "Algorithmica", journal-URL = "http://link.springer.com/journal/453", online-date = "Published: 20 June 2020 Pages: 3390 - 3412", } @Article{Fernau:2020:PMV, author = "Henning Fernau and Florin Manea and Robert Mercas and Markus L. Schmid", title = "Pattern Matching with Variables: Efficient Algorithms and Complexity Results", journal = j-TOCT, volume = "12", number = "1", pages = "6:1--6:37", month = feb, year = "2020", CODEN = "????", DOI = "https://doi.org/10.1145/3369935", ISSN = "1942-3454 (print), 1942-3462 (electronic)", ISSN-L = "1942-3454", bibdate = "Wed Feb 26 07:25:37 MST 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/toct.bib", URL = "https://dl.acm.org/doi/abs/10.1145/3369935", abstract = "A pattern $ \alpha $ (i.e., a string of variables and terminals) matches a word $w$, if $w$ can be obtained by uniformly replacing the variables of $ \alpha $ by terminal words. The respective matching problem, i.e., deciding whether or not a given pattern matches a given \ldots{}", acknowledgement = ack-nhfb, articleno = "6", fjournal = "ACM Transactions on Computation Theory", journal-URL = "https://dl.acm.org/loi/toct", } @Article{Florenzano:2020:EEA, author = "Fernando Florenzano and Cristian Riveros and Mart{\'\i}n Ugarte and Stijn Vansummeren and Domagoj Vrgoc", title = "Efficient Enumeration Algorithms for Regular Document Spanners", journal = j-TODS, volume = "45", number = "1", pages = "3:1--3:42", month = mar, year = "2020", CODEN = "ATDSD3", DOI = "https://doi.org/10.1145/3351451", ISSN = "0362-5915 (print), 1557-4644 (electronic)", ISSN-L = "0362-5915", bibdate = "Wed Mar 4 07:13:27 MST 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tods.bib", URL = "https://dl.acm.org/doi/abs/10.1145/3351451", abstract = "Regular expressions and automata models with capture variables are core tools in rule-based information extraction. These formalisms, also called regular document spanners, use regular languages to locate the data that a user wants to extract from a \ldots{}", acknowledgement = ack-nhfb, articleno = "3", fjournal = "ACM Transactions on Database Systems", journal-URL = "https://dl.acm.org/loi/tods", } @Article{Franek:2020:CML, author = "Frantisek Franek", title = "Computing Maximal {Lyndon} Substrings of a String", journal = j-ALGORITHMS-BASEL, volume = "13", number = "11", pages = "??--??", month = nov, year = "2020", CODEN = "ALGOCH", DOI = "https://doi.org/10.3390/a13110294", ISSN = "1999-4893 (electronic)", ISSN-L = "1999-4893", bibdate = "Sat Dec 26 06:54:33 MST 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/algorithms.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.mdpi.com/1999-4893/13/11/294", acknowledgement = ack-nhfb, fjournal = "Algorithms (Basel)", journal-URL = "https://www.mdpi.com/", } @Article{Graf:2020:LYG, author = "Sebastian Graf and Simon Peyton Jones and Ryan G. Scott", title = "Lower your guards: a compositional pattern-match coverage checker", journal = j-PACMPL, volume = "4", number = "ICFP", pages = "107:1--107:30", month = aug, year = "2020", DOI = "https://doi.org/10.1145/3408989", bibdate = "Tue Mar 30 08:10:48 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3408989", abstract = "A compiler should warn if a function defined by pattern matching does not cover its inputs-that is, if there are missing or redundant patterns. Generating such warnings accurately is difficult for modern languages due to the myriad of language features \ldots{}", acknowledgement = ack-nhfb, articleno = "107", fjournal = "Proceedings of the ACM on Programming Languages", journal-URL = "https://pacmpl.acm.org/", } @Article{Jeong:2020:RSH, author = "W. S. Jeong and C. Lee and K. Kim and M. K. Yoon and W. Jeon and M. Jung and W. W. Ro", title = "{REACT}: Scalable and High-Performance Regular Expression Pattern Matching Accelerator for In-Storage Processing", journal = j-IEEE-TRANS-PAR-DIST-SYS, volume = "31", number = "5", pages = "1137--1151", month = may, year = "2020", CODEN = "ITDSEO", DOI = "https://doi.org/10.1109/TPDS.2019.2953646", ISSN = "1045-9219 (print), 1558-2183 (electronic)", ISSN-L = "1045-9219", bibdate = "Thu Feb 20 10:08:58 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranspardistsys.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Parallel and Distributed Systems", journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=71", keywords = "accelerator; In-storage processing (ISP); regular expression matching; solid-state drive", } @Article{Jiang:2020:CSM, author = "Peng Jiang and Yang Xia and Gagan Agrawal", title = "Combining {SIMD} and Many\slash Multi-core Parallelism for Finite-state Machines with Enumerative Speculation", journal = j-TOPC, volume = "7", number = "3", pages = "15:1--15:26", month = aug, year = "2020", CODEN = "????", DOI = "https://doi.org/10.1145/3399714", ISSN = "2329-4949 (print), 2329-4957 (electronic)", ISSN-L = "2329-4949", bibdate = "Thu Aug 6 08:56:07 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/topc.bib", URL = "https://dl.acm.org/doi/abs/10.1145/3399714", abstract = "Finite-state Machine (FSM) is the key kernel behind many popular applications, including regular expression matching, text tokenization, and Huffman decoding. Parallelizing FSMs is extremely difficult because of the strong dependencies and unpredictable \ldots{}", acknowledgement = ack-nhfb, articleno = "15", fjournal = "ACM Transactions on Parallel Computing", journal-URL = "https://dl.acm.org/loi/topc", } @Article{Konstantinidis:2020:RET, author = "Stavros Konstantinidis and Nelma Moreira and Rog{\'e}rio Reis and Joshua Young", title = "Regular Expressions and Transducers Over Alphabet-Invariant and User-Defined Labels", journal = j-INT-J-FOUND-COMP-SCI, volume = "31", number = "08", pages = "983--1019", month = dec, year = "2020", DOI = "https://doi.org/10.1142/S0129054120420010", ISSN = "0129-0541", ISSN-L = "0129-0541", bibdate = "Thu Jan 21 07:02:13 MST 2021", bibsource = "http://www.worldscientific.com/loi/ijfcs; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.worldscientific.com/doi/10.1142/S0129054120420010", abstract = "We are interested in regular expressions and transducers that represent word relations in an alphabet-invariant way --- for example, the set of all word pairs u,v where v is a prefix of u independently of what the alphabet is. Current software systems of formal language objects do not have a mechanism to define such objects. We define transducers in which transition labels involve what we call set specifications, some of which are alphabet invariant. In fact, we give a more broad definition of automata-type objects, called labelled graphs, where each transition label can be any string, as long as that string represents a subset of a certain monoid. Then, the behavior of the labelled graph is a subset of that monoid. We do the same for regular expressions. We obtain extensions of a few classic algorithmic constructions on ordinary regular expressions and transducers at the broad level of labelled graphs and in such a way that the computational efficiency of the extended constructions is not sacrificed. For transducers with set specs we obtain further algorithms that can be applied to questions about independent regular languages as well as a decision question about synchronous transducers.", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", remark = "Special Issue: Implementations and Applications of Automata (CIAA 2018)", } @Article{Lee:2020:YCA, author = "D. J. Lee and J. Lee and T. Siddiqui and J. Kim and K. Karahalios and A. Parameswaran", title = "You can't always sketch what you want: Understanding Sensemaking in Visual Query Systems", journal = j-IEEE-TRANS-VIS-COMPUT-GRAPH, volume = "26", number = "1", pages = "1267--1277", month = jan, year = "2020", CODEN = "ITVGEA", DOI = "https://doi.org/10.1109/TVCG.2019.2934666", ISSN = "1077-2626 (print), 1941-0506 (electronic), 2160-9306", ISSN-L = "1077-2626", bibdate = "Fri Nov 29 06:43:36 2019", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetransviscomputgraph.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Visualization and Computer Graphics", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2945", keywords = "Buildings; Data visualization; exploratory analysis; Interviews; Pattern matching; Taxonomy; User centered design; Visual analytics; visual queries; Visualization", } @Article{Moia:2020:IEC, author = "Vitor Hugo Galhardo Moia and Frank Breitinger and Marco Aur{\'e}lio Amaral Henriques", title = "The impact of excluding common blocks for approximate matching", journal = j-COMPUT-SECUR, volume = "89", number = "??", pages = "Article 101676", month = feb, year = "2020", CODEN = "CPSEDU", ISSN = "0167-4048 (print), 1872-6208 (electronic)", ISSN-L = "0167-4048", bibdate = "Sat Mar 14 18:49:57 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/computsecur2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0167404819302159", acknowledgement = ack-nhfb, fjournal = "Computers \& Security", journal-URL = "http://www.sciencedirect.com/science/journal/01674048", } @Article{Monnier:2020:EEL, author = "Stefan Monnier and Michael Sperber", title = "Evolution of {Emacs Lisp}", journal = j-PACMPL, volume = "4", number = "HOPL", pages = "74:1--74:55", month = jun, year = "2020", DOI = "https://doi.org/10.1145/3386324", bibdate = "Fri Aug 7 17:39:13 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/common-lisp.bib; https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/pacmpl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/abs/10.1145/3386324", abstract = "While Emacs proponents largely agree that it is the world's greatest text editor, it is almost as much a Lisp machine disguised as an editor. Indeed, one of its chief appeals is that it is programmable via its own programming language. Emacs Lisp is a Lisp in the classic tradition. In this article, we present the history of this language over its more than 30 years of evolution. Its core has remained remarkably stable since its inception in 1985, in large part to preserve compatibility with the many third-party packages providing a multitude of extensions. Still, Emacs Lisp has evolved and continues to do so.\par Important aspects of Emacs Lisp have been shaped by concrete requirements of the editor it supports as well as implementation constraints. These requirements led to the choice of a Lisp dialect as Emacs's language in the first place, specifically its simplicity and dynamic nature: Loading additional Emacs packages or changing the ones in place occurs frequently, and having to restart the editor in order to re-compile or re-link the code would be unacceptable. Fulfilling this requirement in a more static language would have been difficult at best.\par One of Lisp's chief characteristics is its malleability through its uniform syntax and the use of macros. This has allowed the language to evolve much more rapidly and substantively than the evolution of its core would suggest, by letting Emacs packages provide new surface syntax alongside new functions. In particular, Emacs Lisp can be customized to look much like Common Lisp, and additional packages provide multiple-dispatch object systems, legible regular expressions, programmable pattern-matching constructs, generalized variables, and more. Still, the core has also evolved, albeit slowly. Most notably, it acquired support for lexical scoping.\par The timeline of Emacs Lisp development is closely tied to the projects and people who have shaped it over the years: We document Emacs Lisp history through its predecessors, Mocklisp and MacLisp, its early development up to the ``Emacs schism'' and the fork of Lucid Emacs, the development of XEmacs, and the subsequent renaissance of Emacs development.", acknowledgement = ack-nhfb, articleno = "74", fjournal = "Proceedings of the ACM on Programming Languages", journal-URL = "https://pacmpl.acm.org/", } @Article{Narisada:2020:ECL, author = "Shintaro Narisada and Diptarama Hendrian and Kazuyuki Narisawa and Shunsuke Inenaga and Ayumi Shinohara", title = "Efficient computation of longest single-arm-gapped palindromes in a string", journal = j-THEOR-COMP-SCI, volume = "812", number = "??", pages = "160--173", month = apr, year = "2020", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2019.10.025", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Thu Apr 23 07:41:39 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2020.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397519306541", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Navarrete:2020:PRE, author = "Lise Rommel Romero Navarrete and Guilherme P. Telles", title = "Practical regular expression constrained sequence alignment", journal = j-THEOR-COMP-SCI, volume = "815", number = "??", pages = "95--108", day = "2", month = may, year = "2020", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2020.02.017", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Thu Apr 23 07:41:41 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2020.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397520301018", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Polo:2020:AGO, author = "Macario Polo and Oscar Pedreira and {\'A}ngeles S. Places and Ignacio Garc{\'\i}a Rodr{\'\i}guez de Guzm{\'a}n", title = "Automated generation of oracled test cases with regular expressions and combinatorial techniques", journal = j-J-SOFTW-EVOL-PROC, volume = "32", number = "12", pages = "e2273:1--e2273:??", month = dec, year = "2020", CODEN = "????", DOI = "https://doi.org/10.1002/smr.2273", ISSN = "2047-7473 (print), 2047-7481 (electronic)", ISSN-L = "2047-7473", bibdate = "Mon May 17 08:20:31 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/jsoftwevolproc.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.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 = "04 June 2020", } @Article{Qahtan:2020:PFD, author = "Abdulhakim Qahtan and Nan Tang and Mourad Ouzzani and Yang Cao and Michael Stonebraker", title = "Pattern functional dependencies for data cleaning", journal = j-PROC-VLDB-ENDOWMENT, volume = "13", number = "5", pages = "684--697", month = jan, year = "2020", CODEN = "????", DOI = "https://doi.org/10.14778/3377369.3377377", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Thu Apr 2 10:51:27 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", URL = "https://dl.acm.org/doi/abs/10.14778/3377369.3377377", abstract = "Patterns (or regex-based expressions) are widely used to constrain the format of a domain (or a column), e.g., a Year column should contain only four digits, and thus a value like ``1980-'' might be a typo. Moreover, integrity constraints (ICs) defined \ldots{}", acknowledgement = ack-nhfb, ajournal = "Proc. VLDB Endowment", fjournal = "Proceedings of the VLDB Endowment", journal-URL = "https://dl.acm.org/loi/pvldb", } @Article{Ryu:2020:FSM, author = "Cheol Ryu and Thierry Lecroq and Kunsoo Park", title = "Fast string matching for {DNA} sequences", journal = j-THEOR-COMP-SCI, volume = "812", number = "??", pages = "137--148", month = apr, year = "2020", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2019.09.031", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Thu Apr 23 07:41:39 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2020.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397519305821", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Saha:2020:EPP, author = "Tushar Kanti Saha and Deevashwer Rathee and Takeshi Koshiba", title = "Efficient protocols for private wildcards pattern matching", journal = j-J-INFO-SEC-APPL, volume = "55", number = "??", pages = "??--??", month = dec, year = "2020", CODEN = "????", DOI = "https://doi.org/10.1016/j.jisa.2020.102609", ISSN = "2214-2126", ISSN-L = "2214-2126", bibdate = "Sun May 8 11:59:32 MDT 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/jinfosecappl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S2214212620307742", acknowledgement = ack-nhfb, ajournal = "J. Info. Sec. Appl.", articleno = "102609", fjournal = "Journal of Information Security and Applications (JISA)", journal-URL = "http://www.sciencedirect.com/science/journal/22142126", } @Article{Shetiya:2020:AAS, author = "Suraj Shetiya and Saravanan Thirumuruganathan and Nick Koudas and Gautam Das", title = "{Astrid}: accurate selectivity estimation for string predicates using deep learning", journal = j-PROC-VLDB-ENDOWMENT, volume = "14", number = "4", pages = "471--484", month = dec, year = "2020", CODEN = "????", DOI = "https://doi.org/10.14778/3436905.3436907", ISSN = "2150-8097", bibdate = "Tue Feb 23 08:32:42 MST 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", URL = "https://dl.acm.org/doi/10.14778/3436905.3436907", abstract = "Accurate selectivity estimation for string predicates is a long-standing research challenge in databases. Supporting pattern matching on strings (such as prefix, substring, and suffix) makes this problem much more challenging, thereby necessitating a \ldots{}", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "https://dl.acm.org/loi/pvldb", } @Article{Stylianopoulos:2020:MPM, author = "Charalampos Stylianopoulos and Magnus Almgren and Olaf Landsiedel and Marina Papatriantafilou", title = "Multiple pattern matching for network security applications: Acceleration through vectorization", journal = j-J-PAR-DIST-COMP, volume = "137", number = "??", pages = "34--52", month = mar, year = "2020", CODEN = "JPDCER", ISSN = "0743-7315 (print), 1096-0848 (electronic)", ISSN-L = "0743-7315", bibdate = "Wed Mar 18 09:26:11 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/jpardistcomp.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0743731519301984", acknowledgement = ack-nhfb, fjournal = "Journal of Parallel and Distributed Computing", journal-URL = "http://www.sciencedirect.com/science/journal/07437315", } @Article{Sun:2020:ERE, author = "Xiuwen Sun and Hao Li and Dan Zhao and Xingxing Lu and Zheng Peng and Chengchen Hu", title = "Efficient regular expression matching over compressed traffic", journal = j-COMP-NET-AMSTERDAM, volume = "168", number = "??", pages = "Article 106996", day = "26", month = feb, year = "2020", CODEN = "????", DOI = "https://doi.org/10.1016/j.comnet.2019.106996", ISSN = "1389-1286 (print), 1872-7069 (electronic)", ISSN-L = "1389-1286", bibdate = "Fri Aug 14 10:03:45 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/compnetamsterdam2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S1389128618311939", acknowledgement = ack-nhfb, fjournal = "Computer Networks (Amsterdam, Netherlands: 1999)", journal-URL = "http://www.sciencedirect.com/science/journal/13891286/", } @Article{Taha:2020:AMM, author = "Mohammad M. A. Taha and Christof Teuscher", title = "Approximate Memristive In-Memory {Hamming} Distance Circuit", journal = j-JETC, volume = "16", number = "2", pages = "18:1--18:14", month = apr, year = "2020", CODEN = "????", DOI = "https://doi.org/10.1145/3371391", ISSN = "1550-4832", ISSN-L = "1550-4832", bibdate = "Tue May 5 13:48:07 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/jetc.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/abs/10.1145/3371391", abstract = "Hamming Distance (HD) is a popular similarity measure that is used widely in pattern matching applications, DNA sequencing, and binary error-correcting codes. In this article, we extend our previous work to prove that our HD circuit is scalable, \ldots{}", acknowledgement = ack-nhfb, articleno = "18", fjournal = "ACM Journal on Emerging Technologies in Computing Systems (JETC)", journal-URL = "https://dl.acm.org/loi/jetc", } @Article{Tejiscak:2020:DTC, author = "Mat{\'u}s Tejisc{\'a}k", title = "A dependently typed calculus with pattern matching and erasure inference", journal = j-PACMPL, volume = "4", number = "ICFP", pages = "91:1--91:29", month = aug, year = "2020", DOI = "https://doi.org/10.1145/3408973", bibdate = "Tue Mar 30 08:10:48 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3408973", abstract = "Some parts of dependently typed programs constitute evidence of their type-correctness and, once checked, are unnecessary for execution. These parts can easily become asymptotically larger than the remaining runtime-useful computation, which can cause \ldots{}", acknowledgement = ack-nhfb, articleno = "91", fjournal = "Proceedings of the ACM on Programming Languages", journal-URL = "https://pacmpl.acm.org/", } @Article{Travnicek:2020:MBM, author = "Jan Tr{\'a}vn{\'\i}{\v{c}}ek and Jan Janou{\v{s}}ek and Bo{\v{r}}ivoj Melichar and Loek Cleophas", title = "On modification of {Boyer--Moore--Horspool}'s algorithm for tree pattern matching in linearised trees", journal = j-THEOR-COMP-SCI, volume = "830--831", number = "??", pages = "60--90", day = "24", month = aug, year = "2020", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2020.04.027", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Fri Mar 12 06:53:40 MST 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2020.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397520302425", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Turonova:2020:RMC, author = "Lenka Turo{\v{n}}ov{\'a} and Luk{\'a}{\v{s}} Hol{\'{\i}}k and Ond{\v{r}}ej Leng{\'a}l and Olli Saarikivi and Margus Veanes and Tom{\'a}{\v{s}} Vojnar", title = "Regex matching with counting-set automata", journal = j-PACMPL, volume = "4", number = "OOPSLA", pages = "218:1--218:30", month = nov, year = "2020", DOI = "https://doi.org/10.1145/3428286", bibdate = "Tue Mar 30 08:10:50 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3428286", abstract = "We propose a solution to the problem of efficient matching regular expressions (regexes) with bounded repetition, such as (ab){1,100}, using deterministic automata. For this, we introduce novel counting-set automata (CsAs), automata with registers that \ldots{}", acknowledgement = ack-nhfb, articleno = "218", fjournal = "Proceedings of the ACM on Programming Languages", journal-URL = "https://pacmpl.acm.org/", } @Article{Zheng:2020:SGT, author = "Lixiao Zheng and Shuai Ma and Yuanyang Wang and Gang Lin", title = "String Generation for Testing Regular Expressions", journal = j-COMP-J, volume = "63", number = "1", pages = "41--65", month = jan, year = "2020", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/bxy137", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Mon Jan 27 16:04:32 MST 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/compj2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://academic.oup.com/comjnl/article/63/1/41/5288328", acknowledgement = ack-nhfb, fjournal = "Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", } @Article{Zhu:2020:DBA, author = "Xiaodong Zhu and Yi Zhang and Liehui Jiang and Rui Chang", title = "Determining the base address of {MIPS} firmware based on absolute address statistics and string reference matching", journal = j-COMPUT-SECUR, volume = "88", number = "??", pages = "Article 101504", month = jan, year = "2020", CODEN = "CPSEDU", ISSN = "0167-4048 (print), 1872-6208 (electronic)", ISSN-L = "0167-4048", bibdate = "Sat Mar 14 18:49:56 MDT 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/computsecur2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0167404819300860", acknowledgement = ack-nhfb, fjournal = "Computers \& Security", journal-URL = "http://www.sciencedirect.com/science/journal/01674048", keywords = "Absolute address statistics; Base address determination; Embedded system; MIPS architecture; Reverse engineering; String reference matching", } @Article{Al-Sibahi:2021:VPT, author = "Ahmad Salim Al-Sibahi and Thomas P. Jensen and Aleksandar S. Dimovski and Andrzej Wasowski", title = "Verification of Program Transformations with Inductive Refinement Types", journal = j-TOSEM, volume = "30", number = "1", pages = "5:1--5:33", month = jan, year = "2021", CODEN = "ATSMER", DOI = "https://doi.org/10.1145/3409805", ISSN = "1049-331X (print), 1557-7392 (electronic)", ISSN-L = "1049-331X", bibdate = "Fri Jan 22 07:02:14 MST 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tosem.bib", URL = "https://dl.acm.org/doi/10.1145/3409805", abstract = "High-level transformation languages like Rascal include expressive features for manipulating large abstract syntax trees: first-class traversals, expressive pattern matching, backtracking, and generalized iterators. We present the design and \ldots{}", acknowledgement = ack-nhfb, ajournal = "ACM Trans. Softw. Eng. Methodol.", articleno = "5", fjournal = "ACM Transactions on Software Engineering and Methodology", journal-URL = "https://dl.acm.org/loi/tosem", } @Article{Allen:2021:UFP, author = "Daniel R. Allen and Sharma V. Thankachan and Bojian Xu", title = "An Ultra-Fast and Parallelizable Algorithm for Finding $k$-Mismatch Shortest Unique Substrings", journal = j-TCBB, volume = "18", number = "1", pages = "138--148", month = jan, year = "2021", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2020.2968531", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Tue Jun 15 14:32:53 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", URL = "https://dl.acm.org/doi/10.1109/TCBB.2020.2968531", abstract = "This paper revisits the k-mismatch shortest unique substring finding problem and demonstrates that a technique recently presented in the context of solving the k-mismatch average common substring problem can be adapted and combined with parts of the existing solution, resulting in a new algorithm which has expected time complexity of $ O(n \log^k n) $, while maintaining a practical space complexity at $ O(k n) $, where $n$ is the string length. When $ k > 0$, which is the hard case, our new proposal significantly improves the anycase $ O(n^2)$ time complexity of the prior best method for $k$-mismatch shortest unique substring finding. Experimental study shows that our new algorithm is practical to implement and demonstrates significant improvements in processing time compared to the prior best solution's implementation when $k$ is small relative ton. For example, our method processes a 200 KB sample DNA sequence with $ k = 1$ in just 0.18 seconds compared to 174.37 seconds with the prior best solution. Further, it is observed that significant portions of the adapted technique can be executed in parallel, using two different simple concurrency models, resulting in further significant practical performance improvement. As an example, when using 8 cores, the parallel implementations both achieved processing times that are less than 1/4 of the serial implementation's time cost, when processing a 10 MB sample DNA sequence with $ k = 2$. In an age where instances with thousands of gigabytes of RAM are readily available for use through Cloud infrastructure providers, it is likely that the trade-off of additional memory usage for significantly improved processing times will be desirable and needed by many users. For example, the best prior solution may spend years to finish a DNA sample of 200MB for any $ k > 0$, while this new proposal, using 24 cores, can finish processing a sample of this size with $ k = 1$ in 206.376 seconds with a peak memory usage of 46 GB, which is both easily available and affordable on Cloud. It is expected that this new efficient and practical algorithm for $k$-mismatch shortest unique substring finding will prove useful to those using the measure on long sequences in fields such as computational biology. We also give a theoretical bound that the $k$-mismatch shortest unique substring finding problem can be solved using $ O(n \log^k n)$ time and $ O(n)$ space, asymptotically much better than the one we implemented, serving as a new discovery of interest.", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "https://dl.acm.org/loi/tcbb", } @Article{Berglund:2021:FIB, author = "Martin Berglund and Willem Bester and Brink van der Merwe", title = "Formalising and implementing {Boost POSIX} regular expression matching", journal = j-THEOR-COMP-SCI, volume = "857", number = "??", pages = "147--165", day = "12", month = feb, year = "2021", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2021.01.010", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Fri Mar 12 06:53:53 MST 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2020.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397521000232", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Borsotti:2021:DPA, author = "Angelo Borsotti and Luca Breveglieri and Angelo Morzenti", title = "A deterministic parsing algorithm for ambiguous regular expressions", journal = j-ACTA-INFO, volume = "58", number = "3", pages = "195--229", month = jun, year = "2021", CODEN = "AINFA2", DOI = "https://doi.org/10.1007/s00236-020-00366-7", ISSN = "0001-5903 (print), 1432-0525 (electronic)", ISSN-L = "0001-5903", bibdate = "Sat Feb 26 17:35:38 MST 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/actainfo.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://link.springer.com/article/10.1007/s00236-020-00366-7", acknowledgement = ack-nhfb, fjournal = "Acta Informatica", journal-URL = "http://link.springer.com/journal/236", } @Article{Borsotti:2021:EPS, author = "Angelo Borsotti and Ulya Trofimovich", title = "Efficient {POSIX} submatch extraction on nondeterministic finite automata", journal = j-SPE, volume = "51", number = "2", pages = "159--192", month = feb, year = "2021", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.2881", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Fri Feb 26 08:59:24 MST 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.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 2020", } @Article{Bouhenni:2021:SDG, author = "Sarra Bouhenni and Sa{\"\i}d Yahiaoui and Nadia Nouali-Taboudjemat and Hamamache Kheddouci", title = "A Survey on Distributed Graph Pattern Matching in Massive Graphs", journal = j-COMP-SURV, volume = "54", number = "2", pages = "36:1--36:35", month = apr, year = "2021", CODEN = "CMSVAN", DOI = "https://doi.org/10.1145/3439724", ISSN = "0360-0300 (print), 1557-7341 (electronic)", ISSN-L = "0360-0300", bibdate = "Fri Apr 23 10:35:01 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/compsurv.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3439724", abstract = "Besides its NP-completeness, the strict constraints of subgraph isomorphism are making it impractical for graph pattern matching (GPM) in the context of big data. As a result, relaxed GPM models have emerged as they yield interesting results in a \ldots{}", acknowledgement = ack-nhfb, articleno = "36", fjournal = "ACM Computing Surveys", journal-URL = "https://dl.acm.org/loi/csur", } @Article{Charalampopoulos:2021:CPM, author = "Panagiotis Charalampopoulos and Tomasz Kociumaka and Solon P. Pissis and Jakub Radoszewski and Wojciech Rytter and Juliusz Straszy{\'n}ski and Tomasz Wale{\'n} and Wiktor Zuba", title = "Circular pattern matching with $k$ mismatches", journal = j-J-COMP-SYS-SCI, volume = "115", number = "??", pages = "73--85", month = feb, year = "2021", CODEN = "JCSSBM", DOI = "https://doi.org/10.1016/j.jcss.2020.07.003", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Wed May 26 15:41:28 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0022000020300702", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @Article{Chauhan:2021:ARP, author = "Komal Chauhan and Kartik Jain and Sayan Ranu and Srikanta Bedathur and Amitabha Bagchi", title = "Answering regular path queries through exemplars", journal = j-PROC-VLDB-ENDOWMENT, volume = "15", number = "2", pages = "299--311", month = oct, year = "2021", CODEN = "????", DOI = "https://doi.org/10.14778/3489496.3489510", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Sat Feb 5 06:26:54 MST 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", URL = "https://dl.acm.org/doi/10.14778/3489496.3489510", abstract = "Regular simple path query (RPQ) is one of the fundamental operators in graph analytics. In an RPQ, the input is a graph, a source node and a regular expression. The goal is to identify all nodes that are connected to the source through a simple path \ldots{}", acknowledgement = ack-nhfb, ajournal = "Proc. VLDB Endowment", fjournal = "Proceedings of the VLDB Endowment", journal-URL = "https://dl.acm.org/loi/pvldb", } @Article{Chen:2021:SMK, author = "Yangjun Chen and Hoang Hai Nguyen", title = "On the string matching with $k$ differences in {DNA} databases", journal = j-PROC-VLDB-ENDOWMENT, volume = "14", number = "6", pages = "903--915", month = feb, year = "2021", CODEN = "????", DOI = "https://doi.org/10.14778/3447689.3447695", ISSN = "2150-8097", bibdate = "Tue Apr 13 13:43:38 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", URL = "https://dl.acm.org/doi/10.14778/3447689.3447695", abstract = "In this paper, we discuss an efficient and effective index mechanism for the string matching with k differences, by which we will find all the substrings of a target string y of length n that align with a pattern string x of length m with not more than \ldots{}", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "https://dl.acm.org/loi/pvldb", } @Article{Chen:2021:TDV, author = "Fei Chen and Donghong Wang and Qiuzhen Lin and Jianyong Chen and Zhong Ming and Wei Yu and Jing Qin", title = "Towards Dynamic Verifiable Pattern Matching", journal = j-IEEE-TRANS-BIG-DATA, volume = "7", number = "2", pages = "421--435", month = jun, year = "2021", DOI = "https://doi.org/10.1109/TBDATA.2018.2868657", ISSN = "2332-7790", bibdate = "Sat Jul 10 08:31:17 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetransbigdata.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Big Data", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=6687317", } @TechReport{Davis:2021:URE, author = "Mark Davis", title = "{Unicode} Regular Expressions", type = "{Unicode} Technical Report", number = "18", institution = pub-UNICODE, address = pub-UNICODE-SAN-JOSE:adr, edition = "22", day = "16", month = feb, year = "2021", bibdate = "Wed Feb 24 12:49:50 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unicode.bib", URL = "http://www.unicode.org/unicode/reports/tr18/tr18-22.html", acknowledgement = ack-nhfb, } @Book{Durr:2021:CPP, author = "Christoph D{\"u}rr and Jill-J{\^e}nn Vie", title = "Competitive programming in {Python}: 128 algorithms to develop your coding skills", publisher = pub-CAMBRIDGE, address = pub-CAMBRIDGE:adr, year = "2021", DOI = "https://doi.org/10.1017/9781108591928", ISBN = "1-108-71682-2 (paperback), 1-108-59192-2 (e-pub)", ISBN-13 = "978-1-108-71682-6 (paperback), 978-1-108-59192-8 (e-pub)", LCCN = "QA76.73.P98", bibdate = "Wed Jan 6 12:05:07 MST 2021", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/python.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Translation to English from the French original by Greg Gibbons and Dani{\`e}le Gibbons.", URL = "https://assets.cambridge.org/97811087/16826/toc/9781108716826_toc.pdf", abstract = "Want to kill it at your job interview in the tech industry? Want to win that coding competition? Learn all the algorithmic techniques and programming skills you need from two experienced coaches, problem setters, and jurors for coding competitions. The authors highlight the versatility of each algorithm by considering a variety of problems and show how to implement algorithms in simple and efficient code. What to expect: * Master 128 algorithms in Python. * Discover the right way to tackle a problem and quickly implement a solution of low complexity. * Classic problems like Dijkstra's shortest path algorithm and Knuth--Morris--Pratt's string matching algorithm, plus lesser known data structures like Fenwick trees and Knuth's dancing links. * A framework to tackle algorithmic problem solving, including: Definition, Complexity, Applications, Algorithm, Key Information, Implementation, Variants, In Practice, and Problems. * Python code in the book and on the companion website", acknowledgement = ack-nhfb, author-dates = "1969--", subject = "Python (Computer program language); Algorithms; Algorithms; Python (Computer program language)", tableofcontents = "1. Introduction \\ 2. Character strings \\ 3. Sequences \\ 4. Arrays \\ 5. Intervals \\ 6. Graphs \\ 7. Cycles in graphs \\ 8. Shortest paths \\ 9. Matching and flows \\ 10. Trees \\ 11. Sets \\ 12. Points and polygons \\ 13. Rectangles \\ 14. Numbers and matrices \\ 15. Exhaustive search \\ 16. Conclusion", } @Article{Engels:2021:SVS, author = "Steven Engels and Tony Tan and Jan {Van den Bussche}", title = "Subsequence versus substring constraints in sequence pattern languages", journal = j-ACTA-INFO, volume = "58", number = "1--2", pages = "35--56", month = apr, year = "2021", CODEN = "AINFA2", DOI = "https://doi.org/10.1007/s00236-019-00347-5", ISSN = "0001-5903 (print), 1432-0525 (electronic)", ISSN-L = "0001-5903", bibdate = "Fri May 14 08:49:31 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/actainfo.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://link.springer.com/article/10.1007/s00236-019-00347-5", acknowledgement = ack-nhfb, fjournal = "Acta Informatica", journal-URL = "http://link.springer.com/journal/236", online-date = "Published: 07 November 2019 Pages: 35 - 56", } @Article{Filinski:2021:PDP, author = "Andrzej Filinski", title = "Proof-directed program transformation: a functional account of efficient regular expression matching", journal = j-J-FUNCT-PROGRAM, volume = "31", number = "??", pages = "e12", month = "????", year = "2021", CODEN = "JFPRES", DOI = "https://doi.org/10.1017/S0956796820000295", ISSN = "0956-7968 (print), 1469-7653 (electronic)", ISSN-L = "0956-7968", bibdate = "Wed Apr 6 09:15:28 MDT 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/jfunctprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.cambridge.org/core/journals/journal-of-functional-programming/article/proofdirected-program-transformation-a-functional-account-of-efficient-regular-expression-matching/454BB5CD9B0B056FA91957F2F9CC3EC5", acknowledgement = ack-nhfb, ajournal = "J. Funct. Program.", fjournal = "Journal of Functional Programming", journal-URL = "https://www.cambridge.org/core/journals/journal-of-functional-programming", onlinedate = "24 May 2021", } @Article{Gibney:2021:TIR, author = "Daniel Gibney", title = "Text Indexing for Regular Expression Matching", journal = j-ALGORITHMS-BASEL, volume = "14", number = "5", month = may, year = "2021", CODEN = "ALGOCH", DOI = "https://doi.org/10.3390/a14050133", ISSN = "1999-4893 (electronic)", ISSN-L = "1999-4893", bibdate = "Fri May 28 20:35:18 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/algorithms.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.mdpi.com/1999-4893/14/5/133", acknowledgement = ack-nhfb, articleno = "133", fjournal = "Algorithms (Basel)", journal-URL = "https://www.mdpi.com/", keywords = "pattern matching; regular expressions; text indexing", pagecount = "??", } @Article{Higuchi:2021:FLP, author = "Shunsuke Higuchi and Junji Takemasa and Yuki Koizumi and Atsushi Tagami and Toru Hasegawa", title = "Feasibility of {Longest Prefix Matching} using {Learned Index Structures}", journal = j-SIGMETRICS, volume = "48", number = "4", pages = "45--48", month = may, year = "2021", CODEN = "????", DOI = "https://doi.org/10.1145/3466826.3466842", ISSN = "0163-5999 (print), 1557-9484 (electronic)", ISSN-L = "0163-5999", bibdate = "Thu May 20 08:57:00 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigmetrics.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3466826.3466842", abstract = "This paper revisits longest prefix matching in IP packet forwarding because an emerging data structure, learned index, is recently presented. A learned index uses machine learning to associate key-value pairs in a key-value store. The fundamental idea \ldots{}", acknowledgement = ack-nhfb, fjournal = "ACM SIGMETRICS Performance Evaluation Review", journal-URL = "https://dl.acm.org/loi/sigmetrics", } @Article{Hucke:2021:ARR, author = "Danny Hucke", title = "Approximation Ratios of {RePair}, {LongestMatch} and {Greedy} on Unary Strings", journal = j-ALGORITHMS-BASEL, volume = "14", number = "2", month = feb, year = "2021", CODEN = "ALGOCH", DOI = "", ISSN = "1999-4893 (electronic)", ISSN-L = "1999-4893", bibdate = "Fri Feb 26 08:54:34 MST 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/algorithms.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.mdpi.com/1999-4893/14/2/65", acknowledgement = ack-nhfb, articleno = "2021", fjournal = "Algorithms (Basel)", journal-URL = "https://www.mdpi.com/", pagecount = "??", } @Article{Kim:2021:SFI, author = "Sung-Hwan Kim and Hwan-Gue Cho", title = "Simpler {FM}-index for parameterized string matching", journal = j-INFO-PROC-LETT, volume = "165", number = "??", pages = "Article 106026", month = jan, year = "2021", CODEN = "IFPLAT", DOI = "https://doi.org/10.1016/j.ipl.2020.106026", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Mar 24 11:59:26 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0020019020301137", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Konstantinidis:2021:PDR, author = "Stavros Konstantinidis and Nelma Moreira and Rog{\'e}rio Reis", title = "Partial derivatives of regular expressions over alphabet-invariant and user-defined labels", journal = j-THEOR-COMP-SCI, volume = "870", number = "??", pages = "103--120", day = "16", month = may, year = "2021", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2020.12.029", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Sep 4 11:08:15 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2020.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397520307544", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Kuperberg:2021:CPS, author = "Denis Kuperberg and Laureline Pinault and Damien Pous", title = "Cyclic proofs, system t, and the power of contraction", journal = j-PACMPL, volume = "5", number = "POPL", pages = "1:1--1:28", month = jan, year = "2021", DOI = "https://doi.org/10.1145/3434282", bibdate = "Tue Mar 30 08:10:58 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3434282", abstract = "We study a cyclic proof system C over regular expression types, inspired by linear logic and non-wellfounded proof theory. Proofs in C can be seen as strongly typed goto programs. We show that they denote computable total functions and we analyse the \ldots{}", acknowledgement = ack-nhfb, articleno = "1", fjournal = "Proceedings of the ACM on Programming Languages", journal-URL = "https://pacmpl.acm.org/", } @Article{Louza:2021:NAR, author = "Felipe A. Louza and Neerja Mhaskar and W. F. Smyth", title = "A new approach to regular \& indeterminate strings", journal = j-THEOR-COMP-SCI, volume = "854", number = "??", pages = "105--115", day = "16", month = jan, year = "2021", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2020.12.007", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Fri Mar 12 06:53:52 MST 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2020.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397520307118", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Mraz:2021:TDP, author = "Franti{\v{s}}ek Mr{\'a}z and Daniel Pr{\r{u}}{\v{s}}a and Michael Wehar", title = "Two-dimensional pattern matching against local and regular-like picture languages", journal = j-THEOR-COMP-SCI, volume = "870", number = "??", pages = "137--152", day = "16", month = may, year = "2021", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2020.12.026", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Sep 4 11:08:15 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2020.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397520307490", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Nagy:2021:UFR, author = "Benedek Nagy", title = "Union-Freeness Revisited --- Between Deterministic and Nondeterministic Union-Free Languages", journal = j-INT-J-FOUND-COMP-SCI, volume = "32", number = "05", pages = "551--573", month = aug, year = "2021", DOI = "https://doi.org/10.1142/S0129054121410070", ISSN = "0129-0541", ISSN-L = "0129-0541", bibdate = "Thu Aug 12 06:43:00 MDT 2021", bibsource = "http://www.worldscientific.com/loi/ijfcs; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.worldscientific.com/doi/10.1142/S0129054121410070", abstract = "Union-free expressions are regular expressions without using the union operation. Consequently, (nondeterministic) union-free languages are described by regular expressions using only concatenation and Kleene star. The language class is also characterised by a special class of finite automata: 1CFPAs have exactly one cycle-free accepting path from each of their states. Obviously such an automaton has exactly one accepting state. The deterministic counterpart of such class of automata defines the deterministic union-free (d-union-free, for short) languages. In this paper {\textlambda} -free nondeterministic variants of 1CFPAs are used to define n-union-free languages. The defined language class is shown to be properly between the classes of (nondeterministic) union-free and d-union-free languages (in case of at least binary alphabet). In case of unary alphabet the class of n-union-free languages coincides with the class of union-free languages. Some properties of the new subregular class of languages are discussed, e.g., closure properties. On the other hand, a regular expression is in union normal form if it is a finite union of union-free expressions. It is well known that every regular expression can be written in union normal form, i.e., all regular languages can be described as finite unions of (nondeterministic) union-free languages. It is also known that the same fact does not hold for deterministic union-free languages, that is, there are regular languages that cannot be written as finite unions of d-union-free languages. As an important result here we show that every regular language can be defined by a finite union of n-union-free languages. This fact also allows to define n-union-complexity of regular languages.", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", remark = "Special Issue: Dedicated to Nelma Moreira and Rog{\'e}rio Reis on the Occasion of Their 60th Birthdays", } @Article{Navarro:2021:IHRa, author = "Gonzalo Navarro", title = "Indexing Highly Repetitive String Collections, {Part II}: Compressed Indexes", journal = j-COMP-SURV, volume = "54", number = "2", pages = "26:1--26:32", month = apr, year = "2021", CODEN = "CMSVAN", DOI = "https://doi.org/10.1145/3432999", ISSN = "0360-0300 (print), 1557-7341 (electronic)", ISSN-L = "0360-0300", bibdate = "Fri Apr 23 10:35:01 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/compsurv.bib; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3432999", abstract = "Two decades ago, a breakthrough in indexing string collections made it possible to represent them within their compressed space while at the same time offering indexed search functionalities. As this new technology permeated through applications like bioinformatics, the string collections experienced a growth that outperforms Moore's Law and challenges our ability of handling them even in compressed form. It turns out, fortunately, that many of these rapidly growing string collections are highly repetitive, so that their information content is orders of magnitude lower than their plain size. The statistical compression methods used for classical collections, however, are blind to this repetitiveness, and therefore a new set of techniques has been developed to properly exploit it. The resulting indexes form a new generation of data structures able to handle the huge repetitive string collections that we are facing. In this survey, formed by two parts, we cover the algorithmic developments that have led to these data structures.\par In this second part, we describe the fundamental algorithmic ideas and data structures that form the base of all the existing indexes, and the various concrete structures that have been proposed, comparing them both in theoretical and practical aspects, and uncovering some new combinations. We conclude with the current challenges in this fascinating field.", acknowledgement = ack-nhfb, articleno = "26", fjournal = "ACM Computing Surveys", journal-URL = "https://dl.acm.org/loi/csur", } @Article{Navarro:2021:IHRb, author = "Gonzalo Navarro", title = "Indexing Highly Repetitive String Collections, Part I: Repetitiveness Measures", journal = j-COMP-SURV, volume = "54", number = "2", pages = "29:1--29:31", month = apr, year = "2021", CODEN = "CMSVAN", DOI = "https://doi.org/10.1145/3434399", ISSN = "0360-0300 (print), 1557-7341 (electronic)", ISSN-L = "0360-0300", bibdate = "Fri Apr 23 10:35:01 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/compsurv.bib; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3434399", abstract = "Two decades ago, a breakthrough in indexing string collections made it possible to represent them within their compressed space while at the same time offering indexed search functionalities. As this new technology permeated through applications like bioinformatics, the string collections experienced a growth that outperforms Moore's Law and challenges our ability to handle them even in compressed form. It turns out, fortunately, that many of these rapidly growing string collections are highly repetitive, so that their information content is orders of magnitude lower than their plain size. The statistical compression methods used for classical collections, however, are blind to this repetitiveness, and therefore a new set of techniques has been developed to properly exploit it. The resulting indexes form a new generation of data structures able to handle the huge repetitive string collections that we are facing. In this survey, formed by two parts, we cover the algorithmic developments that have led to these data structures. In this first part, we describe the distinct compression paradigms that have been used to exploit repetitiveness, and the algorithmic techniques that provide direct access to the compressed strings. In the quest for an ideal measure of repetitiveness, we uncover a fascinating web of relations between those measures, as well as the limits up to which the data can be recovered, and up to which direct access to the compressed data can be provided. This is the basic aspect of indexability, which is covered in the second part of this survey.", acknowledgement = ack-nhfb, articleno = "29", fjournal = "ACM Computing Surveys", journal-URL = "https://dl.acm.org/loi/csur", } @Article{Nicaud:2021:RRE, author = "Cyril Nicaud and Pablo Rotondo", title = "Random Regular Expression Over Huge Alphabets", journal = j-INT-J-FOUND-COMP-SCI, volume = "32", number = "05", pages = "419--438", month = aug, year = "2021", DOI = "https://doi.org/10.1142/S012905412141001X", ISSN = "0129-0541", ISSN-L = "0129-0541", bibdate = "Thu Aug 12 06:43:00 MDT 2021", bibsource = "http://www.worldscientific.com/loi/ijfcs; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.worldscientific.com/doi/10.1142/S012905412141001X", abstract = "In this article, we study some properties of random regular expressions of size n , when the cardinality of the alphabet also depends on n . For this, we revisit and improve the classical Transfer Theorem from the field of analytic combinatorics. This provides precise estimations for the number of regular expressions, the probability of recognizing the empty word and the expected number of Kleene stars in a random expression. For all these statistics, we show that there is a threshold when the size of the alphabet approaches n2 , at which point the leading term in the asymptotics starts oscillating.", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", remark = "Special Issue: Dedicated to Nelma Moreira and Rog{\'e}rio Reis on the Occasion of Their 60th Birthdays", } @Article{Regeciova:2021:PMY, author = "Dominika Regeciova and Dusan Kolar and Marek Milkovic", title = "Pattern Matching in {YARA}: Improved {Aho--Corasick} Algorithm", journal = j-IEEE-ACCESS, volume = "9", pages = "62857--62866", year = "2021", DOI = "https://doi.org/10.1109/access.2021.3074801", ISSN = "2169-3536", ISSN-L = "2169-3536", bibdate = "Fri Apr 30 06:55:36 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "YARA is a tool for pattern matching used by malware analysts all over the world. YARA can scan files, as well as process memory. It allows us to define sequences of symbols as text strings, hexadecimal strings and regular expressions. However, the use of regular expressions is limited because of the concern that it can slow down the scanning process. In this paper, we analyze the true nature of regular expressions in YARA and their implementation. We have, in fact, discovered several reasons why regular expressions can slow down scanning based on the nature of the used algorithm, Aho--Corasick. We have proposed a new version of this algorithm and have implemented it in the original version of this tool. The experiments are presented, proving that the speed of pattern matching with regular expressions can indeed be improved. In selected cases, the proposed version was about 27\% faster than the original version. And in instances where strings were optimized for the original version, their speed was found to be comparable.", acknowledgement = ack-nhfb, fjournal = "IEEE Access", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=6287639", } @Article{Reza:2021:SPM, author = "Tahsin Reza and Hassan Halawa and Matei Ripeanu and Geoffrey Sanders and Roger A. Pearce", title = "Scalable Pattern Matching in Metadata Graphs via Constraint Checking", journal = j-TOPC, volume = "8", number = "1", pages = "2:1--2:45", month = apr, year = "2021", CODEN = "????", DOI = "https://doi.org/10.1145/3434391", ISSN = "2329-4949 (print), 2329-4957 (electronic)", ISSN-L = "2329-4949", bibdate = "Fri Apr 23 17:58:56 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/topc.bib", URL = "https://dl.acm.org/doi/10.1145/3434391", abstract = "Pattern matching is a fundamental tool for answering complex graph queries. Unfortunately, existing solutions have limited capabilities: They do not scale to process large graphs and/or support only a restricted set of search templates or usage \ldots{}", acknowledgement = ack-nhfb, articleno = "2", fjournal = "ACM Transactions on Parallel Computing", journal-URL = "https://dl.acm.org/loi/topc", } @Article{Rousseau:2021:LCS, author = "J{\'e}r{\^o}me Rousseau", title = "Longest common substring for random subshifts of finite type", journal = j-ANN-INST-HENRI-POINCARE-PROBAB-STATIST, volume = "57", number = "3", pages = "1768--1785", month = aug, year = "2021", CODEN = "AHPBAR", DOI = "https://doi.org/10.1214/20-AIHP1130", ISSN = "0246-0203 (print), 1778-7017 (electronic)", ISSN-L = "0246-0203", MRclass = "60F15; 60K37; 37A50; 37A25; 94A17; 92D20", bibdate = "Wed Apr 6 06:56:33 MDT 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/annihpb.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://projecteuclid.org/journals/annales-de-linstitut-henri-poincare-probabilites-et-statistiques/volume-57/issue-3/Longest-common-substring-for-random-subshifts-of-finite-type/10.1214/20-AIHP1130.full", acknowledgement = ack-nhfb, fjournal = "Annales de l'Institut Henri Poincar{\'e}. Section B, Probabilit{\'e}s et statistiques", journal-URL = "http://projecteuclid.org/all/euclid.aihp/", keywords = "37Hxx; Longest common substring; Random dynamical systems; Random sequences in random environments; R{\'e}nyi entropy; string matching", } @Article{Sakharov:2021:ARE, author = "Alexander Sakharov", title = "Annotated regular expressions and input-driven languages", journal = j-INFO-PROC-LETT, volume = "??", number = "??", pages = "Article 105958", month = "????", year = "2021", CODEN = "IFPLAT", DOI = "https://doi.org/10.1016/j.ipl.2020.105958", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Wed Mar 24 11:59:24 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0020019020300454", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Shieh:2021:EMP, author = "Yi-Kung Shieh and Shyong Jian Shyu and Chin Lung Lu and Richard Chia-Tung Lee", title = "The exact multiple pattern matching problem solved by a reference tree approach", journal = j-THEOR-COMP-SCI, volume = "882", number = "??", pages = "29--48", day = "23", month = aug, year = "2021", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2021.06.003", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Sat Sep 4 11:08:22 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2020.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397521003480", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Sutton:2021:FPT, author = "Andrew M. Sutton", title = "Fixed-Parameter Tractability of Crossover: Steady-State {GAs} on the Closest String Problem", journal = j-ALGORITHMICA, volume = "83", number = "4", pages = "1138--1163", month = apr, year = "2021", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s00453-021-00809-8", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", bibdate = "Thu May 13 21:01:43 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://link.springer.com/article/10.1007/s00453-021-00809-8", acknowledgement = ack-nhfb, fjournal = "Algorithmica", journal-URL = "http://link.springer.com/journal/453", online-date = "Published: 15 February 2021 Pages: 1138 - 1163 This is part of 1 collection : Special Issue on Genetic and Evolutionary Computation, 2018", } @Article{Wang:2021:GSH, author = "Chao Wang and Lei Gong and Shiming Lei and Haijie Fang and Xi Li and Aili Wang and Xuehai Zhou", title = "{GenSeq+}: a Scalable High-Performance Accelerator for Genome Sequencing", journal = j-TCBB, volume = "18", number = "4", pages = "1512--1523", month = jul # "\slash " # aug, year = "2021", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2019.2947059", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Wed Apr 20 07:14:54 MDT 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", URL = "https://dl.acm.org/doi/10.1109/TCBB.2019.2947059", abstract = "Genome sequencing is one of the most challenging problems in computational biology and bioinformatics. As a traditional algorithm, the string match meets a challenge with the development of the massive volume of data because of gene sequencing. Surveys \ldots{}", acknowledgement = ack-nhfb, fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "https://dl.acm.org/loi/tcbb", } @Article{Yaman:2021:QVS, author = "Sinem Getir Yaman and Esteban Pavese and Lars Grunske", title = "Quantitative Verification of Stochastic Regular Expressions", journal = j-FUND-INFO, volume = "179", number = "2", pages = "135--163", month = "????", year = "2021", CODEN = "FUMAAJ", DOI = "https://doi.org/10.3233/FI-2021-2018", ISSN = "0169-2968 (print), 1875-8681 (electronic)", ISSN-L = "0169-2968", bibdate = "Wed Mar 24 12:52:45 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/fundinfo2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "Fundamenta Informaticae", journal-URL = "http://content.iospress.com/journals/fundamenta-informaticae", } @Article{Zuo:2021:SIS, author = "Zhiqiang Zuo and Kai Wang and Aftab Hussain and Ardalan Amiri Sani and Yiyu Zhang and Shenming Lu and Wensheng Dou and Linzhang Wang and Xuandong Li and Chenxi Wang and Guoqing Harry Xu", title = "Systemizing Interprocedural Static Analysis of Large-scale Systems Code with {Graspan}", journal = j-TOCS, volume = "38", number = "1--2", pages = "4:1--4:39", month = jul, year = "2021", CODEN = "ACSYEC", DOI = "https://doi.org/10.1145/3466820", ISSN = "0734-2071 (print), 1557-7333 (electronic)", ISSN-L = "0734-2071", bibdate = "Tue Aug 10 13:25:43 MDT 2021", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tocs.bib", URL = "https://dl.acm.org/doi/10.1145/3466820", abstract = "There is more than a decade-long history of using static analysis to find bugs in systems such as Linux. Most of the existing static analyses developed for these systems are simple checkers that find bugs based on pattern matching. Despite the presence \ldots{}", acknowledgement = ack-nhfb, articleno = "4", fjournal = "ACM Transactions on Computer Systems", journal-URL = "https://dl.acm.org/loi/tocs", } @Article{Alves:2022:SSS, author = "Leonardo Fuchs Alves and Francisco J. S. Vasconcellos and Bruno Magalh{\~a}es Nogueira", title = "{SeSG}: a search string generator for {Secondary Studies} with hybrid search strategies using text mining", journal = j-EMPIR-SOFTWARE-ENG, volume = "27", number = "5", pages = "??--??", month = sep, year = "2022", CODEN = "ESENFW", DOI = "https://doi.org/10.1007/s10664-021-10084-4", ISSN = "1382-3256 (print), 1573-7616 (electronic)", ISSN-L = "1382-3256", bibdate = "Tue Jun 7 16:08:34 MDT 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://link.springer.com/article/10.1007/s10664-021-10084-4", acknowledgement = ack-nhfb, ajournal = "Empir. Software. Eng.", fjournal = "Empirical Software Engineering", journal-URL = "http://link.springer.com/journal/10664", } @Article{Barton:2022:ACC, author = "Carl Barton", title = "On the average-case complexity of pattern matching with wildcards", journal = j-THEOR-COMP-SCI, volume = "922", number = "??", pages = "37--45", day = "24", month = jun, year = "2022", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2022.04.009", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Wed Jun 8 07:14:52 MDT 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2020.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397522002092", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Bernardini:2022:EDS, author = "Giulia Bernardini and Pawe{\l} Gawrychowski and Nadia Pisanti and Solon P. Pissis and Giovanna Rosone", title = "Elastic-Degenerate String Matching via Fast Matrix Multiplication", journal = j-SIAM-J-COMPUT, volume = "51", number = "3", pages = "??--??", month = "????", year = "2022", CODEN = "SMJCAT", DOI = "https://doi.org/10.1137/20M1368033", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", bibdate = "Wed Mar 22 17:10:45 MDT 2023", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/51/3; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://epubs.siam.org/doi/10.1137/20M1368033", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @Article{Bille:2022:REM, author = "Philip Bille and Inge Li G{\o}rtz", title = "From regular expression matching to parsing", journal = j-ACTA-INFO, volume = "59", number = "6", pages = "709--724", month = dec, year = "2022", CODEN = "AINFA2", DOI = "https://doi.org/10.1007/s00236-022-00420-6", ISSN = "0001-5903 (print), 1432-0525 (electronic)", ISSN-L = "0001-5903", bibdate = "Sat Oct 22 10:43:23 MDT 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/actainfo.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://link.springer.com/article/10.1007/s00236-022-00420-6", abstract = "Given a regular expression R and a string Q, the regular expression parsing problem is to determine if Q matches R and if so, determine how it matches, i.e., by a mapping of the characters of Q to the characters in R. Regular expression parsing makes finding matches of a regular expression even more useful by allowing us to directly extract subpatterns of the match, e.g., for extracting IP-addresses from internet traffic analysis or extracting subparts of genomes from genetic data bases. We present a new general techniques for efficiently converting a large class of algorithms that determine if a string Q matches regular expression R into algorithms that can construct a corresponding mapping. As a consequence, we obtain the first efficient linear space solutions for regular expression parsing.", acknowledgement = ack-nhfb, ajournal = "Acta Info", fjournal = "Acta Informatica", journal-URL = "http://link.springer.com/journal/236", } @Article{Boruch-Gruszecki:2022:CDT, author = "Aleksander Boruch-Gruszecki and Rados{\l}aw Wa{\'s}ko and Yichen Xu and Lionel Parreaux", title = "A case for {DOT}: theoretical foundations for objects with pattern matching and {GADT}-style reasoning", journal = j-PACMPL, volume = "6", number = "OOPSLA2", pages = "179:1--179:??", month = oct, year = "2022", CODEN = "????", DOI = "https://doi.org/10.1145/3563342", ISSN = "2475-1421 (electronic)", ISSN-L = "2475-1421", bibdate = "Sat Mar 11 09:08:36 MST 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3563342", abstract = "Many programming languages in the OO tradition now support pattern matching in some form. Historical examples include Scala and Ceylon, with the more recent \ldots{}", acknowledgement = ack-nhfb, articleno = "179", fjournal = "Proceedings of the ACM on Programming Languages (PACMPL)", journal-URL = "https://dl.acm.org/loi/pacmpl", } @Article{Bouhenni:2022:EPE, author = "Sarra Bouhenni and Sa{\"\i}d Yahiaoui and Hamamache Kheddouci", title = "Efficient parallel edge-centric approach for relaxed graph pattern matching", journal = j-J-SUPERCOMPUTING, volume = "78", number = "2", pages = "1642--1671", month = feb, year = "2022", CODEN = "JOSUED", DOI = "https://doi.org/10.1007/s11227-021-03938-7", ISSN = "0920-8542 (print), 1573-0484 (electronic)", ISSN-L = "0920-8542", bibdate = "Mon Feb 28 16:44:34 MST 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/jsuper.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://link.springer.com/article/10.1007/s11227-021-03938-7", acknowledgement = ack-nhfb, ajournal = "J. Supercomputing", fjournal = "The Journal of Supercomputing", journal-URL = "http://link.springer.com/journal/11227", } @Article{Chen:2022:EBS, author = "Yue Chen and Kaiyu Feng and Gao Cong and Han Mao Kiah", title = "Example-based spatial pattern matching", journal = j-PROC-VLDB-ENDOWMENT, volume = "15", number = "11", pages = "2572--2584", month = jul, year = "2022", CODEN = "????", DOI = "https://doi.org/10.14778/3551793.3551815", ISSN = "2150-8097", bibdate = "Sat Oct 29 08:52:37 MDT 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", URL = "https://dl.acm.org/doi/10.14778/3551793.3551815", abstract = "The prevalence of GPS-enabled mobile devices and location-based services yield massive volume of spatial objects where each object contains information including geographical location, name, address, category and other attributes. This paper introduces \ldots{}", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "https://dl.acm.org/loi/pvldb", } @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 = "https://www.math.utah.edu/pub/tex/bib/java2020.bib; https://www.math.utah.edu/pub/tex/bib/pacmpl.bib; https://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{Cseresnyes:2022:REL, author = "Ehud Cseresnyes and Hannes Seiwert", title = "Regular expression length via arithmetic formula complexity", journal = j-J-COMP-SYS-SCI, volume = "125", number = "??", pages = "1--24", month = may, year = "2022", CODEN = "JCSSBM", DOI = "https://doi.org/10.1016/j.jcss.2021.10.004", ISSN = "0022-0000 (print), 1090-2724 (electronic)", ISSN-L = "0022-0000", bibdate = "Mon Feb 21 07:10:53 MST 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcompsyssci.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S002200002100101X", acknowledgement = ack-nhfb, fjournal = "Journal of Computer and System Sciences", journal-URL = "http://www.sciencedirect.com/science/journal/00220000", } @TechReport{Davis:2022:URE, author = "Mark Davis", title = "{Unicode} Regular Expressions", type = "{Unicode} Technical Report", number = "18", institution = pub-UNICODE, address = pub-UNICODE-SAN-JOSE:adr, edition = "23", day = "8", month = feb, year = "2022", bibdate = "Wed Feb 09 12:31:21 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unicode.bib", URL = "https://www.unicode.org/reports/tr18/tr18-23.html", acknowledgement = ack-nhfb, } @Article{deLima:2022:SAD, author = "Jo{\~a}o Paulo Cardoso de Lima and Marcelo Brandalero and Michael H{\"u}bner and Luigi Carro", title = "{STAP}: an Architecture and Design Tool for Automata Processing on Memristor {TCAMs}", journal = j-JETC, volume = "18", number = "2", pages = "39:1--39:22", month = apr, year = "2022", CODEN = "????", DOI = "https://doi.org/10.1145/3450769", ISSN = "1550-4832", ISSN-L = "1550-4832", bibdate = "Mon May 2 14:16:07 MDT 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/jetc.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3450769", abstract = "Accelerating finite-state automata benefits several emerging application domains that are built on pattern matching. In-memory architectures, such as the Automata Processor (AP), are efficient to speed them up, at least for outperforming traditional von-...$^$", acknowledgement = ack-nhfb, articleno = "39", fjournal = "ACM Journal on Emerging Technologies in Computing Systems (JETC)", journal-URL = "https://dl.acm.org/loi/jetc", } @InProceedings{Egolf:2022:VVO, author = "Derek Egolf and Sam Lasser and Kathleen Fisher", editor = "Andrei Popescu and Steve Zdancewic", booktitle = "Proceedings of the {11th ACM SIGPLAN International Conference on Certified Programs and Proofs}", title = "{Verbatim++}: verified, optimized, and semantically rich lexing with derivatives", publisher = pub-ACM, address = pub-ACM:adr, bookpages = "351", pages = "27--39", month = jan, year = "2022", DOI = "https://doi.org/10.1145/3497775.3503694", ISBN = "1-4503-9182-6", ISBN-13 = "978-1-4503-9182-5", LCCN = "????", bibdate = "Fri Sep 22 12:45:44 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://doi.org/10.1145/3497775.3503694", abstract = "Lexers and parsers are attractive targets for attackers because they often sit at the boundary between a software system's internals and the outside world. Formally verified lexers can reduce the attack surface of these systems, thus making them more secure.\par One recent step in this direction is the development of Verbatim, a verified lexer based on the concept of Brzozowski derivatives. Two limitations restrict the tool's usefulness. First, its running time is quadratic in the length of its input string. Second, the lexer produces tokens with a simple `tag and string' representation, which limits the tool's ability to integrate with parsers that operate on more expressive token representations.\par In this work, we present a suite of extensions to Verbatim that overcomes these limitations while preserving the tool's original correctness guarantees. The lexer achieves effectively linear performance on a JSON benchmark through a combination of optimizations that, to our knowledge, has not been previously verified. The enhanced version of Verbatim also enables users to augment their lexical specifications with custom semantic actions, and it uses these actions to produce semantically rich tokens---i.e., tokens that carry values with arbitrary, user-defined types. All extensions were implemented and verified with the Coq Proof Assistant.", acknowledgement = ack-nhfb, } @Article{Faro:2022:WAS, author = "Simone Faro and Stefano Scafiti", title = "A weak approach to suffix automata simulation for exact and approximate string matching", journal = j-THEOR-COMP-SCI, volume = "933", number = "??", pages = "88--103", day = "14", month = oct, year = "2022", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2022.08.028", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Wed Oct 19 06:33:58 MDT 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2020.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397522005138", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Fiori:2022:ASM, author = "Fernando J. Fiori and Waltteri Pakal{\'e}n and Jorma Tarhio", title = "Approximate String Matching with {SIMD}", journal = j-COMP-J, volume = "65", number = "6", pages = "1472--1488", month = jun, year = "2022", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/bxaa193", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Fri Jun 24 10:59:06 MDT 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/compj2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://academic.oup.com/comjnl/article/65/6/1472/6134013", acknowledgement = ack-nhfb, fjournal = "Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", } @Article{Fuchs:2022:SUT, author = "Per Fuchs and Domagoj Margan and Jana Giceva", title = "{Sortledton}: a universal, transactional graph data structure", journal = j-PROC-VLDB-ENDOWMENT, volume = "15", number = "6", pages = "1173--1186", month = feb, year = "2022", CODEN = "????", DOI = "https://doi.org/10.14778/3514061.3514065", ISSN = "2150-8097", bibdate = "Fri Jun 24 09:22:17 MDT 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", URL = "https://dl.acm.org/doi/10.14778/3514061.3514065", abstract = "Despite the wide adoption of graph processing across many different application domains, there is no underlying data structure that can serve a variety of graph workloads (analytics, traversals, and pattern matching) on dynamic graphs with transactional \ldots{}", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "https://dl.acm.org/loi/pvldb", } @Article{Gil:2022:MRE, author = "Jos{\'e} Arturo Gil and Simone Santini", title = "Matching Regular Expressions on uncertain data", journal = j-ALGORITHMICA, volume = "84", number = "2", pages = "532--564", month = feb, year = "2022", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s00453-021-00906-8", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", bibdate = "Sat Apr 9 10:41:56 MDT 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://link.springer.com/article/10.1007/s00453-021-00906-8", acknowledgement = ack-nhfb, ajournal = "Algorithmica", fjournal = "Algorithmica", journal-URL = "http://link.springer.com/journal/453", } @Article{Gudur:2022:FBE, author = "Venkateshwarlu Yellaswamy Gudur and Sidharth Maheshwari and Amit Acharyya and Rishad Shafik", title = "An {FPGA} Based Energy-Efficient Read Mapper With Parallel Filtering and In-Situ Verification", journal = j-TCBB, volume = "19", number = "5", pages = "2697--2711", year = "2022", CODEN = "ITCBCY", DOI = "https://doi.org/10.1109/TCBB.2021.3106311", ISSN = "1545-5963 (print), 1557-9964 (electronic)", ISSN-L = "1545-5963", bibdate = "Wed Oct 18 13:01:01 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcbb.bib", URL = "https://dl.acm.org/doi/10.1109/TCBB.2021.3106311", abstract = "In the assembly pipeline of Whole Genome Sequencing (WGS), read mapping is a widely used method to re-assemble the genome. It employs approximate string matching and dynamic programming-based algorithms on a large volume of data and associated structures, \ldots{}", acknowledgement = ack-nhfb, ajournal = "IEEE/ACM Trans. Comput. Biol. Bioinform.", fjournal = "IEEE/ACM Transactions on Computational Biology and Bioinformatics", journal-URL = "https://dl.acm.org/loi/tcbb", } @Article{Hamed:2022:SIP, author = "Belal A. Hamed and Osman Ali Sadek Ibrahim and Tarek Abd El-Hafeez", title = "A survey on improving pattern matching algorithms for biological sequences", journal = j-CCPE, volume = "34", number = "26", pages = "e7292:1--e7292:??", day = "30", month = nov, year = "2022", CODEN = "CCPEBO", DOI = "https://doi.org/10.1002/cpe.7292", ISSN = "1532-0626 (print), 1532-0634 (electronic)", ISSN-L = "1532-0626", bibdate = "Wed Mar 15 08:11:27 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/ccpe.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, ajournal = "Concurr. Comput.", fjournal = "Concurrency and Computation: Practice and Experience", journal-URL = "http://www.interscience.wiley.com/jpages/1532-0626", onlinedate = "02 September 2022", } @Article{Iten:2022:EPP, author = "Raban Iten and Romain Moyard and Tony Metger and David Sutter and Stefan Woerner", title = "Exact and Practical Pattern Matching for Quantum Circuit Optimization", journal = j-TQC, volume = "3", number = "1", pages = "4:1--4:41", month = mar, year = "2022", CODEN = "????", DOI = "https://doi.org/10.1145/3498325", ISSN = "2643-6809 (print), 2643-6817 (electronic)", ISSN-L = "2643-6809", bibdate = "Fri Jan 28 07:10:45 MST 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tqc.bib", URL = "https://dl.acm.org/doi/10.1145/3498325", abstract = "Quantum computations are typically performed as a sequence of basic operations, called quantum gates. Different gate sequences, called quantum circuits, can implement the same overall quantum computation. Since every additional quantum gate takes time and introduces noise into the system, it is important to find the smallest possible quantum circuit that implements a given computation, especially for near-term quantum devices that can execute only a limited number of quantum gates before noise renders the computation useless. An important building block for many quantum circuit optimization techniques is pattern matching: given a large and small quantum circuit, we would like to find all maximal matches of the small circuit, called a pattern, in the large circuit, considering pairwise commutation of quantum gates. In this work, we present the first classical algorithm for pattern matching that provably finds all maximal matches and is efficient enough to be practical for circuit sizes typical for near-term devices. We demonstrate numerically1 that combining our algorithm with known pattern-matching-based circuit optimization techniques reduces the gate count of a random quantum circuit by $ \approx $ 30\% and can further improve practically relevant quantum circuits that were already optimized with state-of-the-art techniques.", acknowledgement = ack-nhfb, articleno = "4", fjournal = "ACM Transactions on Quantum Computing (TQC)", journal-URL = "https://dl.acm.org/loi/tqc", } @Article{Jang:2022:MMU, author = "Junyoung Jang and Samuel G{\'e}lineau and Stefan Monnier and Brigitte Pientka", title = "{Moebius}: metaprogramming using contextual types: the stage where system f can pattern match on itself", journal = j-PACMPL, volume = "6", number = "POPL", pages = "39:1--39:27", month = jan, year = "2022", CODEN = "????", DOI = "https://doi.org/10.1145/3498700", ISSN = "2475-1421 (electronic)", ISSN-L = "2475-1421", bibdate = "Thu May 26 06:32:48 MDT 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3498700", abstract = "We describe the foundation of the metaprogramming language, Moebius, which supports the generation of polymorphic code and, more importantly, the analysis of polymorphic code via pattern matching. Moebius has two main ingredients: (1) we exploit \ldots{}", acknowledgement = ack-nhfb, articleno = "39", fjournal = "Proceedings of the ACM on Programming Languages (PACMPL)", journal-URL = "https://dl.acm.org/loi/pacmpl", } @Article{Kahrs:2022:SRE, author = "Stefan Kahrs and Colin Runciman", title = "Simplifying regular expressions further", journal = j-J-SYMBOLIC-COMP, volume = "109", number = "??", pages = "124--143", month = mar # "\slash " # apr, year = "2022", CODEN = "JSYCEH", ISSN = "0747-7171 (print), 1095-855X (electronic)", ISSN-L = "0747-7171", bibdate = "Thu Feb 17 08:45:06 MST 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/jsymcomp.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0747717121000572", acknowledgement = ack-nhfb, fjournal = "Journal of Symbolic Computation", journal-URL = "http://www.sciencedirect.com/science/journal/07477171", } @Article{Karcioglu:2022:QFH, author = "Abdullah Ammar Karcioglu and Hasan Bulut", title = "$q$-frame hash comparison based exact string matching algorithms for {DNA} sequences", journal = j-CCPE, volume = "34", number = "9", pages = "e6505:1--e6505:??", day = "25", month = apr, year = "2022", CODEN = "CCPEBO", DOI = "https://doi.org/10.1002/cpe.6505", ISSN = "1532-0626 (print), 1532-0634 (electronic)", ISSN-L = "1532-0626", bibdate = "Wed Apr 13 09:55:02 MDT 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/ccpe.bib; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, ajournal = "Concurr. Comput.", fjournal = "Concurrency and Computation: Practice and Experience", journal-URL = "http://www.interscience.wiley.com/jpages/1532-0626", onlinedate = "26 July 2021", } @Article{Mainardi:2022:PAC, author = "Nicholas Mainardi and Alessandro Barenghi and Gerardo Pelosi", title = "Privacy-aware Character Pattern Matching over Outsourced Encrypted Data", journal = j-DTRAP, volume = "3", number = "1", pages = "7:1--7:38", month = mar, year = "2022", CODEN = "????", DOI = "https://doi.org/10.1145/3462333", ISSN = "2692-1626 (print), 2576-5337 (electronic)", ISSN-L = "2576-5337", bibdate = "Wed Mar 2 07:28:58 MST 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/dtrap.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3462333", abstract = "Providing a method to efficiently search into outsourced encrypted data, without forsaking strong privacy guarantees, is a pressing concern rising from the separation of data ownership and data management typical of cloud-based applications. While several \ldots{}", acknowledgement = ack-nhfb, articleno = "7", fjournal = "Digital Threats: Research and Practice (DTRAP)", journal-URL = "https://dl.acm.org/loi/dtrap", } @Article{Nam:2022:RRE, author = "Jaehyun Nam and Seung Ho Na and Seungwon Shin and Taejune Park", title = "Reconfigurable regular expression matching architecture for real-time pattern update and payload inspection", journal = j-J-NETW-COMPUT-APPL, volume = "208", number = "??", pages = "??--??", month = dec, year = "2022", CODEN = "JNCAF3", DOI = "https://doi.org/10.1016/j.jnca.2022.103507", ISSN = "1084-8045 (print), 1095-8592 (electronic)", ISSN-L = "1084-8045", bibdate = "Sat Oct 22 13:30:38 MDT 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/jnetwcomputappl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S1084804522001497", acknowledgement = ack-nhfb, articleno = "103507", fjournal = "Journal of Network and Computer Applications", journal-URL = "http://www.sciencedirect.com/science/journal/10848045", } @Article{Schmid:2022:CRP, author = "Markus L. Schmid", title = "Conjunctive Regular Path Queries with Capture Groups", journal = j-TODS, volume = "47", number = "2", pages = "5:1--5:52", month = jun, year = "2022", CODEN = "ATDSD3", DOI = "https://doi.org/10.1145/3514230", ISSN = "0362-5915 (print), 1557-4644 (electronic)", ISSN-L = "0362-5915", bibdate = "Mon Jun 6 06:55:46 MDT 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tods.bib", URL = "https://dl.acm.org/doi/10.1145/3514230", abstract = "In practice, regular expressions are usually extended by so-called capture groups or capture variables, which allow to capture a subexpression by a variable that can be referenced in the regular expression in order to describe repetitions of subwords. We \ldots{}", acknowledgement = ack-nhfb, articleno = "5", fjournal = "ACM Transactions on Database Systems", journal-URL = "https://dl.acm.org/loi/tods", } @Article{Taft:2022:DPM, author = "S. Tucker Taft and Stephen Baird and Claire Dross", title = "Defining a Pattern Matching Language Feature for {Ada}", journal = j-SIGADA-LETTERS, volume = "42", number = "1", pages = "79", month = jun, year = "2022", CODEN = "AALEE5", DOI = "https://doi.org/10.1145/3577949.3577963", ISSN = "1094-3641 (print), 1557-9476 (electronic)", ISSN-L = "0736-721X", bibdate = "Tue Apr 11 11:59:12 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigada.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3577949.3577963", abstract = "Structural pattern-matching as a language feature has become more common in programming languages over the past decade. This talk will report on the \ldots{}", acknowledgement = ack-nhfb, fjournal = "ACM SIGADA Ada Letters", journal-URL = "https://dl.acm.org/loi/sigada", } @Article{Taft:2022:RPM, author = "S. Tucker Taft", title = "Rigorous Pattern Matching as a Language Feature", journal = j-SIGADA-LETTERS, volume = "42", number = "2", pages = "69--74", month = dec, year = "2022", CODEN = "AALEE5", DOI = "https://doi.org/10.1145/3591335.3591342", ISSN = "1094-3641 (print), 1557-9476 (electronic)", ISSN-L = "0736-721X", bibdate = "Tue Apr 11 11:46:30 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigada.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3591335.3591342", abstract = "Structural pattern-matching as a language feature has become more common in programming languages over the past decade. This paper will consider more generally the challenge of adding pattern matching as a programming language feature, from the points \ldots{}", acknowledgement = ack-nhfb, fjournal = "ACM SIGADA Ada Letters", journal-URL = "https://dl.acm.org/loi/sigada", } @InProceedings{Takayama:2022:IPM, author = "Riku Takayama and Jubee Tada", editor = "{IEEE}", booktitle = "{2022 Tenth International Symposium on Computing and Networking Workshops (CANDARW)}", title = "An Implementation of a Pattern Matching Accelerator on a {RISC-V} Processor", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "273--275", year = "2022", DOI = "https://doi.org/10.1109/CANDARW57323.2022.00059", bibdate = "Sat Dec 16 15:51:40 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/risc-v.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Tchendji:2022:CGM, author = "Vianney Kengne Tchendji and Hermann Bogning Tepiele and Mathias Akong Onabid and Jean Fr{\'e}d{\'e}ric Myoupo and Jerry Lacmou Zeutouo", title = "A coarse-grained multicomputer parallel algorithm for the sequential substring constrained longest common subsequence problem", journal = j-PARALLEL-COMPUTING, volume = "111", number = "??", pages = "??--??", month = jul, year = "2022", CODEN = "PACOEJ", DOI = "https://doi.org/10.1016/j.parco.2022.102927", ISSN = "0167-8191 (print), 1872-7336 (electronic)", ISSN-L = "0167-8191", bibdate = "Mon May 9 07:06:37 MDT 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/parallelcomputing.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S016781912200028X", acknowledgement = ack-nhfb, articleno = "102927", fjournal = "Parallel Computing", journal-URL = "http://www.sciencedirect.com/science/journal/01678191", } @Article{Tiwari:2022:SES, author = "Prayag Tiwari and Amit Kumar Jaiswal and Sahil Garg and Ilsun You", title = "{SANTM}: Efficient Self-attention-driven Network for Text Matching", journal = j-TOIT, volume = "22", number = "3", pages = "55:1--55:??", month = aug, year = "2022", CODEN = "????", DOI = "https://doi.org/10.1145/3426971", ISSN = "1533-5399 (print), 1557-6051 (electronic)", ISSN-L = "1533-5399", bibdate = "Wed Nov 16 08:12:04 MST 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/toit.bib", URL = "https://dl.acm.org/doi/10.1145/3426971", abstract = "Self-attention mechanisms have recently been embraced for a broad range of text-matching applications. Self-attention model takes only one sentence as an input with no extra information, i.e., one can utilize the final hidden state or pooling. However, \ldots{}", acknowledgement = ack-nhfb, articleno = "55", fjournal = "ACM Transactions on Internet Technology (TOIT)", journal-URL = "https://dl.acm.org/loi/toit", } @Article{Ueda:2022:DLG, author = "Yuki Ueda and Takashi Ishio and Kenichi Matsumoto", title = "\pkg{DevReplay}: {Linter} that generates regular expressions for repeating code changes", journal = j-SCI-COMPUT-PROGRAM, volume = "223", number = "??", pages = "??--??", day = "1", month = nov, year = "2022", CODEN = "SCPGD4", DOI = "https://doi.org/10.1016/j.scico.2022.102857", ISSN = "0167-6423 (print), 1872-7964 (electronic)", ISSN-L = "0167-6423", bibdate = "Wed Apr 5 08:58:25 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0167642322000909", acknowledgement = ack-nhfb, articleno = "102857", fjournal = "Science of Computer Programming", journal-URL = "http://www.sciencedirect.com/science/journal/01676423", } @Article{Wang:2022:DRE, author = "Peipei Wang and Chris Brown and Kathryn T. Stolee", title = "Demystifying regular expression bugs", journal = j-EMPIR-SOFTWARE-ENG, volume = "27", number = "1", pages = "??--??", month = jan, year = "2022", CODEN = "ESENFW", DOI = "https://doi.org/10.1007/s10664-021-10033-1", ISSN = "1382-3256 (print), 1573-7616 (electronic)", ISSN-L = "1382-3256", bibdate = "Fri Feb 25 18:03:07 MST 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://link.springer.com/article/10.1007/s10664-021-10033-1", acknowledgement = ack-nhfb, fjournal = "Empirical Software Engineering", journal-URL = "http://link.springer.com/journal/10664", } @Article{Wu:2022:DCG, author = "Lingxi Wu and Rasool Sharifi and Ashish Venkat and Kevin Skadron", title = "{DRAM-CAM}: General-Purpose Bit-Serial Exact Pattern Matching", journal = j-IEEE-COMPUT-ARCHIT-LETT, volume = "21", number = "2", pages = "89--92", month = jul # "\slash " # dec, year = "2022", DOI = "https://doi.org/10.1109/LCA.2022.3201168", ISSN = "1556-6056 (print), 1556-6064 (electronic)", ISSN-L = "1556-6056", bibdate = "Fri Sep 22 14:23:22 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Computer Architecture Letters", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=10208", } @Book{Youens-Clark:2022:CLR, author = "Ken Youens-Clark", title = "Command-line {Rust}: a Project-Based Primer for Writing {Rust CLIs}", publisher = pub-ORA-MEDIA, address = pub-ORA-MEDIA:adr, pages = "xviii + 377", year = "2022", ISBN = "1-0981-0943-0 (paperback)", ISBN-13 = "978-1-0981-0943-1 (paperback)", LCCN = "QA76.73.R87 Y68 2022", bibdate = "Mon Jun 5 12:22:38 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/rust.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; z3950.loc.gov:7090/Voyager", abstract = "For several consecutive years, Rust has been voted ``most loved programming language'' in Stack Overflow's annual developer survey. This open source systems programming language is now used for everything from game engines and operating systems to browser components and virtual reality simulation engines. But Rust is also an incredibly complex language with a notoriously difficult learning curve. Rather than focusing on the language as a whole, this guide teaches Rust using a single small, complete, focused program in each chapter. Author Ken Youens-Clark shows you how to start, write, and test each of these programs to create a finished product. You'll learn how to handle errors in Rust, read and write files, and use regular expressions, Rust types, structs, and more. Discover how to: Use Rust's standard libraries and data types such as numbers, strings, vectors, structs, Options, and Results to create command-line programs; Write and test Rust programs and functions; Read and write files, including stdin, stdout, and stderr; Document and validate command-line arguments; Write programs that fail gracefully; Parse raw and delimited text manually, using regular expressions and Rust crates; Use and control randomness.", acknowledgement = ack-nhfb, subject = "Rust (Computer program language); User interfaces (Computer systems); User-Computer Interface; Rust (Langage de programmation); Interfaces utilisateurs (Informatique); Rust (Computer program language); User interfaces (Computer systems)", } @Article{Agun:2023:WLR, author = "Hayri Volkan Agun", title = "\pkg{WebCollectives}: a light regular expression based web content extractor in {Java}", journal = j-SOFTWAREX, volume = "24", number = "??", pages = "??--??", month = dec, year = "2023", CODEN = "????", DOI = "https://doi.org/10.1016/j.softx.2023.101569", ISSN = "2352-7110", ISSN-L = "2352-7110", bibdate = "Sat Dec 16 07:45:56 MST 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/java2020.bib; https://www.math.utah.edu/pub/tex/bib/softwarex.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S2352711023002650", acknowledgement = ack-nhfb, articleno = "101569", fjournal = "SoftwareX", journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues", } @Article{Alotaibi:2023:TSB, author = "Fahad M. Alotaibi and Vassilios G. Vassilakis", title = "Toward an {SDN}-Based {Web} Application Firewall: Defending against {SQL} Injection Attacks", journal = j-FUTURE-INTERNET, volume = "15", number = "5", pages = "170", day = "29", month = apr, year = "2023", CODEN = "????", DOI = "https://doi.org/10.3390/fi15050170", ISSN = "1999-5903", bibdate = "Thu Jun 1 07:41:25 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/future-internet.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.mdpi.com/1999-5903/15/5/170", abstract = "Web attacks pose a significant threat to enterprises, as attackers often target web applications first. Various solutions have been proposed to mitigate and reduce the severity of these threats, such as web application firewalls (WAFs). On the other hand, software-defined networking (SDN) technology has significantly improved network management and operation by providing centralized control for network administrators. In this work, we investigated the possibility of using SDN to implement a firewall capable of detecting and blocking web attacks. As a proof of concept, we designed and implemented a WAF to detect a known web attack, specifically SQL injection. Our design utilized two detection methods: signatures and regular expressions. The experimental results demonstrate that the SDN controller can successfully function as a WAF and detect SQL injection attacks. Furthermore, we implemented and compared ModSecurity, a traditional WAF, with our proposed SDN-based WAF. The results reveal that our system is more efficient in terms of TCP ACK latency, while ModSecurity exhibits a slightly lower overhead on the controller.", acknowledgement = ack-nhfb, journal-URL = "https://www.mdpi.com/journal/futureinternet", } @Article{Berglund:2023:RER, author = "Martin Berglund and Brink van der Merwe", title = "Re-examining regular expressions with backreferences", journal = j-THEOR-COMP-SCI, volume = "940 (part A)", number = "??", pages = "66--80", day = "9", month = jan, year = "2023", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2022.10.041", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Fri Nov 25 06:44:55 MST 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2020.bib", URL = "https://www.sciencedirect.com/science/article/pii/S0304397522006570", acknowledgement = ack-nhfb, fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Bille:2023:SIC, author = "Philip Bille and Inge Li G{\o}rtz and Teresa Anna Steiner", title = "String Indexing with Compressed Patterns", journal = j-TALG, volume = "19", number = "4", pages = "32:1--32:??", month = oct, year = "2023", CODEN = "????", DOI = "https://doi.org/10.1145/3607141", ISSN = "1549-6325 (print), 1549-6333 (electronic)", ISSN-L = "1549-6325", bibdate = "Fri Nov 3 14:37:55 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/talg.bib", URL = "https://dl.acm.org/doi/10.1145/3607141", abstract = "Given a string S of length n, the classic string indexing problem is to preprocess S into a compact data structure that supports efficient subsequent pattern queries. In this article, we consider the basic variant where the pattern is given in compressed \ldots{}", acknowledgement = ack-nhfb, ajournal = "ACM Trans. Algorithms", articleno = "32", fjournal = "ACM Transactions on Algorithms (TALG)", journal-URL = "https://dl.acm.org/loi/talg", } @Article{Borsotti:2023:GPR, author = "Angelo Borsotti and Luca Breveglieri and Stefano Crespi Reghizzi and Angelo Morzenti", title = "General parsing with regular expression matching", journal = j-J-COMPUT-LANG, volume = "74", number = "??", pages = "1--20", month = jan, year = "2023", CODEN = "????", DOI = "https://doi.org/10.1016/j.cola.2022.101176", ISSN = "2665-9182 (print), 2590-1184 (electronic)", ISSN-L = "2590-1184", bibdate = "Mon Sep 29 08:54:37 MDT 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputlang.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S2590118422000739", acknowledgement = ack-nhfb, ajournal = "J. Comput. Lang.", articleno = "101176", fjournal = "Journal of Computer Languages", journal-URL = "https://www.sciencedirect.com/journal/journal-of-computer-languages", } @Article{Chen:2023:DES, author = "Qiaochu Chen and Arko Banerjee and {\c{C}}a{\u{g}}atay Demiralp and Greg Durrett and I{\c{s}}{\i}l Dillig", title = "Data Extraction via Semantic Regular Expression Synthesis", journal = j-PACMPL, volume = "7", number = "OOPSLA2", pages = "287:1--287:??", month = oct, year = "2023", CODEN = "????", DOI = "https://doi.org/10.1145/3622863", ISSN = "2475-1421 (electronic)", ISSN-L = "2475-1421", bibdate = "Fri May 10 10:23:32 MDT 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3622863", abstract = "Many data extraction tasks of practical relevance require not only syntactic pattern matching but also semantic reasoning about the content of \ldots{}", acknowledgement = ack-nhfb, ajournal = "Proc. ACM Program. Lang.", articleno = "287", fjournal = "Proceedings of the ACM on Programming Languages (PACMPL)", journal-URL = "https://dl.acm.org/loi/pacmpl", } @Article{Chen:2023:SSC, author = "Yu-Fang Chen and David Chocholat{\'y} and Vojt{\v{e}}ch Havlena and Luk{\'a}{\v{s}} Hol{\'\i}k and Ond{\v{r}}ej Leng{\'a}l and Juraj S{\'\i}{\v{c}}", title = "Solving String Constraints with Lengths by Stabilization", journal = j-PACMPL, volume = "7", number = "OOPSLA2", pages = "296:1--296:??", month = oct, year = "2023", CODEN = "????", DOI = "https://doi.org/10.1145/3622872", ISSN = "2475-1421 (electronic)", ISSN-L = "2475-1421", bibdate = "Fri May 10 10:23:32 MDT 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3622872", abstract = "We present a new algorithm for solving string constraints. The algorithm builds upon a recent method for solving word equations and regular \ldots{}", acknowledgement = ack-nhfb, ajournal = "Proc. ACM Program. Lang.", articleno = "296", fjournal = "Proceedings of the ACM on Programming Languages (PACMPL)", journal-URL = "https://dl.acm.org/loi/pacmpl", } @Article{Chida:2023:RRE, author = "Nariyoshi Chida and Tachio Terauchi", title = "Repairing Regular Expressions for Extraction", journal = j-PACMPL, volume = "7", number = "PLDI", pages = "173:1--173:??", month = jun, year = "2023", CODEN = "????", DOI = "https://doi.org/10.1145/3591287", ISSN = "2475-1421 (electronic)", ISSN-L = "2475-1421", bibdate = "Fri May 10 10:23:34 MDT 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3591287", abstract = "While synthesizing and repairing regular expressions (regexes) based on Programming-by-Examples (PBE) methods have seen rapid \ldots{}", acknowledgement = ack-nhfb, ajournal = "Proc. ACM Program. Lang.", articleno = "173", fjournal = "Proceedings of the ACM on Programming Languages (PACMPL)", journal-URL = "https://dl.acm.org/loi/pacmpl", } @Article{Conficconi:2023:EED, author = "Davide Conficconi and Emanuele {Del Sozzo} and Filippo Carloni and Alessandro Comodi and Alberto Scolari and Marco Domenico Santambrogio", title = "An Energy-Efficient Domain-Specific Architecture for Regular Expressions", journal = j-IEEE-TRANS-EMERG-TOP-COMPUT, volume = "11", number = "1", pages = "3--17", month = jan # "\slash " # mar, year = "2023", DOI = "https://doi.org/10.1109/TETC.2022.3157948", ISSN = "2168-6750 (print), 2376-4562 (electronic)", bibdate = "Thu Sep 21 14:02:06 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetransemergtopcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Emerging Topics in Computing", journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=6245516", } @Article{Cotumaccio:2023:CLO, author = "Nicola Cotumaccio and Giovanna D'Agostino and Alberto Policriti and Nicola Prezza", title = "Co-lexicographically Ordering Automata and Regular Languages --- Part {I}", journal = j-J-ACM, volume = "70", number = "4", pages = "27:1--27:??", month = aug, year = "2023", CODEN = "JACOAH", DOI = "https://doi.org/10.1145/3607471", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Tue Aug 22 06:51:50 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3607471", abstract = "The states of a finite-state automaton N can be identified with collections of words in the prefix closure of the regular language accepted by N. But words can be ordered, and among the many possible orders a very natural one is the co-lexicographic order. Such naturalness stems from the fact that it suggests a transfer of the order from words to the automaton's states. This suggestion is, in fact, concrete and in a number of articles automata admitting a total co-lexicographic (co-lex for brevity) ordering of states have been proposed and studied. Such class of ordered automata --- Wheeler automata --- turned out to require just a constant number of bits per transition to be represented and enable regular expression matching queries in constant time per matched character.\par Unfortunately, not all automata can be totally ordered as previously outlined. In the present work, we lay out a new theory showing that all automata can always be partially ordered, and an intrinsic measure of their complexity can be defined and effectively determined, namely, the minimum width p of one of their admissible co-lex partial orders --- dubbed here the automaton's co-lex width. We first show that this new measure captures at once the complexity of several seemingly-unrelated hard problems on automata. Any NFA of co-lex width p: (i) has an equivalent powerset DFA whose size is exponential in p rather than (as a classic analysis shows) in the NFA's size; (ii) can be encoded using just $ \Theta (\log p) $ bits per transition; (iii) admits a linear-space data structure solving regular expression matching queries in time proportional to p2 per matched character. Some consequences of this new parameterization of automata are that PSPACE-hard problems such as NFA equivalence are FPT in p, and quadratic lower bounds for the regular expression matching problem do not hold for sufficiently small p.\par Having established that the co-lex width of an automaton is a fundamental complexity measure, we proceed by (i) determining its computational complexity and (ii) extending this notion from automata to regular languages by studying their smallest-width accepting NFAs and DFAs. In this work we focus on the deterministic case and prove that a canonical minimum-width DFA accepting a language $ {\cal L} $ --- dubbed the Hasse automaton {$ \cal H $} of $ {\cal L} $ --- can be exhibited. {$ \cal H $} provides, in a precise sense, the best possible way to (partially) order the states of any DFA accepting $ {\cal L} $, as long as we want to maintain an operational link with the (co-lexicographic) order of $ {\cal L} $'s prefixes. Finally, we explore the relationship between two conflicting objectives: minimizing the width and minimizing the number of states of a DFA. In this context, we provide an analogue of the Myhill-Nerode Theorem for co-lexicographically ordered regular languages.", acknowledgement = ack-nhfb, ajournal = "", articleno = "27", fjournal = "Journal of the ACM", journal-URL = "https://dl.acm.org/loi/jacm", } @Article{Devi:2023:PMM, author = "K. Durga Devi and others", title = "Pattern Matching Model for Recognition of Stone Inscription Characters", journal = j-COMP-J, volume = "66", number = "3", pages = "554--564", month = mar, year = "2023", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/bxab177", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Mon Apr 24 08:51:35 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/compj2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://academic.oup.com/comjnl/article/66/3/554/6424463", acknowledgement = ack-nhfb, fjournal = "Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", } @Article{Edixhoven:2023:BCR, author = "Luc Edixhoven and Sung-Shik Jongmans", title = "Balanced-by-Construction Regular and $ \omega $-Regular Languages", journal = j-INT-J-FOUND-COMP-SCI, volume = "34", number = "2--3", pages = "117--144", month = feb # "--" # apr, year = "2023", DOI = "https://doi.org/10.1142/S0129054122440026", ISSN = "0129-0541", ISSN-L = "0129-0541", bibdate = "Tue Mar 21 06:31:42 MDT 2023", bibsource = "http://www.worldscientific.com/loi/ijfcs; https://www.math.utah.edu/pub/tex/bib/ijfcs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.worldscientific.com/doi/10.1142/S0129054122440026", abstract = "Paren n is the typical generalization of the Dyck language to multiple types of parentheses. We generalize its notion of balancedness to allow parentheses of different types to freely commute. We show that balanced regular and {\textomega} {\textomega} {\textomega} -regular languages can be characterized by syntactic constraints on regular and {\textomega} {\textomega} {\textomega} -regular expressions and, using the shuffle on trajectories operator, we define grammars for balanced-by-construction expressions with which one can express every balanced regular and {\textomega} {\textomega} {\textomega} -regular language.", acknowledgement = ack-nhfb, fjournal = "International Journal of Foundations of Computer Science (IJFCS)", journal-URL = "http://www.worldscientific.com/loi/ijfcs", remark = "Special Issue: International Conference on Developments in Language Theory (DLT) 2021 Guest Editors: Nelma Moreira (University of Porto, Portugal) and Rog{\'e}xrio Reis (University of Porto, Portugal)", } @Article{Equi:2023:CSM, author = "Massimo Equi and Veli M{\"a}kinen and Alexandru I. Tomescu and Roberto Grossi", title = "On the Complexity of String Matching for Graphs", journal = j-TALG, volume = "19", number = "3", pages = "21:1--21:??", month = jul, year = "2023", CODEN = "????", DOI = "https://doi.org/10.1145/3588334", ISSN = "1549-6325 (print), 1549-6333 (electronic)", ISSN-L = "1549-6325", bibdate = "Fri Nov 3 14:37:54 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/talg.bib", URL = "https://dl.acm.org/doi/10.1145/3588334", abstract = "Exact string matching in labeled graphs is the problem of searching paths of a graph G=(V, E) such that the concatenation of their node labels is equal to a given pattern string P [1. m ]. This basic problem can be found at the heart of more complex \ldots{}", acknowledgement = ack-nhfb, ajournal = "ACM Trans. Algorithms", articleno = "21", fjournal = "ACM Transactions on Algorithms (TALG)", journal-URL = "https://dl.acm.org/loi/talg", } @Article{Equi:2023:GCI, author = "Massimo Equi and Veli M{\"a}kinen and Alexandru I. Tomescu", title = "Graphs cannot be indexed in polynomial time for sub-quadratic time string matching, unless {SETH} fails", journal = j-THEOR-COMP-SCI, volume = "975", number = "??", pages = "??--??", day = "9", month = oct, year = "2023", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2023.114128", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Tue Sep 19 11:57:39 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2020.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397523004413", acknowledgement = ack-nhfb, articleno = "114128", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Espindola:2023:SMR, author = "Vinicius Espindola and Luciano Zago and Herv{\'e} Yviquel and Guido Araujo", title = "Source Matching and Rewriting for {MLIR} Using String-Based Automata", journal = j-TACO, volume = "20", number = "2", pages = "22:1--22:??", month = jun, year = "2023", CODEN = "????", DOI = "https://doi.org/10.1145/3571283", ISSN = "1544-3566 (print), 1544-3973 (electronic)", ISSN-L = "1544-3566", bibdate = "Sat Jun 10 08:08:06 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/taco.bib", URL = "https://dl.acm.org/doi/10.1145/3571283", abstract = "A typical compiler flow relies on a uni-directional sequence of translation/optimization steps that lower the program abstract representation, making it hard to preserve higher-level program information across each transformation step. On the other hand, \ldots{}", acknowledgement = ack-nhfb, articleno = "22", fjournal = "ACM Transactions on Architecture and Code Optimization (TACO)", journal-URL = "https://dl.acm.org/loi/taco", } @Article{Faro:2023:LCC, author = "Simone Faro and others", title = "On the Longest Common {Cartesian} Substring Problem", journal = j-COMP-J, volume = "66", number = "4", pages = "907--923", month = apr, year = "2023", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/bxab204", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Mon Apr 24 08:51:36 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/compj2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://academic.oup.com/comjnl/article/66/4/907/6500728", acknowledgement = ack-nhfb, fjournal = "Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", } @Article{Fuchs:2023:SUG, author = "Per Fuchs and Domagoj Margan and Jana Giceva", title = "{Sortledton}: a Universal Graph Data Structure", journal = j-SIGMOD, volume = "52", number = "1", pages = "17--25", month = mar, year = "2023", CODEN = "SRECD8", DOI = "https://doi.org/10.1145/3604437.3604442", ISSN = "0163-5808 (print), 1943-5835 (electronic)", ISSN-L = "0163-5808", bibdate = "Fri Jun 9 07:02:15 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigmod.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3604437.3604442", abstract = "Despite the wide adoption of graph processing across many different application domains, there is no underlying data structure that can serve a variety of graph workloads (analytics, traversals, and pattern matching) on dynamic graphs with single edge \ldots{}", acknowledgement = ack-nhfb, fjournal = "SIGMOD Record (ACM Special Interest Group on Management of Data)", journal-URL = "https://dl.acm.org/loi/sigmod", } @Article{Gong:2023:EFM, author = "Lei Gong and Chao Wang and Haojun Xia and Xianglan Chen and Xi Li and Xuehai Zhou", title = "Enabling Fast and Memory-Efficient Acceleration for Pattern Matching Workloads: The {Lightweight Automata Processing Engine}", journal = j-IEEE-TRANS-COMPUT, volume = "72", number = "4", pages = "1011--1025", month = apr, year = "2023", CODEN = "ITCOB4", DOI = "https://doi.org/10.1109/TC.2022.3187338", ISSN = "0018-9340 (print), 1557-9956 (electronic)", ISSN-L = "0018-9340", bibdate = "Thu Mar 16 07:16:40 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Computers", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12", } @Article{Hong:2023:MMS, author = "T. Hong and X. Ma and X. Wang and R. Che and C. Hu and T. Feng and W. Zhang", title = "{MAPMaN}: Multi-Stage {U}-Shaped Adaptive Pattern Matching Network for Semantic Segmentation of Remote Sensing Images", journal = j-CGF, volume = "42", number = "7", pages = "e14978:1--e14978:??", month = oct, year = "2023", CODEN = "CGFODY", DOI = "https://doi.org/10.1111/cgf.14978", ISSN = "0167-7055 (print), 1467-8659 (electronic)", ISSN-L = "0167-7055", bibdate = "Thu Feb 13 09:03:16 MST 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/cgf2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, ajournal = "Comput. Graph. Forum", fjournal = "Computer Graphics Forum", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1111/(ISSN)1467-8659/", onlinedate = "30 October 2023", } @Article{Ibrahim:2023:NFT, author = "Osman Ali Sadek Ibrahim and Belal A. Hamed and Tarek Abd El-Hafeez", title = "A new fast technique for pattern matching in biological sequences", journal = j-J-SUPERCOMPUTING, volume = "79", number = "1", pages = "367--388", month = jan, year = "2023", CODEN = "JOSUED", DOI = "https://doi.org/10.1007/s11227-022-04673-3", ISSN = "0920-8542 (print), 1573-0484 (electronic)", ISSN-L = "0920-8542", bibdate = "Sat Feb 18 09:20:27 MST 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/jsuper2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://link.springer.com/article/10.1007/s11227-022-04673-3", acknowledgement = ack-nhfb, ajournal = "J. Supercomputing", fjournal = "The Journal of Supercomputing", journal-URL = "http://link.springer.com/journal/11227", } @Article{Janson:2023:AND, author = "Svante Janson", title = "Asymptotic normality for $ \boldsymbol {m} $ -dependent and constrained $ \boldsymbol {U} $ -statistics, with applications to pattern matching in random strings and permutations", journal = j-ADV-APPL-PROB, volume = "55", number = "3", pages = "841--894", month = sep, year = "2023", CODEN = "AAPBBD", DOI = "https://doi.org/10.1017/apr.2022.51", ISSN = "0001-8678 (print), 1475-6064 (electronic)", ISSN-L = "0001-8678", bibdate = "Fri Oct 13 10:48:23 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/advapplprob.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.cambridge.org/core/journals/advances-in-applied-probability/article/asymptotic-normality-for-boldsymbolmdependent-and-constrained-boldsymbolustatistics-with-applications-to-pattern-matching-in-random-strings-and-permutations/1CF7F29EE91684C5AD9391696C90B973", acknowledgement = ack-nhfb, fjournal = "Advances in Applied Probability", journal-URL = "http://www.jstor.org/journals/00018678.html; https://www.cambridge.org/core/journals/advances-in-applied-probability; http://projecteuclid.org/euclid.aap/", onlinedate = "28 March 2023", } @Article{Kar:2023:COO, author = "Binayak Kar and Ying-Dar Lin and Yuan-Cheng Lai", title = "Cost optimization of omnidirectional offloading in two-tier cloud-edge federated systems", journal = j-J-NETW-COMPUT-APPL, volume = "215", number = "??", pages = "??--??", month = jun, year = "2023", CODEN = "JNCAF3", DOI = "https://doi.org/10.1016/j.jnca.2023.103630", ISSN = "1084-8045 (print), 1095-8592 (electronic)", ISSN-L = "1084-8045", bibdate = "Mon May 8 14:28:50 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/jnetwcomputappl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S1084804523000498", acknowledgement = ack-nhfb, articleno = "103630", fjournal = "Journal of Network and Computer Applications", journal-URL = "http://www.sciencedirect.com/science/journal/10848045", } @Article{Kassaie:2023:ACI, author = "Besat Kassaie and Frank Wm. Tompa", title = "Autonomously Computable Information Extraction", journal = j-PROC-VLDB-ENDOWMENT, volume = "16", number = "10", pages = "2431--2443", month = jun, year = "2023", CODEN = "????", DOI = "https://doi.org/10.14778/3603581.3603585", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Wed Aug 9 10:33:02 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", URL = "https://dl.acm.org/doi/10.14778/3603581.3603585", abstract = "Most optimization techniques deployed in information extraction systems assume that source documents are static. Instead, extracted relations can be considered to be materialized views defined by a language built on regular expressions. Using this \ldots{}", acknowledgement = ack-nhfb, ajournal = "Proc. VLDB Endowment", fjournal = "Proceedings of the VLDB Endowment", journal-URL = "https://dl.acm.org/loi/pvldb", } @Article{Kim:2023:OPP, author = "Youngho Kim and Munseong Kang and Joong Chae Na and Jeong Seop Sim", title = "Order-preserving pattern matching with scaling", journal = j-INFO-PROC-LETT, volume = "180", number = "??", pages = "Article 106333", month = feb, year = "2023", CODEN = "IFPLAT", DOI = "https://doi.org/10.1016/j.ipl.2022.106333", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Mon Dec 5 06:49:46 MST 2022", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0020019022000904", acknowledgement = ack-nhfb, fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Kociumaka:2023:PCL, author = "Tomasz Kociumaka and Jakub Radoszewski and Tatiana Starikovskaya", title = "Publisher Correction: Longest Common Substring with Approximately $k$ Mismatches", journal = j-ALGORITHMICA, volume = "85", number = "10", pages = "3323--3323", month = oct, year = "2023", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s00453-023-01119-x", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", bibdate = "Wed Sep 27 05:51:25 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/algorithmica.bib", note = "See \cite{Kociumaka:2019:LCS}.", URL = "https://link.springer.com/article/10.1007/s00453-023-01119-x", acknowledgement = ack-nhfb, ajournal = "Algorithmica", fjournal = "Algorithmica", journal-URL = "http://link.springer.com/journal/453", } @Article{LeGlaunec:2023:REM, author = "Alexis {Le Glaunec} and Lingkun Kong and Konstantinos Mamouras", title = "Regular Expression Matching using Bit Vector Automata", journal = j-PACMPL, volume = "7", number = "OOPSLA1", pages = "92:1--92:??", month = apr, year = "2023", CODEN = "????", DOI = "https://doi.org/10.1145/3586044", ISSN = "2475-1421 (electronic)", ISSN-L = "2475-1421", bibdate = "Wed May 17 09:16:15 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3586044", abstract = "Regular expressions (regexes) are ubiquitous in modern software. There is a variety of implementation techniques for regex matching, which can be roughly \ldots{}", acknowledgement = ack-nhfb, articleno = "92", fjournal = "Proceedings of the ACM on Programming Languages (PACMPL)", journal-URL = "https://dl.acm.org/loi/pacmpl", } @Article{Li:2023:SSG, author = "Lei Li and Mengjiao Yan and Zhenchao Tao and Huanhuan Chen and Xindong Wu", title = "Semi-Supervised Graph Pattern Matching and Rematching for Expert Community Location", journal = j-TKDD, volume = "17", number = "1", pages = "6:1--6:??", month = jan, year = "2023", CODEN = "????", DOI = "https://doi.org/10.1145/3532623", ISSN = "1556-4681 (print), 1556-472X (electronic)", ISSN-L = "1556-4681", bibdate = "Thu Mar 16 07:36:49 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tkdd.bib", URL = "https://dl.acm.org/doi/10.1145/3532623", abstract = "Graph pattern matching (GPM) is widely used in social network analysis, such as expert finding, social group query, and social position detection. Technically, GPM is to find matched subgraphs that meet the requirements of pattern graphs in big social \ldots{}", acknowledgement = ack-nhfb, articleno = "6", fjournal = "ACM Transactions on Knowledge Discovery from Data (TKDD)", journal-URL = "https://dl.acm.org/loi/tkdd", } @Article{Liu:2023:AAP, author = "Hongyuan Liu and Sreepathi Pai and Adwait Jog", title = "Asynchronous Automata Processing on {GPUs}", journal = j-SIGMETRICS, volume = "51", number = "1", pages = "23--24", month = jun, year = "2023", CODEN = "????", DOI = "https://doi.org/10.1145/3606376.3593524", ISSN = "0163-5999 (print), 1557-9484 (electronic)", ISSN-L = "0163-5999", bibdate = "Mon Jul 3 08:05:17 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigmetrics.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3606376.3593524", abstract = "Finite-state automata serve as compute kernels for application domains such as pattern matching and data analytics. Existing approaches on GPUs \ldots{}", acknowledgement = ack-nhfb, ajournal = "Perform. Eval. Rev.", fjournal = "ACM SIGMETRICS Performance Evaluation Review", journal-URL = "https://dl.acm.org/loi/sigmetrics", } @Article{Martens:2023:RPG, author = "Wim Martens and Matthias Niewerth and Tina Popp and Carlos Rojas and Stijn Vansummeren and Domagoj Vrgoc", title = "Representing Paths in Graph Database Pattern Matching", journal = j-PROC-VLDB-ENDOWMENT, volume = "16", number = "7", pages = "1790--1803", month = mar, year = "2023", CODEN = "????", DOI = "https://doi.org/10.14778/3587136.3587151", ISSN = "2150-8097", bibdate = "Tue May 9 09:08:30 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", URL = "https://dl.acm.org/doi/10.14778/3587136.3587151", abstract = "Modern graph database query languages such as GQL, SQL/PGQ, and their academic predecessor G-Core promote paths to first-class citizens in the sense that their pattern matching facility can return paths, as opposed to only nodes and edges. This is \ldots{}", acknowledgement = ack-nhfb, fjournal = "Proceedings of the VLDB Endowment", journal-URL = "https://dl.acm.org/loi/pvldb", } @Article{Medvedev:2023:RTA, author = "Paul Medvedev", title = "Research: Theoretical Analysis of Edit Distance Algorithms", journal = j-CACM, volume = "66", number = "12", pages = "64--71", month = dec, year = "2023", CODEN = "CACMA2", DOI = "https://doi.org/10.1145/3582490", ISSN = "0001-0782 (print), 1557-7317 (electronic)", ISSN-L = "0001-0782", bibdate = "Tue Nov 21 15:04:34 MST 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/cacm2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3582490", abstract = "To what extent have the techniques for theoretical analysis of edit distance algorithms achieved their goals?", acknowledgement = ack-nhfb, ajournal = "Commun. ACM", fjournal = "Communications of the ACM", journal-URL = "https://dl.acm.org/loi/cacm", } @Article{Moseley:2023:DBN, author = "Dan Moseley and Mario Nishio and Jose Perez Rodriguez and Olli Saarikivi and Stephen Toub and Margus Veanes and Tiki Wan and Eric Xu", title = "Derivative Based Nonbacktracking Real-World Regex Matching with Backtracking Semantics", journal = "Proceedings of the {ACM} on Programming Languages", volume = "7-PLDI", pages = "1026--1049", month = jun, year = "2023", DOI = "https://doi.org/10.1145/3591262", bibdate = "Fri Sep 22 14:27:55 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Article{Parolini:2023:SSA, author = "Francesco Parolini and Antoine Min{\'e}", title = "Sound static analysis of regular expressions for vulnerabilities to denial of service attacks", journal = j-SCI-COMPUT-PROGRAM, volume = "229", number = "??", pages = "??--??", month = jul, year = "2023", CODEN = "SCPGD4", DOI = "https://doi.org/10.1016/j.scico.2023.102960", ISSN = "0167-6423 (print), 1872-7964 (electronic)", ISSN-L = "0167-6423", bibdate = "Fri Jun 9 07:16:16 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0167642323000424", acknowledgement = ack-nhfb, articleno = "102960", fjournal = "Science of Computer Programming", journal-URL = "http://www.sciencedirect.com/science/journal/01676423", } @Article{Riveros:2023:RNR, author = "Cristian Riveros and Nicol{\'a}s {Van Sint Jan} and Domagoj Vrgoc", title = "{REmatch}: a Novel Regex Engine for Finding All Matches", journal = j-PROC-VLDB-ENDOWMENT, volume = "16", number = "11", pages = "2792--2804", month = jul, year = "2023", CODEN = "????", DOI = "https://doi.org/10.14778/3611479.3611488", ISSN = "2150-8097", bibdate = "Fri Aug 25 07:25:43 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", URL = "https://dl.acm.org/doi/10.14778/3611479.3611488", abstract = "In this paper, we present the REmatch system for information extraction. REmatch is based on a recently proposed enumeration algorithm for evaluating regular expressions with capture variables supporting the all-match semantics. It tells a story of what it takes to make a theoretically optimal algorithm work in practice. As we show here, a naive implementation of the original algorithm would have a hard time dealing with realistic workloads. We thus develop a new algorithm and a series of optimizations that make REmatch as fast or faster than many popular RegEx engines while at the same time being able to return all the outputs: a task that most other engines tend to struggle with.", acknowledgement = ack-nhfb, ajournal = "", fjournal = "Proceedings of the VLDB Endowment", journal-URL = "https://dl.acm.org/loi/pvldb", } @Article{Rudwan:2023:HFS, author = "Mohammed Suleiman Mohammed Rudwan and and Jean Vincent Fonou-Dombeu", title = "Hybridizing Fuzzy String Matching and Machine Learning for Improved Ontology Alignment", journal = j-FUTURE-INTERNET, volume = "15", number = "7", pages = "229--??", month = jul, year = "2023", CODEN = "????", DOI = "https://doi.org/10.3390/fi15070229", ISSN = "1999-5903", bibdate = "Wed Aug 2 06:19:58 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/future-internet.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.mdpi.com/1999-5903/15/7/229", acknowledgement = ack-nhfb, fjournal = "Future Internet", journal-URL = "https://www.mdpi.com/journal/futureinternet", } @Article{Sadiq:2023:SEC, author = "Muhammad Umair Sadiq and Muhammad Murtaza Yousaf", title = "Space-efficient computation of parallel approximate string matching", journal = j-J-SUPERCOMPUTING, volume = "79", number = "8", pages = "9093--9126", month = may, year = "2023", CODEN = "JOSUED", DOI = "https://doi.org/10.1007/s11227-022-05038-6", ISSN = "0920-8542 (print), 1573-0484 (electronic)", ISSN-L = "0920-8542", bibdate = "Thu Apr 6 06:16:05 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/jsuper2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://link.springer.com/article/10.1007/s11227-022-05038-6", acknowledgement = ack-nhfb, ajournal = "J. Supercomputing", fjournal = "The Journal of Supercomputing", journal-URL = "http://link.springer.com/journal/11227", } @Article{Sun:2023:ERE, author = "Xiuwen Sun and Da Mo and Di Wu and Chunhui Ye and Qingying Yu and Jie Cui and Hong Zhong", title = "Efficient regular expression matching over hybrid dictionary-based compressed data", journal = j-J-NETW-COMPUT-APPL, volume = "215", number = "??", pages = "??--??", month = jun, year = "2023", CODEN = "JNCAF3", DOI = "https://doi.org/10.1016/j.jnca.2023.103635", ISSN = "1084-8045 (print), 1095-8592 (electronic)", ISSN-L = "1084-8045", bibdate = "Mon May 8 14:28:50 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/bitcoin.bib; https://www.math.utah.edu/pub/tex/bib/jnetwcomputappl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S1084804523000541", acknowledgement = ack-nhfb, articleno = "103635", fjournal = "Journal of Network and Computer Applications", journal-URL = "http://www.sciencedirect.com/science/journal/10848045", } @Article{Tang:2023:TBU, author = "Zhihao Gavin Tang and Xiaowei Wu and Yuhao Zhang", title = "Toward a Better Understanding of Randomized Greedy Matching", journal = j-J-ACM, volume = "70", number = "6", pages = "39:1--39:??", month = dec, year = "2023", CODEN = "JACOAH", DOI = "https://doi.org/10.1145/3614318", ISSN = "0004-5411 (print), 1557-735X (electronic)", ISSN-L = "0004-5411", bibdate = "Tue Dec 12 09:32:00 MST 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/jacm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3614318", abstract = "There has been a long history of studying randomized greedy matching algorithms since the work by Dyer and Frieze [ 9 ]. We follow this trend and consider the problem formulated in the oblivious setting, in which the vertex set of a graph is known to the \ldots{}", abstract = "There has been a long history of studying randomized greedy matching algorithms since the work by Dyer and Frieze [9]. We follow this trend and consider the problem formulated in the oblivious setting, in which the vertex set of a graph is known to the algorithm but not the edge set. The algorithm can make queries for the existence of the edge between any pair of vertices but must include the edge into the matching if it exists, i.e., as in the query-commit model by Gamlath et al. [12]. We revisit the Modified Randomized Greedy (MRG) algorithm by Aronson et al. [1] that is proved to achieve a $ (0.5 + \epsilon)$-approximation. In each step of the algorithm, an unmatched vertex is chosen uniformly at random and matched to a randomly chosen neighbor (if exists). We study a weaker version of the algorithm named Random Decision Order (RDO) that, in each step, randomly picks an unmatched vertex and matches it to an arbitrary neighbor (if exists). We prove that the RDO algorithm provides a 0.639-approximation for bipartite graphs and 0.531-approximation for general graphs. As a corollary, we substantially improve the approximation ratio of MRG.\par Furthermore, we generalize the RDO algorithm to the edge-weighted case and prove that it achieves a 0.501-approximation ratio. This result solves the open question by Chan et al. [4] and Gamlath et al. [12] about the existence of an algorithm that beats greedy in edge-weighted general graphs, where the greedy algorithm probes the edges in descending order of edge-weights. We also present a variant of the algorithm that achieves a (1-1/e)-approximation for edge-weighted bipartite graphs, which generalizes the (1-1/e)-approximation ratio of Gamlath et al. [12] for the stochastic setting to the case when the realizations of edges are arbitrarily correlated, where in the stochastic setting, there is a known probability associated with each pair of vertices that indicates the probability that an edge exists between the two vertices, when the pair is probed.", acknowledgement = ack-nhfb, ajournal = "J. Assoc. Comput. Mach.", articleno = "39", fjournal = "Journal of the ACM", journal-URL = "https://dl.acm.org/loi/jacm", } @Article{Urban:2023:PLD, author = "Christian Urban", title = "{POSIX} Lexing with Derivatives of Regular Expressions", journal = j-J-AUTOM-REASON, volume = "67", number = "3", pages = "??--??", month = sep, year = "2023", CODEN = "JAREEW", DOI = "https://doi.org/10.1007/s10817-023-09667-1", ISSN = "0168-7433 (print), 1573-0670 (electronic)", ISSN-L = "0168-7433", bibdate = "Fri Sep 22 09:22:26 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/jautomreason.bib", URL = "https://link.springer.com/article/10.1007/s10817-023-09667-1", acknowledgement = ack-nhfb, ajournal = "J. Autom. Reason.", articleno = "24", fjournal = "Journal of Automated Reasoning", journal-URL = "http://link.springer.com/journal/10817", } @Article{Valizadeh:2023:SBR, author = "Mojtaba Valizadeh and Martin Berger", title = "Search-Based Regular Expression Inference on a {GPU}", journal = j-PACMPL, volume = "7", number = "PLDI", pages = "160:1--160:??", month = jun, year = "2023", CODEN = "????", DOI = "https://doi.org/10.1145/3591274", ISSN = "2475-1421 (electronic)", ISSN-L = "2475-1421", bibdate = "Fri May 10 10:23:34 MDT 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3591274", abstract = "Regular expression inference (REI) is a supervised machine learning and program synthesis problem that takes a cost metric for regular expressions, \ldots{}", acknowledgement = ack-nhfb, ajournal = "Proc. ACM Program. Lang.", articleno = "160", fjournal = "Proceedings of the ACM on Programming Languages (PACMPL)", journal-URL = "https://dl.acm.org/loi/pacmpl", } @Article{Waga:2023:PTP, author = "Masaki Waga and {\'E}tienne Andr{\'e} and Ichiro Hasuo", title = "Parametric Timed Pattern Matching", journal = j-TOSEM, volume = "32", number = "1", pages = "10:1--10:??", month = jan, year = "2023", CODEN = "ATSMER", DOI = "https://doi.org/10.1145/3517194", ISSN = "1049-331X (print), 1557-7392 (electronic)", ISSN-L = "1049-331X", bibdate = "Wed Apr 5 10:29:39 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tosem.bib", URL = "https://dl.acm.org/doi/10.1145/3517194", abstract = "Given a log and a specification, timed pattern matching aims at exhibiting for which start and end dates a specification holds on that log. For example, ``a given action is always followed by another action before a given deadline''. This problem has strong \ldots{}", acknowledgement = ack-nhfb, articleno = "10", fjournal = "ACM Transactions on Software Engineering and Methodology", journal-URL = "https://dl.acm.org/loi/tosem", } @Article{Wang:2023:BSC, author = "Shicheng Wang and Menghao Zhang and Guanyu Li and Chang Liu and Zhiliang Wang and Ying Liu and Mingwei Xu", title = "Bolt: Scalable and Cost-Efficient Multistring Pattern Matching With Programmable Switches", journal = j-IEEE-TRANS-NETWORKING, volume = "31", number = "2", pages = "846--861", month = apr, year = "2023", CODEN = "IEANEP", DOI = "https://doi.org/10.1109/TNET.2022.3202523", ISSN = "1063-6692 (print), 1558-2566 (electronic)", ISSN-L = "1063-6692", bibdate = "Fri Apr 12 07:06:35 MDT 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetransnetworking.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1109/TNET.2022.3202523", abstract = "Multi-string pattern matching is a crucial building block for many network security applications and thus of great importance. Since every byte of a packet has to be inspected by a large set of patterns, it often becomes a bottleneck of these applications \ldots{}", acknowledgement = ack-nhfb, ajournal = "IEEE/ACM Trans. Netw.", fjournal = "IEEE\slash ACM Transactions on Networking", journal-URL = "https://dl.acm.org/loi/ton", } @Article{Xie:2023:UDC, author = "Jingnan Xie and Harry B. {Hunt III}", title = "On the undecidability and descriptional complexity of synchronized regular expressions", journal = j-ACTA-INFO, volume = "60", number = "3", pages = "257--278", month = sep, year = "2023", CODEN = "AINFA2", DOI = "https://doi.org/10.1007/s00236-023-00439-3", ISSN = "0001-5903 (print), 1432-0525 (electronic)", ISSN-L = "0001-5903", bibdate = "Thu Aug 10 15:21:29 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/actainfo.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://link.springer.com/article/10.1007/s00236-023-00439-3", acknowledgement = ack-nhfb, ajournal = "Acta Info", fjournal = "Acta Informatica", journal-URL = "http://link.springer.com/journal/236", } @Article{Xu:2023:STC, author = "Qianqian Xu and Junjie Peng and Cangzhi Zheng and Shuhua Tan and Fen Yi and Feng Cheng", title = "Short Text Classification of {Chinese} with Label Information Assisting", journal = j-TALLIP, volume = "22", number = "4", pages = "119:1--119:??", month = apr, year = "2023", CODEN = "????", DOI = "https://doi.org/10.1145/3582301", ISSN = "2375-4699 (print), 2375-4702 (electronic)", ISSN-L = "2375-4699", bibdate = "Thu Jun 1 14:20:55 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tallip.bib", URL = "https://dl.acm.org/doi/10.1145/3582301", abstract = "As a common language form in oral communication, short text is hard to be used in the applications such as intent understanding, text classification and so on due to its limited content and information, as well as irregular expression and missing \ldots{}", acknowledgement = ack-nhfb, ajournal = "ACM Trans. Asian Low-Resour. Lang. Inf. Process.", articleno = "119", fjournal = "ACM Transactions on Asian and Low-Resource Language Information Processing (TALLIP)", journal-URL = "https://dl.acm.org/loi/tallip", } @Article{Yu:2023:SMT, author = "Yuncong Yu and Tim Becker and Le Minh Trinh and Michael Behrisch", title = "\pkg{SAXRegEx}: Multivariate time series pattern search with symbolic representation, regular expression, and query expansion", journal = j-COMPUTERS-AND-GRAPHICS, volume = "112", number = "??", pages = "13--21", month = may, year = "2023", CODEN = "COGRD2", DOI = "https://doi.org/10.1016/j.cag.2023.03.002", ISSN = "0097-8493 (print), 1873-7684 (electronic)", ISSN-L = "0097-8493", bibdate = "Wed May 29 07:45:11 MDT 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/compgraph.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0097849323000316", acknowledgement = ack-nhfb, fjournal = "Computers \& Graphics", journal-URL = "http://www.sciencedirect.com/science/journal/00978493", } @Article{Yuan:2023:LPM, author = "Yongwei Yuan and Scott Guest and Eric Griffis and Hannah Potter and David Moon and Cyrus Omar", title = "Live Pattern Matching with Typed Holes", journal = j-PACMPL, volume = "7", number = "OOPSLA1", pages = "96:1--96:??", month = apr, year = "2023", CODEN = "????", DOI = "https://doi.org/10.1145/3586048", ISSN = "2475-1421 (electronic)", ISSN-L = "2475-1421", bibdate = "Wed May 17 09:16:15 MDT 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3586048", abstract = "Several modern programming systems, including GHC Haskell, Agda, Idris, and Hazel, support typed holes. Assigning static and, to varying degree, dynamic \ldots{}", acknowledgement = ack-nhfb, articleno = "96", fjournal = "Proceedings of the ACM on Programming Languages (PACMPL)", journal-URL = "https://dl.acm.org/loi/pacmpl", } @Article{Zhong:2023:FCA, author = "Jincheng Zhong and Shuhui Chen and Biao Han", title = "{FPGA-CPU} Architecture Accelerated Regular Expression Matching With Fast Preprocessing", journal = j-COMP-J, volume = "66", number = "12", pages = "2928--2947", month = dec, year = "2023", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/bxac138", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Mon Dec 18 10:11:24 MST 2023", bibsource = "https://www.math.utah.edu/pub/tex/bib/compj2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://academic.oup.com/comjnl/article/66/12/2928/6770084", acknowledgement = ack-nhfb, fjournal = "Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", } @Article{Aouar:2024:DPS, author = "Aissam Aouar and Sa{\"\i}d Yahiaoui and Lamia Sadeg and Nadia Nouali-Taboudjemat and Kadda Beghdad Bey", title = "Distributed Partial Simulation for Graph Pattern Matching", journal = j-COMP-J, volume = "67", number = "1", pages = "110--126", month = jan, year = "2024", CODEN = "CMPJA6", DOI = "https://doi.org/10.1093/comjnl/bxac161", ISSN = "0010-4620 (print), 1460-2067 (electronic)", ISSN-L = "0010-4620", bibdate = "Wed Jan 24 07:30:42 MST 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/compj2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://academic.oup.com/comjnl/article/67/1/110/6832432", acknowledgement = ack-nhfb, fjournal = "Computer Journal", journal-URL = "http://comjnl.oxfordjournals.org/", } @Article{Benachour:2024:GAR, author = "Amira Benachour and Sa{\"\i}d Yahiaoui and Sarra Bouhenni and Hamamache Kheddouci and Nadia Nouali-Taboudjemat", title = "{GPU}-accelerated relaxed graph pattern matching algorithms", journal = j-J-SUPERCOMPUTING, volume = "80", number = "15", pages = "21811--21836", month = oct, year = "2024", CODEN = "JOSUED", DOI = "https://doi.org/10.1007/s11227-024-06283-7", ISSN = "0920-8542 (print), 1573-0484 (electronic)", ISSN-L = "0920-8542", bibdate = "Tue Aug 13 06:33:54 MDT 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/jsuper2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://link.springer.com/article/10.1007/s11227-024-06283-7", acknowledgement = ack-nhfb, ajournal = "J. Supercomputing", fjournal = "The Journal of Supercomputing", journal-URL = "http://link.springer.com/journal/11227", } @Article{Bingol:2024:GGF, author = "Z{\"u}lal Bing{\"o}l and Mohammed Alser and Onur Mutlu and Ozcan Ozturk and Can Alkan", title = "{GateKeeper-GPU}: Fast and Accurate Pre-Alignment Filtering in Short Read Mapping", journal = j-IEEE-TRANS-COMPUT, pages = "1--12", year = "2024", CODEN = "ITCOB4", DOI = "https://doi.org/10.1109/tc.2024.3365931", ISSN = "2326-3814", ISSN-L = "0018-9340", bibdate = "Mon Mar 11 12:01:18 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Computers", journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12", keywords = "bioinformatics; computers; filtering; filtering algorithms; genome matching; genomics; GPU acceleration; graphics processing units; logic gates; string searching", remark = "Online on 11 March 2024, but not yet assigned to an issue.", } @Article{Hossen:2024:TIF, author = "Md Helal Hossen and Daniel Gibney and Sharma V. Thankachan", title = "Text Indexing for Faster Gapped Pattern Matching", journal = j-ALGORITHMS-BASEL, volume = "17", number = "12", pages = "??--??", month = dec, year = "2024", CODEN = "ALGOCH", DOI = "https://doi.org/10.3390/a17120537", ISSN = "1999-4893 (electronic)", ISSN-L = "1999-4893", bibdate = "Sat Dec 28 07:35:08 MST 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/algorithms.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.mdpi.com/1999-4893/17/12/537", acknowledgement = ack-nhfb, fjournal = "Algorithms (Basel)", journal-URL = "https://www.mdpi.com/journal/algorithms", } @Article{Jargalsaikhan:2024:SPA, author = "Davaajav Jargalsaikhan and Diptarama Hendrian and Yohei Ueki and Ryo Yoshinaka and Ayumi Shinohara", title = "Serial and parallel algorithms for order-preserving pattern matching based on the duel-and-sweep paradigm", journal = j-ACTA-INFO, volume = "61", number = "4", pages = "415--444", month = dec, year = "2024", CODEN = "AINFA2", DOI = "https://doi.org/10.1007/s00236-024-00464-w", ISSN = "0001-5903 (print), 1432-0525 (electronic)", ISSN-L = "0001-5903", bibdate = "Tue Nov 5 13:09:07 MST 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/actainfo.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://link.springer.com/article/10.1007/s00236-024-00464-w", acknowledgement = ack-nhfb, ajournal = "Acta Info", fjournal = "Acta Informatica", journal-URL = "http://link.springer.com/journal/236", } @Article{Jin:2024:QSU, author = "Ce Jin and Jakob Nogler", title = "Quantum Speed-Ups for String Synchronizing Sets, Longest Common Substring, and $k$-mismatch Matching", journal = j-TALG, volume = "20", number = "4", pages = "32:1--32:??", month = oct, year = "2024", CODEN = "????", DOI = "https://doi.org/10.1145/3672395", ISSN = "1549-6325 (print), 1549-6333 (electronic)", ISSN-L = "1549-6325", bibdate = "Sat Oct 12 11:56:24 MDT 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/talg.bib", URL = "https://dl.acm.org/doi/10.1145/3672395", abstract = "Longest common substring (LCS) is an important text processing problem, which has recently been investigated in the quantum query model. The decision version of this problem, LCS with threshold $d$, asks whether two length-$n$ input strings have a \ldots{}", acknowledgement = ack-nhfb, ajournal = "ACM Trans. Algorithms", articleno = "32", fjournal = "ACM Transactions on Algorithms (TALG)", journal-URL = "https://dl.acm.org/loi/talg", } @Article{Kim:2024:SCP, author = "Sungmin Kim and Sang-Ki Ko and Yo-Sub Han", title = "{Simon}'s congruence pattern matching", journal = j-THEOR-COMP-SCI, volume = "994", number = "??", pages = "??--??", day = "1", month = may, year = "2024", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2024.114478", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Mon Mar 25 15:31:51 MDT 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2020.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397524000938", acknowledgement = ack-nhfb, articleno = "114478", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Kociumaka:2024:IPM, author = "Tomasz Kociumaka and Jakub Radoszewski and Wojciech Rytter and Tomasz Wale{\'n}", title = "Internal Pattern Matching Queries in a Text and Applications", journal = j-SIAM-J-COMPUT, volume = "53", number = "5", pages = "1524--1577", month = "????", year = "2024", CODEN = "SMJCAT", DOI = "https://doi.org/10.1137/23M1567618", ISSN = "0097-5397 (print), 1095-7111 (electronic)", ISSN-L = "0097-5397", bibdate = "Sat Oct 18 11:07:15 MDT 2025", bibsource = "http://epubs.siam.org/sam-bin/dbq/toclist/SICOMP/53/5; https://www.math.utah.edu/pub/tex/bib/siamjcomput.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://epubs.siam.org/doi/10.1137/23M1567618", acknowledgement = ack-nhfb, fjournal = "SIAM Journal on Computing", journal-URL = "http://epubs.siam.org/sicomp", } @Article{Kravchuk-Kirilyuk:2024:PNF, author = "Anastasiya Kravchuk-Kirilyuk and Gary Feng and Jonas Iskander and Yizhou Zhang and Nada Amin", title = "{Persimmon}: Nested Family Polymorphism with Extensible Variant Types", journal = j-PACMPL, volume = "8", number = "OOPSLA1", pages = "119:1--119:??", month = apr, year = "2024", CODEN = "????", DOI = "https://doi.org/10.1145/3649836", ISSN = "2475-1421 (electronic)", ISSN-L = "2475-1421", bibdate = "Fri May 10 10:23:37 MDT 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3649836", abstract = "Many obstacles stand in the way of modular, extensible code. Some language constructs, such as pattern matching, are not easily extensible. Inherited code may not be type safe in the presence of extended types. The burden of setting up design patterns can discourage users, and parameter clutter can make the code less readable. Given these challenges, it is no wonder that extensibility often gives way to code duplication. We present our solution: Persimmon, a functional system with nested family polymorphism, extensible variant types, and extensible pattern matching. Most constructs in our language are built-in ``extensibility hooks,'' cutting down on the parameter clutter and user burden associated with extensible code. Persimmon preserves the relationships between nested families upon inheritance, enabling extensibility at a large scale. Since nested family polymorphism can express composable extensions, Persimmon supports mixins via an encoding. We show how Persimmon can be compiled into a functional language without extensible variants with our translation to Scala. Finally, we show that our system is sound by proving the properties of progress and preservation.", acknowledgement = ack-nhfb, ajournal = "Proc. ACM Program. Lang.", articleno = "119", fjournal = "Proceedings of the ACM on Programming Languages (PACMPL)", journal-URL = "https://dl.acm.org/loi/pacmpl", } @Article{Liang:2024:ERS, author = "Qi Liang and Dian Ouyang and Fan Zhang and Jianye Yang and Xuemin Lin and Zhihong Tian", title = "Efficient Regular Simple Path Queries under Transitive Restricted Expressions", journal = j-PROC-VLDB-ENDOWMENT, volume = "17", number = "7", pages = "1710--1722", month = mar, year = "2024", CODEN = "????", DOI = "https://doi.org/10.14778/3654621.3654636", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Fri May 31 09:17:13 MDT 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", URL = "https://dl.acm.org/doi/10.14778/3654621.3654636", abstract = "There are two fundamental problems in regular simple path queries (RSPQs). One is the reachability problem which asks whether there exists a simple path between the source and the target vertex matching the given regular expression, and the other is the \ldots{}", acknowledgement = ack-nhfb, ajournal = "Proc. VLDB Endowment", fjournal = "Proceedings of the VLDB Endowment", journal-URL = "https://dl.acm.org/loi/pvldb", } @Article{Lin:2024:PAR, author = "Jing Lin and Weiwei Lin and Hang Lin and Longlong Zhu and Dong Zhang and Chunming Wu", title = "{P4Rex}: Accelerating regular expression matching with programmable switches", journal = j-COMP-NET-AMSTERDAM, volume = "252", number = "??", pages = "??--??", month = oct, year = "2024", CODEN = "????", DOI = "https://doi.org/10.1016/j.comnet.2024.110662", ISSN = "1389-1286 (print), 1872-7069 (electronic)", ISSN-L = "1389-1286", bibdate = "Thu Aug 22 13:20:27 MDT 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/compnetamsterdam2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S1389128624004948", acknowledgement = ack-nhfb, articleno = "110662", fjournal = "Computer Networks (Amsterdam, Netherlands: 1999)", journal-URL = "http://www.sciencedirect.com/science/journal/13891286/", } @Article{Mamouras:2024:EMR, author = "Konstantinos Mamouras and Agnishom Chattopadhyay", title = "Efficient Matching of Regular Expressions with Lookaround Assertions", journal = j-PACMPL, volume = "8", number = "POPL", pages = "92:1--92:??", month = jan, year = "2024", CODEN = "????", DOI = "https://doi.org/10.1145/3632934", ISSN = "2475-1421 (electronic)", ISSN-L = "2475-1421", bibdate = "Fri May 10 10:23:39 MDT 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://dl.acm.org/doi/10.1145/3632934", abstract = "Regular expressions have been extended with lookaround assertions, which are subdivided into lookahead and lookbehind assertions. These constructs are o refine when a match for a pattern occurs in the input text based on the surrounding context. Current implementation techniques for lookaround involve backtracking search, which can give rise to running time that is super-linear in the length of input text. In this paper, we first consider a formal mathematical semantics for lookaround, which complements the commonly used operational understanding of lookaround in terms of a backtracking implementation. Our formal semantics allows us to establish several equational properties for simplifying lookaround assertions. Additionally, we propose a new algorithm for matching regular expressions with lookaround that has time complexity $ O(m \cdot n) $, where $m$ is the size of the regular expression and $n$ is the length of the input text. The algorithm works by evaluating lookaround assertions in a bottom-up manner. Our algorithm makes use of a new notion of nondeterministic finite automata (NFAs), which we call oracle-NFAs. These automata are augmented with epsilon-transitions that are guarded by oracle queries that provide the truth values of lookaround assertions at every position in the text. We provide an implementation of our algorithm that incorporates three performance optimizations for reducing the work performed and memory used. We present an experimental comparison against PCRE and Java's regex library, which are state-of-the-art regex engines that support lookaround assertions. Our experimental results show that, in contrast to PCRE and Java, our implementation does not suffer from super-linear running time and is several times faster.", acknowledgement = ack-nhfb, ajournal = "Proc. ACM Program. Lang.", articleno = "92", fjournal = "Proceedings of the ACM on Programming Languages (PACMPL)", journal-URL = "https://dl.acm.org/loi/pacmpl", } @Article{Martinez:2024:PPP, author = "Virginia Ard{\'e}vol Mart{\'\i}nez and Florian Sikora and St{\'e}phane Vialette", title = "Parity Permutation Pattern Matching", journal = j-ALGORITHMICA, volume = "86", number = "8", pages = "2605--2624", month = aug, year = "2024", CODEN = "ALGOEJ", DOI = "https://doi.org/10.1007/s00453-024-01237-0", ISSN = "0178-4617 (print), 1432-0541 (electronic)", ISSN-L = "0178-4617", bibdate = "Mon Aug 5 15:19:35 MDT 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/algorithmica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://link.springer.com/article/10.1007/s00453-024-01237-0", acknowledgement = ack-nhfb, ajournal = "Algorithmica", fjournal = "Algorithmica", journal-URL = "http://link.springer.com/journal/453", } @Article{Moy:2024:KMP, author = "Cameron Moy", title = "{Knuth--Morris--Pratt} illustrated", journal = j-J-FUNCT-PROGRAM, volume = "34", number = "", pages = "??--??", month = "????", year = "2024", CODEN = "JFPRES", DOI = "https://doi.org/10.1017/S0956796824000017", ISSN = "0956-7968 (print), 1469-7653 (electronic)", ISSN-L = "0956-7968", bibdate = "Mon May 27 11:11:38 MDT 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/jfunctprogram.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.cambridge.org/core/journals/journal-of-functional-programming/article/knuthmorrispratt-illustrated/8EFA77D663D585B68630E372BCE1EBA4", acknowledgement = ack-nhfb, ajournal = "J. Funct. Program.", articleno = "e3", fjournal = "Journal of Functional Programming", journal-URL = "https://www.cambridge.org/core/journals/journal-of-functional-programming", onlinedate = "30 January 2024", } @Article{Renders:2024:LAP, author = "Luca Renders and Lore Depuydt and Sven Rahmann and Jan Fostier", title = "Lossless Approximate Pattern Matching: Automated Design of Efficient Search Schemes", journal = j-J-COMPUT-BIOL, volume = "31", number = "10", pages = "975--989", month = oct, year = "2024", CODEN = "JCOBEM", DOI = "https://doi.org/10.1089/cmb.2024.0664", ISSN = "1066-5277 (print), 1557-8666 (electronic)", ISSN-L = "1066-5277", bibdate = "Sat Apr 5 08:52:29 MDT 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputbiol.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://www.liebertpub.com/doi/abs/10.1089/cmb.2024.0664; https://www.liebertpub.com/doi/reader/10.1089/cmb.2024.0664", acknowledgement = ack-nhfb, ajournal = "J. Comput. Biol.", fjournal = "Journal of Computational Biology", journal-URL = "https://www.liebertpub.com/loi/cmb/", onlinedate = "30 September 2024", } @Article{Susik:2024:PMA, author = "Robert Susik and Robert Nowotniak", title = "Pattern matching algorithms in blockchain for network fees reduction", journal = j-J-SUPERCOMPUTING, volume = "80", number = "12", pages = "17741--17759", month = aug, year = "2024", CODEN = "JOSUED", DOI = "https://doi.org/10.1007/s11227-024-06115-8", ISSN = "0920-8542 (print), 1573-0484 (electronic)", ISSN-L = "0920-8542", bibdate = "Fri Aug 2 15:54:06 MDT 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/jsuper2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "https://link.springer.com/article/10.1007/s11227-024-06115-8", acknowledgement = ack-nhfb, ajournal = "J. Supercomputing", fjournal = "The Journal of Supercomputing", journal-URL = "http://link.springer.com/journal/11227", } @Article{Ulus:2024:ETP, author = "Dogan Ulus and Thomas Ferr{\`e}re and Eugene Asarin and Dejan Nickovic and Oded Maler", title = "Elements of Timed Pattern Matching", journal = j-TECS, volume = "23", number = "4", pages = "59:1--59:??", month = jul, year = "2024", CODEN = "????", DOI = "https://doi.org/10.1145/3645114", ISSN = "1539-9087 (print), 1558-3465 (electronic)", ISSN-L = "1539-9087", bibdate = "Wed Sep 25 11:16:15 MDT 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tecs.bib", URL = "https://dl.acm.org/doi/10.1145/3645114", abstract = "The rise of machine learning and cloud technologies has led to a remarkable influx of data within modern cyber-physical systems. However, extracting meaningful information from this data has become a significant challenge due to its volume and complexity. Timed pattern matching has emerged as a powerful specification-based runtime verification and temporal data analysis technique to address this challenge.\par n this paper, we provide a comprehensive tutorial on timed pattern matching that ranges from the underlying algebra and pattern specification languages to performance analyses and practical case studies. Analogous to textual pattern matching, timed pattern matching is the task of finding all time periods within temporal behaviors of cyber-physical systems that match a predefined pattern. Originally we introduced and solved several variants of the problem using the name of match sets, which has evolved into the concept of timed relations over the past decade. Here we first formalize and present the algebra of timed relations as a standalone mathematical tool to solve the pattern matching problem of timed pattern specifications. In particular, we show how to use the algebra of timed relations to solve the pattern matching problem for timed regular expressions and metric compass logic in a unified manner. We experimentally demonstrate that our timed pattern matching approach performs and scales well in practice. We further provide in-depth insights into the similarities and fundamental differences between monitoring and matching problems as well as regular expressions and temporal logic formulas. Finally, we illustrate the practical application of timed pattern matching through two case studies, which show how to extract structured information from temporal datasets obtained via simulations or real-world observations. These results and examples show that timed pattern matching is a rigorous and efficient technique in developing and analyzing cyber-physical systems.", acknowledgement = ack-nhfb, ajournal = "ACM Trans. Embed. Comput. Syst.", articleno = "59", fjournal = "ACM Transactions on Embedded Computing Systems", journal-URL = "https://dl.acm.org/loi/tecs", } @Article{Vaiwsri:2024:EBS, author = "Sirintra Vaiwsri and Thilina Ranbaduge and Peter Christen", title = "Encryption-based sub-string matching for privacy-preserving record linkage", journal = j-J-INFO-SEC-APPL, volume = "81", number = "??", pages = "??--??", month = mar, year = "2024", CODEN = "????", DOI = "https://doi.org/10.1016/j.jisa.2024.103712", ISSN = "2214-2126", ISSN-L = "2214-2126", bibdate = "Mon Apr 22 08:07:09 MDT 2024", bibsource = "https://www.math.utah.edu/pub/tex/bib/jinfosecappl.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S2214212624000152", acknowledgement = ack-nhfb, ajournal = "J. Info. Sec. Appl.", articleno = "103712", fjournal = "Journal of Information Security and Applications (JISA)", journal-URL = "http://www.sciencedirect.com/science/journal/22142126", } @Article{Chen:2025:IAS, author = "Haiming Chen and Hong Huang and Rongchen Li and Chengyao Peng and Weihao Su", title = "Incremental algorithms for solving regular expression intersection non-emptiness", journal = j-THEOR-COMP-SCI, volume = "1043", number = "??", pages = "??--??", day = "30", month = jul, year = "2025", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2025.115249", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Fri May 9 05:57:59 MDT 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2025.bib", URL = "https://www.sciencedirect.com/science/article/pii/S0304397525001872", acknowledgement = ack-nhfb, ajournal = "Theor. Comput. Sci.", articleno = "115249", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Chhabra:2025:SSM, author = "Tamanna Chhabra and Sukhpal Singh Ghuman and Jorma Tarhio", title = "String searching with mismatches using {AVX2} and {AVX-512} instructions", journal = j-INFO-PROC-LETT, volume = "189", number = "??", pages = "??--??", month = mar, year = "2025", CODEN = "IFPLAT", DOI = "https://doi.org/10.1016/j.ipl.2025.106557", ISSN = "0020-0190 (print), 1872-6119 (electronic)", ISSN-L = "0020-0190", bibdate = "Fri Feb 28 07:57:32 MST 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/infoproc2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0020019025000018", acknowledgement = ack-nhfb, articleno = "106557", fjournal = "Information Processing Letters", journal-URL = "http://www.sciencedirect.com/science/journal/00200190", } @Article{Kim:2025:ACT, author = "Sungmin Kim and Yo-Sub Han", title = "Approximate {Cartesian} tree pattern matching", journal = j-THEOR-COMP-SCI, volume = "1056", number = "??", pages = "??--??", day = "21", month = nov, year = "2025", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2025.115506", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Tue Nov 4 10:37:11 MST 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2025.bib", URL = "http://www.sciencedirect.com/science/article/pii/S030439752500444X", acknowledgement = ack-nhfb, ajournal = "Theor. Comput. Sci.", articleno = "115506", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Article{Okuboyejo:2025:AFG, author = "Olaperi Okuboyejo and Sigrid Ewert and Ian Sanders", title = "Automatic Feedback Generation for the Learning of Regular Expressions", journal = j-TOCE, volume = "25", number = "3", pages = "36:1--36:26", month = sep, year = "2025", CODEN = "????", DOI = "https://doi.org/10.1145/3743682", ISSN = "1946-6226", ISSN-L = "1946-6226", bibdate = "Thu Oct 2 11:31:08 MDT 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/toce.bib", abstract = "Regular expressions (REs) are often taught to undergraduate computer science majors in the Formal Languages and Automata (FLA) course; they are widely used to implement different software functionalities such as search mechanisms and data validation in diverse fields. Despite their importance, the difficulty of REs has been asserted many times in the literature. Due to their abstract and theoretical nature, students sometimes find REs boring and hard to learn. In addition, a review of existing tools that assist students when learning REs shows that the feedback provided is limited. Therefore, this research set out to automatically generate feedback that contains the type and location of the error and hints on how to fix the error for students learning REs. Principles from compiler construction and the theory of computation were used to develop algorithms for error detection. The algorithms detected the presence, type, and location of errors in students' RE solutions. The error details identified by the algorithms were then formatted as feedback usable to students. The performance of the algorithms was evaluated using a test dataset consisting of 249 incorrect REs, and the accuracy of predicting the error positions in the incorrect REs was 82\%. In comparison with other tools that generate feedback for students learning REs, the generated feedback in this research is more robust because it contains a summary of the type of error present and the location of the errors in both the incorrectly represented strings (counterexamples) and REs. The developed prototype can be enhanced into a full-fledged academic tool to support teachers and students learning REs in live classrooms, be it a physical or virtual class.", acknowledgement = ack-nhfb, ajournal = "ACM Trans. Comp. Educ.", articleno = "36", fjournal = "ACM Transactions on Computing Education", journal-URL = "https://dl.acm.org/loi/toce", } @Article{Palma:2025:FSH, author = "Marco Edoardo Palma and Alex Wolf and Pasquale Salza and Harald C. Gall", title = "On-the-Fly Syntax Highlighting: Generalisation and Speed-Ups", journal = j-IEEE-TRANS-SOFTW-ENG, volume = "51", number = "2", pages = "355--370", month = feb, year = "2025", CODEN = "IESEDJ", DOI = "https://doi.org/10.1109/TSE.2024.3506040", ISSN = "0098-5589 (print), 1939-3520 (electronic)", ISSN-L = "0098-5589", bibdate = "Fri Mar 14 08:18:57 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, ajournal = "IEEE Trans. Softw. Eng.", fjournal = "IEEE Transactions on Software Engineering", journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32", keywords = "Accuracy; Analytical models; Codes; Computational modeling; Convolutional neural networks; deep learning; Grammar; Java; neural networks; Predictive models; regular expressions; Source coding; Syntactics; Syntax highlighting", } @Article{Roellke:2025:SMS, author = "Dennis Roellke", title = "String Matching at Scale: a call for interdisciplinary collaboration and better-directed resources", journal = j-QUEUE, volume = "23", number = "1", pages = "??--??", month = jan, year = "2025", CODEN = "AQCUAE", DOI = "https://doi.org/10.1145/3723152", ISSN = "1542-7730 (print), 1542-7749 (electronic)", ISSN-L = "1542-7730", bibdate = "Tue May 13 06:23:46 MDT 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/queue.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "String matching can't be that difficult. But what are we matching on? What is the intrinsic identity of a software component? Does it change when developers copy and paste the source code instead of fetching it from a package manager? Is every package-manager request fetching the same artifact from the same upstream repository mirror? Can we trust that the source code published along with the artifact is indeed what's built into the release executable? Is the tool chain kosher?", acknowledgement = ack-nhfb, ajournal = "ACM Queue", fjournal = "ACM Queue: Tomorrow's Computing Today", journal-URL = "https://dl.acm.org/loi/queue", } @Article{Sun:2025:PRE, author = "Mingqian Sun and Guangwei Xie and Fan Zhang and Wei Guo and Xitian Fan and Tianyang Li and Li Chen and Jiayu Du", title = "{PTME}: a Regular Expression Matching Engine Based on Speculation and Enumerative Computation on {FPGA}", journal = j-TRETS, volume = "18", number = "1", pages = "3:1--3:??", month = mar, year = "2025", CODEN = "????", DOI = "https://doi.org/10.1145/3655626", ISSN = "1936-7406 (print), 1936-7414 (electronic)", ISSN-L = "1936-7406", bibdate = "Tue Mar 25 09:48:37 MDT 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/trets.bib", URL = "https://dl.acm.org/doi/10.1145/3655626", abstract = "Fast regular expression matching is an essential task for deep packet inspection. In previous works, the regular expression matching engine on FPGA struggled to achieve an ideal balance between resource consumption and throughput. Speculation and numerative computation exploits the statistical properties of deterministic finite automata, allowing for more efficient pattern matching. Existing related designs mostly revolve around vector instructions and multiple processors/cores or SIMD instruction sets, with a lack of implementation on FPGA platforms. We design a parallelized two-character matching engine on FPGA for efficiently fast filtering off fields with no pattern features. We transform the state transitions with sequential dependencies to the existing problem of elements in one set, enabling the proposed design to achieve high throughput with low resource consumption and support dynamic updates. Results show that compared with the traditional DFA matching, with a maximum resource consumption of 25\% for on-chip FFs (74323/1045440) and LUTs (123902/522720), there is an improvement in throughput of 8.08--229.96$ \times $ speedup and 87.61--99.56\% speed-up(percentage improvement) for normal traffic, and 11.73--39.59$ \times $ speedup and 91.47--97.47\% speed-up(percentage improvement) for traffic with high-frequency match hits. Compared with the state-of-the-art similar implementation, our circuit on a single FPGA chip is superior to existing multi-core designs.", acknowledgement = ack-nhfb, ajournal = "ACM Trans. Reconfigurable Technol. Syst.", articleno = "3", fjournal = "ACM Transactions on Reconfigurable Technology and Systems (TRETS)", journal-URL = "https://dl.acm.org/loi/trets", } @Article{Zhang:2025:EGS, author = "Ling Zhang and Shaleen Deep and Jignesh M. Patel and Karthikeyan Sankaralingam", title = "An Evaluation of {$N$}-Gram Selection Strategies for Regular Expression Indexing in Contemporary Text Analysis Tasks", journal = j-PROC-VLDB-ENDOWMENT, volume = "18", number = "13", pages = "5703--5715", month = sep, year = "2025", CODEN = "????", DOI = "https://doi.org/10.14778/3773731.3773744", ISSN = "2150-8097", ISSN-L = "2150-8097", bibdate = "Fri Jan 9 10:06:11 MST 2026", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldbe.bib", abstract = "Efficient evaluation of regular expressions (regex, for short) is crucial for text analysis, and n-gram indexes are fundamental to achieving fast regex evaluation performance. However, these indexes face scalability challenges because of the exponential \ldots{}", acknowledgement = ack-nhfb, ajournal = "Proc. VLDB Endowment", fjournal = "Proceedings of the VLDB Endowment", journal-URL = "https://dl.acm.org/loi/pvldb", } @Article{Rocco:2026:DCG, author = "Lorenzo {Di Rocco} and Umberto {Ferraro Petrillo} and Raffaele Giancarlo and Giuseppe Cattaneo", title = "Distributed compressive genomics: Fundamental pattern matching primitives via {Spark}", journal = j-FUT-GEN-COMP-SYS, volume = "176", number = "??", pages = "??--??", month = mar, year = "2026", CODEN = "FGSEVI", DOI = "https://doi.org/10.1016/j.future.2025.108169", ISSN = "0167-739X (print), 1872-7115 (electronic)", ISSN-L = "0167-739X", bibdate = "Tue Dec 23 06:10:06 MST 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/futgencompsys2020.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0167739X25004637", acknowledgement = ack-nhfb, ajournal = "Future Gener. Comput. Syst.", articleno = "108169", fjournal = "Future Generation Computer Systems", journal-URL = "http://www.sciencedirect.com/science/journal/0167739X", } @Article{Zhang:2026:IRP, author = "Yuanrui Zhang and Xinxin Liu", title = "Image reflection on process graphs of 1-free regular expressions modulo bisimilarity", journal = j-THEOR-COMP-SCI, volume = "1063", number = "??", pages = "??--??", day = "13", month = feb, year = "2026", CODEN = "TCSCDI", DOI = "https://doi.org/10.1016/j.tcs.2025.115678", ISSN = "0304-3975 (print), 1879-2294 (electronic)", ISSN-L = "0304-3975", bibdate = "Tue Dec 30 14:06:21 MST 2025", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/tcs2025.bib", URL = "http://www.sciencedirect.com/science/article/pii/S0304397525006152", acknowledgement = ack-nhfb, ajournal = "Theor. Comput. Sci.", articleno = "115678", fjournal = "Theoretical Computer Science", journal-URL = "http://www.sciencedirect.com/science/journal/03043975", } @Misc{Anonymous:20xx:PPC, author = "Anonymous", title = "{PCRE} --- {Perl} Compatible Regular Expressions", howpublished = "Unmaintained Web site.", year = "20xx", bibdate = "Wed Sep 09 09:27:54 2020", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.pcre.org/", abstract = "The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5. PCRE has its own native API, as well as a set of wrapper functions that correspond to the POSIX regular expression API. The PCRE library is free, even for building proprietary software.", acknowledgement = ack-nhfb, } @Unpublished{Dijkstra:20xx:PMP, author = "Edsger W. Dijkstra", title = "The pattern-matching problem", year = "20xx", bibdate = "Mon Mar 16 08:14:00 2015", bibsource = "https://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Circulated privately.", URL = "http://www.cs.utexas.edu/users/EWD/ewd04xx/EWD459.PDF", acknowledgement = ack-nhfb, filesize = "636 KB", oldlabel = "EWD:EWD459", } %%% ==================================================================== %%% Cross-referenced entries must come last. Entries are sorted by %%% year, and then by citation label, with `bibsort --byyear': @Book{Shannon:1956:AS, editor = "C. E. Shannon and J. McCarthy", booktitle = "Automata Studies", title = "Automata Studies", volume = "AM-34", publisher = pub-PRINCETON, address = pub-PRINCETON:adr, pages = "ix + 285", year = "1956", CODEN = "ANMAAH", ISBN = "0-691-07916-1", ISBN-13 = "978-0-691-07916-5", ISSN = "0066-2313", bibdate = "Mon Jun 06 19:17:03 2005", bibsource = "/u/ma/mlewis/references/heap.bib; https://www.math.utah.edu/pub/bibnet/authors/s/shannon-claude-elwood.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/von-neumann-john.bib; ma/mlewis/art_life/Alife.bib", note = "German translation in \cite{Shannon:1974:STA}.", series = j-ANN-MATH-STUDIES, acknowledgement = ack-nhfb, attnote = "The Preface, Table of Contents, and the two papers by Shannon are included in Part B.", author-dates = "Claude Elwood Shannon (April 30, 1916--February 24, 2001)", remark = "An early collection of papers on automata theory including articles by many of the early pioneers in the application of automata theory to the study of natural systems: Shannon, von Neumann, Ashby, Minsky, Moore, McCarthy, Kleene, and others.", xxeditor = "C. E. Shannon and J. McCarthy and W. Ross Ashby", xxpages = "viii + 285", } @Proceedings{ACM:1969:CRA, editor = "{ACM}", booktitle = "{Conference record of ACM Symposium on Theory of Computing; papers presented at the symposium, Marina del Rey, California, May 5, 6, 7, 1969}", title = "{Conference record of ACM Symposium on Theory of Computing; papers presented at the symposium, Marina del Rey, California, May 5, 6, 7, 1969}", publisher = pub-ACM, address = pub-ACM:adr, pages = "v + 272", year = "1969", LCCN = "QA75.5 .A22 1969", bibdate = "Wed Feb 20 17:55:34 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/stoc1960.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, xxISBN = "none", } @Proceedings{Freiman:1972:IPP, editor = "C. V. Freiman and J. E. Griffith and J. L. Rosenfeld", booktitle = "{Information processing 71: proceedings of IFIP Congress 71, Ljubjana, Yugoslavia, August 23--28, 1971}", title = "{Information processing 71: proceedings of IFIP Congress 71, Ljubjana, Yugoslavia, August 23--28, 1971}", volume = "1", publisher = pub-NORTH-HOLLAND, address = pub-NORTH-HOLLAND:adr, pages = "xviii + 1621 (2 volumes)", year = "1972", ISBN = "0-7204-2063-6", ISBN-13 = "978-0-7204-2063-0", LCCN = "QA75.5 .I532 1971", bibdate = "Sat Mar 23 09:43:51 2002", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/bibnet/authors/b/bauer-friedrich-ludwig.bib; https://www.math.utah.edu/pub/tex/bib/fortran1.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = "IFIP congress series", URL = "https://dblp.org/db/conf/ifip/ifip71-1.html", acknowledgement = ack-nhfb, remark = "Volume 1. Foundations and systems. Volume 2. Applications.", subject = "Electronic data processing; Congresses", tableofcontents = "Introduction / H. Zemanek / xvii \\ Address of welcome / J. B. Tito / 1 \\ \\ Inaugural addresses: S. Kav{\v{c}}i{\v{c}} / 2 \\ K. Crvenkovski \\ A. A. Doronicyn \\ V. M. Glushkov \\ \\ Part 1. Mathematical Foundations of Information Processing \\ \\ Invited Papers \\ R. W. Floyd / Toward interactive design of correct programs / 7 \\ D. R. Reddy / Speech recognition: prospects for the seventies / 12 \\ D. E. Knuth / Mathematical analysis of algorithms / 19 \\ A. P. Ershov / Theory of program schemata / 28 \\ \\ Theoretical Foundations for Computer Science \\ T. L. Fine / Stochastic independence and computational complexity / 47 \\ V. A. Nepomniaschy / Conditions for the algorithmic completeness of systems of operations / 52 \\ C.-P. Schnorr / Optimal G{\"o}del numberings / 56 \\ A. C. Fleck / On the combinatorial complexity of context-free grammars / 59 \\ R. S. Michalski and Z. Kulpa / A system of programs for the synthesis of switching circuits using the method of disjoint stars / 61 \\ A. P. J. Van Der Walt / Random context languages / 66 \\ D. L. Milgram and A. Rosenfeld / Array automata and array grammars / 69 \\ S. A. Cook / Linear time simulation of deterministic two-way pushdown automata / 75 \\ J. M. Barzdin / Prognostication of automata and functions / 81 \\ \\ Graphs, Data Structures, and Symbol Manipulation \\ J. Hopcroft and R. Tarjan / Planarity testing in V log V steps: extended abstract / 85 \\ J. Nievergelt and C. K. Wong / On binary search trees / 91 \\ J. Bruno and E. G. Coffman, Jr. / Nearly optimal binary search trees / 99 \\ S. E. Hutchins / Data compression in context-free languages / 104 \\ J. N. Hanson / Equation solutions by functional analysis algorithms and formula manipulation / 110 \\ \\ Mathematical Models for Information Processing Systems \\ G. Salton / Experiments in automatic thesaurus construction for information retrieval. 115 \\ L. Kleinrock, R. R. Muntz and J. Hsu / Tight bounds on the average response time-shared computer systems / 124 \\ M. Aoki / Decentralized control of large dynamic systems and a new class of associated optimization problems / 134 \\ G. G. Iazeolla / Walking strategies for a single-server multiqueue service system / 141 \\ \\ Mathematical Problems in Pattern Recognition \\ S. Watanabe / A unified view of clustering algorithms / 149 \\ H. C. Andrews / Some unitary transformations in pattern recognition and image processing / 155 \\ E. S. Deutsch / Towards isotopic image reduction / 161 \\ A. Martelli and U. Montanari / Optimal smoothing in picture processing: an application to fingerprints / 173 \\ \\ Artificial Intelligence \\ B. G. Buchanan and J. Lederberg / The heuristic DENDRAL program for explaining empirical data / 179 \\ R. E. Fikes / Monitored execution of robot plans produced by STRIPS / 189 \\ R. E. Kling / Reasoning by analogy as an aid to heuristic theorem proving / 195 \\ J. F. Rulifson, R. J. Waldinger and J. Derksen / A language for writing problem-solving programs / 201 \\ J. M. Tenenbaum, A. C. Kay, T. Binford, G. Falk, J. Feldman, G. Grape, R. Paul, K. Pingle, I. Sobel and R. Sproull / A laboratory for hand--eye research / 206 \\ \\ Pattern Recognition Techniques \\ V. P. Masnikosa / Extraction of essential descriptors for pattern contours / 211 \\ G. M. Miller / Real-time classification of handwritten script words / 218 \\ J. Sklansky and P. J. Nahin / A parallel mechanism for recognizing silhouettes / 224 \\ \\ Program Construction and Verification \\ R. L. Constable / Constructive mathematics and automatic program writers / 229 \\ J. C. King / A program verifier / 234 \\ E. Ashcroft and Z. Manna / The translation of `go to' programs to `while' programs / 250 \\ J. Szlachta / On the correctness of accepted input / 256 \\ \\ Closing Session \\ H. A. Simon / The theory of problem solving / 261 \\ \\ Part 2. Computer Software \\ \\ Invited Papers \\ B. Randell / Operating systems: the problems of performance and reliability / 281 \\ P. Lucas / Formal definition of programming languages and systems / 291 \\ T. E. Cheatham, Jr. / The recent evolution of programming languages / 298 \\ \\ Program Performance \\ V. G. Cerf and G. Estrin / Measurement of recursive programs / 314 \\ P. Deutsch and C. A. Grant / A flexible measurement tool for software systems / 320 \\ B. A. Wichman / The performance of some Algol systems / 327 \\ \\ Program System Design \\ Yu. V. Kapitonova and A. A. Letichevskii / Design problems of software special systems / 335 \\ D. L. Parnas / Information distribution aspects of design methodology / 339 \\ C. B{\'e}tourn{\'e}, J. Ferrie, C. Kaiser, S. Krakowiak and J. Mossiere / System design and implementation using parallel processes / 345 \\ F. Akiyama / An example of software system debugging / 353 \\ \\ Programming Languages and Systems \\ I. F. Currie, S. G. Bond and J. D. Morison / Algol 68-R, its implementation and use / 360 \\ F. Mizzi and P. Toussaint / Physictran: A programming language for physicists, economists and engineers extending the possibilities of Fortran V in automatic solving / 364 \\ J. Reinfelds / AMTRAN 70 / 370 \\ T. C. Spillman / Exposing side-effects in a PL/I optimizing compiler / 376 \\ R. D. Jenks / ``META/PLUS'' --- the syntax extension facility for ``SCRATCHPAD'' / 382 \\ \\ Program Optimization \\ F. E. Allen / A basis for program optimization / 385 \\ M. Hopkins / An optimizing compiler design / 391 \\ P. Bachmann / A contribution to the problem of the optimization of programs / 397 \\ \\ Aspects of Programming \\ M. Woodger / On semantic levels in programming / 402 \\ W. A. Wulf / Programming without the goto / 408 \\ A. Ballard and D. Tsichritzis / Transformations of programs / 414 \\ W. M. Gentleman / A portable coroutine system / 419 \\ \\ Interactive Systems \\ L. W. Wolf and L. J. Julyk / Generalized interactive symbolic manipulations / 425 \\ L. Mezei and A. R. Zivian / ARTA, an interactive animation system / 429 \\ R. D. H. Wycherley / An interaction-handling technique for satellite graphics / 435 \\ 0. Lecarme / A system for interactive graphic programming / 440 \\ 1. Casazza, G. Dell'Aquila, 0. Murro, G. Prezioso, M. Refice and P. Russo / A new interactive graphic package / 445 \\ \\ Data Handling \\ B. T. Bennett and W. D. Frazer / Approximating optimal direct-access merge performance / 450 \\ W. H. Burge / An analysis of the compromise merge sorting techniques / 454 \\ A. Reiter, A. Clute and J. M. Tenenbaum / Representation and execution of searches over large tree-structured data bases / 460 \\ P. L. Long, K. B. L. Rastogi, J. E. Rush and J. A. Wyckoff / Large on-line files of bibliographic data: An efficient design and a mathematical predictor of retrieval behavior / 473 \\ \\ Operating Systems \\ P. B. Hansen / An analysis of response ratio scheduling / 479 \\ W. F. King, III / Analysis of demand paging algorithms / 485 \\ J. E. Pomeranz / Paging with fewest expected replacements / 491 \\ J. Olszewski / On a structure of operating systems schedulers / 494 \\ P. G. Hebalkar / A graph model for analysis of deadlock prevention in systems with parallel computations / 498 \\ \\ Formal Language Manipulation \\ S. Backes / Top-down syntax analysis and Floyd--Evans production language / 504 \\ G. Chroust / Scope conserving expression evaluation / 509 \\ W. R. Lalonde, E. S. Lee and J. J. Horning / An LALR(k) parser generator / 513 \\ J. J. Horning / A procedure for grammatical inference / 519 \\ S. Crespi Reghizzi / An effective model for grammar interference / 524 \\ \\ Closing Session \\ F. L. Bauer / Software engineering / 530 \\ \\ Part 3. Computer Hardware and Systems \\ \\ Invited Papers \\ D. J. Wheeler / The limits of the complexity of computer systems / 541 \\ E. E. Newhall and A. N. Venetsanopoulos / Computer communication --- representative systems / 545 \\ E. Shapiro / Technologies for storage hierarchies / 553 \\ \\ Multiprocessing \\ M. A. Kartev / On the structure of multiprocessor systems / 559 \\ M. J. Flynn / Shared internal resources in multiprocessor / 565 \\ M. M. Lehman and G. Waldbaum / An analytical model for upper bounds on the performance of event-driven, hierarchical computer systems / 570 \\ \\ Applications of Microprogramming \\ P. S. Roberts and C. S. Wallace / A microprogrammed lexical processor / 577 \\ Z. L. Rabinowitch / Development of computer languages and interpretive systems / 582 \\ J. Suchard and G. Bossuet / Modular microprogrammed logical units (ULM) / 586 \\ F. Mavaddat / Using stacks to detect expression parallelism / 591 \\ \\ Hardware Systems Design \\ R. S. Wilkov / Reliability considerations in computer network design / 597 \\ R. Schubert / Structure of highly reliable system / 603 \\ J. F. Huber / High-performance program request control / 608 \\ \\ Communications \\ W. W. Chu / Optimal fixed message block size for computer communications / 614 \\ D. W. Davies / Packet switching in a public data network / 622 \\ T. H. Beeforth, R. L. Grimsdale, F. Halsall and D. J. Woollons / Aspects of a proposed data communication system / 628 \\ A. L. Dudick, E. Fuchs and P. E. Jackson / Data traffic measurements for inquiry--response computer communication systems / 634 \\ C. S. Duke and M. J. Mcintyre / A new approach to data communications in the B6700 / 642 \\ \\ Hybrid and Analog Computation \\ S. P. Bingulac and M. R. Stojic / Iterative calculations via the block-oriented simulation languages / 648 \\ K. G. Beauchamp, C. J. Kelley, P. G. Thomasson and M. E. Williamson / Development of a hybrid system for university research / 655 \\ A. A. Kamal and A. K. El-Sherif / Analysis and compensation of high-speed electronic analog computer errors / 662 \\ R. M. Howe, R. B. Hollstien and R. A. Moran / Hardware/software considerations in the AD/Four electronic patched hybrid computer / 668 \\ C. C. Wheeler and R. L. Grimsdale / A program-controlled two-dimensional impedance network / 675 \\ \\ Voice, Filters, and Codes \\ J. D. Bagley / A voice input facility for digital computers / 680 \\ T. Sakai, K. Ohtani and S. Tomita / On-line, real-time multiple-speech output system / 686 \\ H. T. Nagle, Jr. and C. C. Carroll / Memory sizing for digital filters / 691 \\ A. A. Davydov and G. M. Tenengol'ts / On a class of codes correcting errors in information exchanged between computers / 697 \\ \\ Computer Architecture \\ R. P. Wishner, H. R. Downs and J. Shechter / Real-time computer techniques for parallel processors / 704 \\ J. L. Parker / A logic-per-track retrieval system / 711 \\ G. L. M. Noguez and D. M. J. Peccoud / An array processor design for APL-like data structure / 717 \\ J. N. Potvin, P. Chenevert, K. C. Smith and P. Boulton / Star-Ring: a computer intercommunication and I/O system / 721 \\ P. D. Jones, N. R. Lincoln and J. E. Thornton / Whither computer architecture? / 729 \\ \\ Graphics and Displays \\ P. J. Pobgee and J. R. Parks / Applications of a low cost graphical input tablet / 737 \\ \\ P. Salminger / Experimental display with input by light gate field selection / 742 \\ B. Bussell and H. M. Taxin / Visual resolution processing for interactive graphics / 748 \\ H. C. A. Hankins and G. Hughes / The impact of dark trace displays on computer graphics / 752 \\ J. J. Batter and F. P. Brooks, Jr. / GROPE-1: a computer display to the sense of feel / 759 \\ \\ Closing Session \\ I. L. Auerbach, Technological forecast 1971", } @Proceedings{ACM:1974:CRS, editor = "{ACM}", booktitle = "{Conference record of sixth annual ACM Symposium on Theory of Computing: papers presented at the symposium, Seattle, Washington, April 30--May 2, 1974}", title = "{Conference record of sixth annual ACM Symposium on Theory of Computing: papers presented at the symposium, Seattle, Washington, April 30--May 2, 1974}", publisher = pub-ACM, address = pub-ACM:adr, pages = "iv + 347", year = "1974", LCCN = "QA76.6 .A13 1974", bibdate = "Thu Dec 3 07:11:18 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/stoc1970.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, keywords = "computational complexity --- congresses; electronic digital computers --- programming --- congresses", xxISBN = "none", } @Book{Shannon:1974:STA, editor = "C. E. Shannon and J. McCarthy", booktitle = "{Studien zur Theorie der Automaten}. ({German}) Automata Studies", title = "{Studien zur Theorie der Automaten}. ({German}) Automata Studies", publisher = "Rogner \& Bernhard", address = "Munich, West Germany", pages = "xxxiii + 452", year = "1974", ISBN = "3-8077-0001-3, 0-398-03003-0", ISBN-13 = "978-3-8077-0001-4, 978-0-398-03003-2", LCCN = "????", bibdate = "Sat Nov 20 13:17:03 2010", bibsource = "https://www.math.utah.edu/pub/bibnet/authors/s/shannon-claude-elwood.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Edited by Franz Kaltenbeck and Peter Weibel with notes by Dieter Roth.", acknowledgement = ack-nhfb, language = "German", } @Proceedings{ACM:1976:CRE, editor = "ACM", booktitle = "{Conference record of the eighth annual ACM Symposium on Theory of Computing: papers presented at the Symposium, Hershey, Pennsylvania, May 3--5, 1976}", title = "{Conference record of the eighth annual ACM Symposium on Theory of Computing: papers presented at the Symposium, Hershey, Pennsylvania, May 3--5, 1976}", publisher = pub-ACM, address = pub-ACM:adr, pages = "iv + 246", year = "1976", LCCN = "QA 76.6 A12 1976", bibdate = "Thu Dec 3 07:11:18 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, keywords = "computational complexity --- congresses; electronic digital computers --- programming --- congresses", xxISBN = "none", } @Proceedings{Winkowski:1978:MFC, editor = "Jozef Winkowski", booktitle = "{Mathematical foundations of computer science, 1978: proceedings, 7th Symposium, Zakopane, Poland, September 4--8, 1978}", title = "{Mathematical foundations of computer science, 1978: proceedings, 7th Symposium, Zakopane, Poland, September 4--8, 1978}", volume = "64", publisher = pub-SV, address = pub-SV:adr, pages = "ix + 551", year = "1978", CODEN = "LNCSD9", ISBN = "0-387-08917-9", ISBN-13 = "978-0-387-08917-1", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "QA76.6 .S9194 1978", bibdate = "Fri Apr 12 07:20:51 1996", bibsource = "https://www.math.utah.edu/pub/bibnet/authors/s/slissenko-anatol.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, acknowledgement = ack-nhfb, keywords = "database management --- congresses; electronic digital computers --- programming --- congresses; parallel processing (electronic computers) --- congresses; programming languages (electronic computers) --- congresses", } @Proceedings{Ng:1979:SAC, editor = "Edward W. Ng", booktitle = "{Symbolic and Algebraic Computation: EUROSAM '79, an International Symposium on Symbolic and Algebraic Manipulation, Marseille, France, June 1979}", title = "{Symbolic and Algebraic Computation: EUROSAM '79, an International Symposium on Symbolic and Algebraic Manipulation, Marseille, France, June 1979}", volume = "72", publisher = pub-SV, address = pub-SV:adr, pages = "xiv + 557", year = "1979", ISBN = "0-387-09519-5", ISBN-13 = "978-0-387-09519-6", LCCN = "QA155.7.E4 I57 1979", bibdate = "Sun Jul 17 10:02:58 1994", bibsource = "https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, acknowledgement = ack-nhfb, } @Proceedings{ACM:1981:CPT, editor = "ACM", booktitle = "{Conference proceedings of the Thirteenth Annual ACM Symposium on Theory of Computing: papers presented at the Symposium, Milwaukee, Wisconsin, May 11--13, 1981}", title = "{Conference proceedings of the Thirteenth Annual ACM Symposium on Theory of Computing: papers presented at the Symposium, Milwaukee, Wisconsin, May 11--13, 1981}", publisher = pub-ACM, address = pub-ACM:adr, pages = "v + 391", year = "1981", ISBN = "0-89791-041-9 (paperback)", ISBN-13 = "978-0-89791-041-5 (paperback)", LCCN = "????", bibdate = "Thu Dec 03 08:30:27 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "ACM order no. 508810. Also published in {\em Journal of computer and system sciences}, vol. 26, no. 3.", acknowledgement = ack-nhfb, keywords = "Computational complexity --- Congresses.; Electronic digital computers --- Programming --- Congresses.; Machine theory --- Congresses.", } @Proceedings{ACM:1983:PSA, key = "ACM-PODS'83", booktitle = "{Proceedings of the Second ACM SIGACT-SIGMOD Symposium on Principles of Database Systems: 21--23 March 1983, Colony Square Hotel, Atlanta, Georgia}", title = "{Proceedings of the Second ACM SIGACT-SIGMOD Symposium on Principles of Database Systems: 21--23 March 1983, Colony Square Hotel, Atlanta, Georgia}", publisher = pub-ACM, address = pub-ACM:adr, pages = "vii + 413", year = "1983", ISBN = "0-89791-097-4", ISBN-13 = "978-0-89791-097-2", LCCN = "QA76.9.D3 A15 1983", bibdate = "Sat Sep 17 10:24:05 1994", bibsource = "https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", price = "US\$25.00", acknowledgement = ack-nhfb, } @Proceedings{ACM:1984:PSA, editor = "{ACM}", booktitle = "{Proceedings of the sixteenth annual ACM Symposium on Theory of Computing, Washington, DC, April 30--May 2, 1984}", title = "{Proceedings of the sixteenth annual ACM Symposium on Theory of Computing, Washington, DC, April 30--May 2, 1984}", publisher = pub-ACM, address = pub-ACM:adr, pages = "vi + 547", year = "1984", ISBN = "0-89791-133-4", ISBN-13 = "978-0-89791-133-7", LCCN = "QA 76.6 A13 1984", bibdate = "Thu Dec 3 07:11:18 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "ACM order no. 508840.", acknowledgement = ack-nhfb, keywords = "computational complexity --- congresses", } @Proceedings{Hwang:1985:PSC, editor = "Kai Hwang", booktitle = "{Proceedings: 7th Symposium on Computer Arithmetic, June 4--6, 1985, University of Illinois, Urbana, Illinois}", title = "{Proceedings: 7th Symposium on Computer Arithmetic, June 4--6, 1985, University of Illinois, Urbana, Illinois}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "xi + 343", year = "1985", ISBN = "0-8186-0632-0 (paperback), 0-8186-8632-4 (hard), 0-8186-4632-2 (microfiche)", ISBN-13 = "978-0-8186-0632-8 (paperback), 978-0-8186-8632-0 (hard), 978-0-8186-4632-4 (microfiche)", LCCN = "QA76.9.C62 S95 1985", bibdate = "Thu Sep 08 00:11:41 1994", bibsource = "https://www.math.utah.edu/pub/tex/bib/fparith.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "IEEE catalog number 85CH2146-9. IEEE Computer Society order number 632.", acknowledgement = ack-nj, keywords = "ARITH-7", } @Proceedings{ACM:1986:PEA, editor = "{ACM}", booktitle = "{Proceedings of the Eighteenth annual ACM Symposium on Theory of Computing, Berkeley, California, May 28--30, 1986}", title = "{Proceedings of the Eighteenth annual ACM Symposium on Theory of Computing, Berkeley, California, May 28--30, 1986}", publisher = pub-ACM, address = pub-ACM:adr, pages = "v + 461", year = "1986", ISBN = "0-89791-193-8", ISBN-13 = "978-0-89791-193-1", LCCN = "QA 76.6 A13 1986", bibdate = "Thu Dec 3 07:11:18 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "ACM order no. 508860.", acknowledgement = ack-nhfb, keywords = "computational complexity --- congresses; programming (electronic computers) --- congresses", } @Proceedings{Char:1986:PSS, editor = "Bruce W. Char", booktitle = "{Proceedings of the 1986 Symposium on Symbolic and Algebraic Computation: Symsac '86, July 21--23, 1986, Waterloo, Ontario}", title = "{Proceedings of the 1986 Symposium on Symbolic and Algebraic Computation: Symsac '86, July 21--23, 1986, Waterloo, Ontario}", publisher = pub-ACM, address = pub-ACM:adr, pages = "254", year = "1986", ISBN = "0-89791-199-7 (paperback)", ISBN-13 = "978-0-89791-199-3 (paperback)", LCCN = "QA155.7.E4 A281 1986", bibdate = "Thu Mar 12 07:35:00 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/issac.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "ACM order no. 505860.", acknowledgement = ack-nhfb, keywords = "Algebra --- Data processing --- Congresses; Programming languages (Electronic computers) --- Congresses", } @Proceedings{IEEE:1986:PCI, key = "CVPR 1986", booktitle = "{Proceedings, CVPR '86 (IEEE Computer Society Conference on Computer Vision and Pattern Recognition, Miami Beach, FL, June 22--26, 1986)}", title = "{Proceedings, CVPR '86 (IEEE Computer Society Conference on Computer Vision and Pattern Recognition, Miami Beach, FL, June 22--26, 1986)}", publisher = pub-IEEE, address = pub-IEEE:adr, year = "1986", ISBN = "0-8186-0721-1", ISBN-13 = "978-0-8186-0721-9", LCCN = "TA1632 .I36 1986", bibdate = "Tue May 12 10:19:52 1998", bibsource = "Compendex database; Graphics/rosenfeld/Proceedings.bib; https://www.math.utah.edu/pub/tex/bib/font.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = "IEEE Publ. 86CH2290-5", } @Proceedings{ACM:1987:PFA, editor = "{ACM}", booktitle = "{POPL '87. Fourteenth Annual ACM SIGACT-SIGPLAN Symposium on Principles of programming languages, January 21--23, 1987, Munich, W. Germany}", title = "{POPL '87. Fourteenth Annual ACM SIGACT-SIGPLAN Symposium on Principles of programming languages, January 21--23, 1987, Munich, W. Germany}", publisher = pub-ACM, address = pub-ACM:adr, pages = "????", year = "1987", ISBN = "????", ISBN-13 = "????", LCCN = "????", bibdate = "Mon May 03 18:30:31 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/contents/proceedings/plan/41625/index.html", acknowledgement = ack-nhfb, } @Proceedings{Anonymous:1987:ESC, editor = "Anonymous", booktitle = "{EUUG Spring '87 Conference Proceedings}", title = "{EUUG Spring '87 Conference Proceedings}", publisher = pub-EUROPEN, address = pub-EUROPEN:adr, pages = "????", year = "1987", bibdate = "Sun Apr 13 12:27:34 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/minix.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The following topics were dealt with: Unix; Vorlich; structural regular expressions; event queue; manufacturing; entertainment; distributed processing; real-time systems; MINIX; telephone switch; banking; selective calling system; marketing; commercial computing; standards for Intel-based microcomputers; C++; MuX; intelligent information server; SVID compatible system; and Apple Macintosh integration", acknowledgement = ack-nhfb, classcodes = "C6115 (Programming support); C6150J (Operating systems)", conflocation = "M/S Mariella sailing between Helsinki, Finland and Stockholm, Sweden; 12-14 May 1987", countrypub = "UK", keywords = "administrative data processing; Apple; banking; C++; calling system; commercial computing; distributed processing; entertainment; event queue; Intel; intelligent information server; Macintosh; manufacturing; marketing; MINIX; MuX; operating systems; operating systems (computers); programming environments; real-; real-time systems; selective; standards; structural regular expressions; SVID; telephone switch; time systems; Unix; UNIX; Vorlich", } @Proceedings{Dayal:1987:PAC, editor = "Umeshwar Dayal and Irv Traiger", booktitle = "{Proceedings of Association for Computing Machinery Special Interest Group on Management of Data 1987 annual conference, San Francisco, May 27--29, 1987}", title = "{Proceedings of Association for Computing Machinery Special Interest Group on Management of Data 1987 annual conference, San Francisco, May 27--29, 1987}", publisher = pub-ACM, address = pub-ACM:adr, pages = "xii + 509", year = "1987", ISBN = "0-89791-236-5", ISBN-13 = "978-0-89791-236-5", LCCN = "QA 76.9 D3 P76 1987", bibdate = "Wed Oct 25 08:47:39 MDT 2000", bibsource = "http://www.acm.org/pubs/contents/proceedings/series/sigmod_pods/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "ACM order number 472870.", acknowledgement = ack-nhfb, keywords = "SIGMOD '87", } @Proceedings{Hoffman:1987:MC, editor = "Alan J. Hoffman and Willard L. Miranker", booktitle = "Mathematics and Computing", title = "Mathematics and Computing", volume = "31(2)", publisher = pub-IBM, address = pub-IBM:adr, pages = "150--260", month = mar, year = "1987", CODEN = "IBMJAE", ISSN = "0018-8646 (print), 2151-8556 (electronic)", ISSN-L = "0018-8646", bibdate = "Tue Nov 10 07:52:44 1998", bibsource = "Compendex database; https://www.math.utah.edu/pub/tex/bib/ibmjrd.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = j-IBM-JRD, abstract = "This issue contains 14 papers presented at the conference. It describes results in differential equations and statistics, in mathematical programming and numerical analysis, in approximation theory and theoretical computer science, in symbolic dynamics and computing the Fourier Transform. It describes results in mathematics and the application of mathematics to other areas. In short, it is a snapshot of the scientific life of the department. All papers are separately indexed and abstracted.", acknowledgement = ack-nhfb, classification = "721; 723; 912; 921", conference = "Mathematics and Computing. Symposium Celebrating the 25th Anniversary of the Formation of the Mathematical Sciences Department of the IBM Thomas J. Watson Research Center.", journalabr = "IBM Journal of Research and Development", keywords = "applied mathematics; computer aided analysis; computer aided engineering; computer metatheory --- Boolean Algebra; crystallography; industrial engineering; logic functions; mathematical techniques --- Applications; pattern-matching; science", meetingaddress = "Yorktown Heights, NY, USA", sponsor = "IBM, Thomas J. Watson Research Cent, Yorktown Heights, NY, USA", } @Proceedings{IEEE:1988:PSN, editor = "{IEEE}", booktitle = "{Proceedings, Supercomputing '88: November 14--18, 1988, Orlando, Florida}", title = "{Proceedings, Supercomputing '88: November 14--18, 1988, Orlando, Florida}", volume = "1", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "xii + 458", year = "1988", ISBN = "0-8186-0882-X (v. 1; paper), 0-8186-8882-3 (v. 1; case), 0-8186-4882-1 (v. 1: microfiche) 0-8186-8923-4 (v. 2), 0-8186-5923-X (v. 2: microfiche), 0-8186-8923-4 (v. 2: case)", ISBN-13 = "978-0-8186-0882-7 (v. 1; paper), 978-0-8186-8882-9 (v. 1; case), 978-0-8186-4882-3 (v. 1: microfiche) 978-0-8186-8923-9 (v. 2), 978-0-8186-5923-2 (v. 2: microfiche), 978-0-8186-8923-9 (v. 2: case)", LCCN = "QA76.5 .S894 1988", bibdate = "Fri Aug 23 13:34:23 1996", bibsource = "ftp://ftp.math.utah.edu/pub/bibnet/authors/d/dongarra-jack-j.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/supercomputing88.bib", note = "Two volumes. Available from IEEE Service Center (Catalog number 88CH2617-9), Piscataway, NJ, USA.", acknowledgement = ack-nhfb, classification = "C5220 (Computer architecture); C5440 (Multiprocessor systems and techniques); C5470 (Performance evaluation and testing); C5540 (Terminals and graphic displays); C6150C (Compilers, interpreters and other processors); C6150J (Operating systems)", keywords = "algorithms; architecture; benchmarking; compiler evaluation; compiler technology; computer graphic equipment; data-flow systems; Horizon superconducting system; mass storage systems; operating systems; operating systems (computers); parallel algorithms; parallel architectures; parallel machines; performance evaluation; program compilers; program development; supercomputer performance; supercomputing center management; visualization", } @Proceedings{ACM:1989:SAA, editor = "{ACM}", booktitle = "{Seventeenth annual ACM Computer Science Conference, February 21--23, 1989, Commonwealth Convention Center, Louisville, Kentucky}", title = "{Seventeenth annual ACM Computer Science Conference, February 21--23, 1989, Commonwealth Convention Center, Louisville, Kentucky}", publisher = pub-ACM, address = pub-ACM:adr, pages = "xix + 491", year = "1989", ISBN = "0-89791-299-3", ISBN-13 = "978-0-89791-299-0", LCCN = "QA75.5 .A1371 1989", bibdate = "Wed Jan 15 14:26:56 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/spell.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Proceedings{IEEE:1989:ASF, editor = "{IEEE}", booktitle = "{30th annual Symposium on Foundations of Computer Science, October 30--November 1, 1989, Research Triangle Park, North Carolina}", title = "{30th annual Symposium on Foundations of Computer Science, October 30--November 1, 1989, Research Triangle Park, North Carolina}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "xvii + 632", year = "1989", CODEN = "ASFPDV", ISBN = "0-8186-1982-1 (casebound), 0-8186-5982-3 (microfiche)", ISBN-13 = "978-0-8186-1982-3 (casebound), 978-0-8186-5982-9 (microfiche)", ISSN = "0272-5428", LCCN = "QA 76 S979 1989; TK7885.A1 S92 1989", bibdate = "Thu Dec 3 07:11:18 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/focs1980.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Formerly called the Annual Symposium on Switching and Automata Theory. IEEE catalog no. 89CH2808-4. Computer Society order no. 1982.", acknowledgement = ack-nhfb, keywords = "computational complexity --- congresses; electronic data processing --- congresses; machine theory --- congresses", } @Proceedings{ACM:1990:PPN, editor = "{ACM}", booktitle = "{PODS '90. Proceedings of the Ninth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems: April 2--4, 1990, Nashville, Tennessee}", title = "{PODS '90. Proceedings of the Ninth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems: April 2--4, 1990, Nashville, Tennessee}", volume = "51(1)", publisher = pub-ACM, address = pub-ACM:adr, pages = "vii + 425", year = "1990", ISBN = "0-89791-352-3", ISBN-13 = "978-0-89791-352-2", ISSN = "0022-0000 (print), 1090-2724 (electronic)", LCCN = "QA 76.9 D3 A26 1990", bibdate = "Fri Mar 13 17:19:13 1998", bibsource = "http://www.acm.org/pubs/contents/proceedings/series/sigmod_pods/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "A few papers from this conference were republished in 1995 in the Journal of Computer and Systems Sciences.", series = "Journal of Computer and Systems Sciences", acknowledgement = ack-nhfb, annote = "36 papers; See also 6836.1508 1990 9th for papers", keywords = "PODS '90", source = "Principles of database systems", sponsor = "Association for Computing Machinery. Special Interest Group for Automata and Computability Theory Association for Computing Machinery. Special Interest Group for the Management of Data Association for Computing Machinery. Special Interest Group for Artificial Intelligence.", } @Proceedings{ACM:1990:PTS, editor = "{ACM}", booktitle = "{Proceedings of the twenty-second annual ACM Symposium on Theory of Computing, Baltimore, Maryland, May 14--16, 1990}", title = "{Proceedings of the twenty-second annual ACM Symposium on Theory of Computing, Baltimore, Maryland, May 14--16, 1990}", publisher = pub-ACM, address = pub-ACM:adr, pages = "viii + 574", year = "1990", ISBN = "0-89791-361-2", ISBN-13 = "978-0-89791-361-4", LCCN = "QA76.A15 1990", bibdate = "Thu Dec 3 07:11:18 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/stoc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "ACM order no. 508900.", acknowledgement = ack-nhfb, keywords = "computational complexity --- congresses", } @Book{Feijen:1990:BOB, editor = "W. H. J. Feijen and A. J. M. van Gasteren and D. Gries and J. Misra", booktitle = "Beauty is our business: a birthday salute to {Edsger W. Dijkstra}", title = "Beauty is our business: a birthday salute to {Edsger W. Dijkstra}", publisher = pub-SV, address = pub-SV:adr, pages = "xix + 453", year = "1990", DOI = "https://doi.org/10.1007/978-1-4612-4476-9", ISBN = "0-387-97299-4, 1-4612-8792-8 (print), 1-4612-4476-5 (online)", ISBN-13 = "978-0-387-97299-2, 978-1-4612-8792-6 (print), 978-1-4612-4476-9 (online)", ISSN = "0172-603X", ISSN-L = "0172-603X", LCCN = "QA76 .B326 1990", bibdate = "Thu Mar 24 09:27:40 1994", bibsource = "https://www.math.utah.edu/pub/tex/bib/fparith.bib; https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/texbook3.bib", acknowledgement = ack-nhfb, tableofcontents = "Anonymous / Front Matter / i--xix \\ Krzysztof R. Apt, Frank S. de Boer, Ernst-R{\"u}diger Olderog / Proving Termination of Parallel Programs / 1--6 / doi:10.1007/978-1-4612-4476-9_1 \\ Roland C. Backhouse / On a Relation on Functions / 7--18 / doi:10.1007/978-1-4612-4476-9_2 \\ F. L. Bauer / Efficient Solution of a Non--Monotonic Inverse Problem / 19--26 / doi:10.1007/978-1-4612-4476-9_3 \\ A. Bijlsma / Semantics of Quasi--Boolean Expressions / 27--35 / doi:10.1007/978-1-4612-4476-9_4 \\ Richard S. Bird / Small Specification Exercises / 36--43 / doi:10.1007/978-1-4612-4476-9_5 \\ Maarten Boasson / Architecture of Real--Time Systems / 44--53 / doi:10.1007/978-1-4612-4476-9_6 \\ Robert S. Boyer, Milton W. Green, J Strother Moore / The Use of a Formal Simulator to Verify a Simple Real Time Control Program / 54--66 / doi:10.1007/978-1-4612-4476-9_7 \\ Donald W. Braben / Exploring the Future: Trends and Discontinuities / 67--75 / doi:10.1007/978-1-4612-4476-9_8 \\ Coen Bron / On a Renewed Visit to the Banker and a Remarkable Analogy / 76--82 / doi:10.1007/978-1-4612-4476-9_9 \\ Manfred Broy / On Bounded Buffers: Modularity, Robustness, and Reliability in Reactive Systems / 83--93 / doi:10.1007/978-1-4612-4476-9_10 \\ K. Mani Chandy, Stephen Taylor / Examples in Program Composition / 94--101 / doi:10.1007/978-1-4612-4476-9_11 \\ Albert J. Dijkstra / On the Mechanism of the Hydrogenation of Edible Oils / 102--111 / doi:10.1007/978-1-4612-4476-9_12 \\ W. H. J. Feijen, A. J. M. van Gasteren, D. Gries, J. Misra / The Problem of the Majority Network / 112--118 / doi:10.1007/978-1-4612-4476-9_13 \\ W. H. J. Feijen / A Little Exercise in Deriving Multiprograms / 119--126 / doi:10.1007/978-1-4612-4476-9_14 \\ A. J. M. van Gasteren / Experimenting with a Refinement Calculus / 127--134 / doi:10.1007/978-1-4612-4476-9_15 \\ Mohamed G. Gouda / Serializable Programs, Parallelizable Assertions: A Basis for Interleaving / 135--140 / doi:10.1007/978-1-4612-4476-9_16 \\ David Gries / Binary to Decimal, One More Time / 141--148 / doi:10.1007/978-1-4612-4476-9_17 \\ A. N. Habermann / Rotate and Double / 149--162 / doi:10.1007/978-1-4612-4476-9_18 \\ Eric C. R. Hehner / Beautifying G{\"o}del / 163--172 / doi:10.1007/978-1-4612-4476-9_19 \\ G. Helmberg / A Striptease of Entropy / 173--175 / doi:10.1007/978-1-4612-4476-9_20 \\ Ted Herman / On a Theorem of Jacobson / 176--181 / doi:10.1007/978-1-4612-4476-9_21 \\ Wim H. Hesselink / Modalities of Nondeterminacy / 182--192 / doi:10.1007/978-1-4612-4476-9_22 \\ C. A. R. Hoare / A Theory for the Derivation of C-mos Circuit Designs / 193--205 / doi:10.1007/978-1-4612-4476-9_23 \\ Rob Hoogerwoord / On Mathematical Induction and the Invariance Theorem / 206--211 / doi:10.1007/978-1-4612-4476-9_24 \\ J. J. Horning / Formalizing Some Classic Synchronization Primitives / 212--219 / doi:10.1007/978-1-4612-4476-9_25 \\ Cliff B. Jones / Consequences / 220--225 / doi:10.1007/978-1-4612-4476-9_26 \\ Anne Kaldewaij / Shortest and Longest Segments / 226--232 / doi:10.1007/978-1-4612-4476-9_27 \\ Donald E. Knuth / A Simple Program Whose Proof Isn't / 233--242 / doi:10.1007/978-1-4612-4476-9_28 \\ Vadim E. Kotov / Binding Structure and Behaviour in ``Whole Net'' Concurrency Semantics / 243--250 / doi:10.1007/978-1-4612-4476-9_29 \\ F. E. J. Kruseman Aretz / Maximal Strong Components: An Exercise in Program Presentation / 251--261 / doi:10.1007/978-1-4612-4476-9_30 \\ Christian Lengauer, Duncan G. Hudson / A Systolic Program for Gauss--Jordan Elimination / 262--273 / doi:10.1007/978-1-4612-4476-9_31 \\ J. H. van Lint / Coding for Channels with Localized Errors / 274--279 / doi:10.1007/978-1-4612-4476-9_32 \\ Johan J. Lukkien, Jan L. A. van de Snepscheut / Topology-Independent Algorithms Based on Spanning Trees / 280--288 / doi:10.1007/978-1-4612-4476-9_33 \\ Zohar Manna, Amir Pnueli / An Exercise in the Verification of Multi--Process Programs / 289--301 / doi:10.1007/978-1-4612-4476-9_34 \\ Alain J. Martin / The Limitations to Delay--Insensitivity in Asynchronous Circuits / 302--311 / doi:10.1007/978-1-4612-4476-9_35 \\ Jayadev Misra / A Simple Proof of a Simple Consensus Algorithm / 312--318 / doi:10.1007/978-1-4612-4476-9_36 \\ Carroll Morgan / Of wp and {CSP} / 319--326 / doi:10.1007/978-1-4612-4476-9_37 \\ Joseph M. Morris / Programming by Expression Refinement: the {KMP} Algorithm / 327--338 / doi:10.1007/978-1-4612-4476-9_38 \\ Greg Nelson / Methodical Competitive Snoopy--Caching / 339--345 / doi:10.1007/978-1-4612-4476-9_39 \\ Peter G. Neumann / Beauty and the Beast of Software Complexity Elegance versus Elephants / 346--351 / doi:10.1007/978-1-4612-4476-9_40 \\ W. Peremans / A Note on Feasibility / 352--355 / doi:10.1007/978-1-4612-4476-9_41 \\ Karel A. Post / A Curious Property of Points and Circles in the Plane / 356--357 / doi:10.1007/978-1-4612-4476-9_42 \\ Paul Pritchard / A Problem Involving Subsequences / 358--364 / doi:10.1007/978-1-4612-4476-9_43 \\ Martin Rem / A Personal Perspective of the Alpern--Schneider Characterization of Safety and Liveness / 365--372 / doi:10.1007/978-1-4612-4476-9_44 \\ Fred B. Schneider / Simpler Proofs for Concurrent Reading and Writing / 373--379 / doi:10.1007/978-1-4612-4476-9_45 \\ Carel S. Scholten / Goodbye Junctivity? / 380--385 / doi:10.1007/978-1-4612-4476-9_46 \\ Henk C. A. van Tilborg / An Assignment Problem for the Vertices of a Cycle / 386--389 / doi:10.1007/978-1-4612-4476-9_47 \\ D. A. Turner / Duality and De Morgan Principles for Lists / 390--398 / doi:10.1007/978-1-4612-4476-9_48 \\ W. M. Turski / The Quest for Timeless Specifications Leads to Non--Stepping Automata / 399--409 / doi:10.1007/978-1-4612-4476-9_49 \\ Jan Tijmen Udding / The Maximum Length of a Palindrome in a Sequence / 410--416 / doi:10.1007/978-1-4612-4476-9_50 \\ Lincoln A. Wallen / On Form, Formalism and Equivalence / 417--426 / doi:10.1007/978-1-4612-4476-9_51 \\ N. Wirth / Drawing Lines, Circles, and Ellipses in a Raster / 427--434 / doi:10.1007/978-1-4612-4476-9_52 \\ Jaap van der Woude / Calculations with Relations, an Example / 435--441 / doi:10.1007/978-1-4612-4476-9_53 \\ Heinz Zemanek / Two Proofs for Pythagoras / 442--447 / doi:10.1007/978-1-4612-4476-9_54 \\ Anonymous / Back Matter / 448--453", } @Proceedings{IEEE:1990:PAS, editor = "{IEEE}", booktitle = "{Proceedings: 31st Annual Symposium on Foundations of Computer Science: October 22--24, 1990, St. Louis, Missouri}", title = "{Proceedings: 31st Annual Symposium on Foundations of Computer Science: October 22--24, 1990, St. Louis, Missouri}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "??", year = "1990", CODEN = "ASFPDV", ISBN = "0-8186-2082-X (paperback), 0-8186-6082-1 (microfiche)", ISBN-13 = "978-0-8186-2082-9 (paperback), 978-0-8186-6082-5 (microfiche)", ISSN = "0272-5428", LCCN = "TK7885.A1 S92 1990", bibdate = "Thu Dec 3 07:11:18 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Formerly called the Annual Symposium on Switching and Automata Theory. IEEE catalog number 90CH29256. Computer Society order no. 2082.", acknowledgement = ack-nhfb, keywords = "computational complexity --- congresses; electronic data processing --- congresses; machine theory --- congresses", } @Proceedings{Noor:1990:SCT, editor = "Ahmed K. Noor and Isaac Elishakoff and Greg Hulbert", booktitle = "{Symbolic computations and their impact on mechanics: presented at the Winter Annual Meeting of the American Society of Mechanical Engineers, Dallas, Texas, November 25--30, 1990}", title = "{Symbolic computations and their impact on mechanics: presented at the Winter Annual Meeting of the American Society of Mechanical Engineers, Dallas, Texas, November 25--30, 1990}", volume = "205", publisher = pub-ASME, address = pub-ASME:adr, pages = "xv + 376", year = "1990", CODEN = "AMPPD5", ISBN = "0-7918-0598-0", ISBN-13 = "978-0-7918-0598-5", ISSN = "0277-027X", LCCN = "TA350 .S88 1990", bibdate = "Tue Apr 09 09:08:44 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/mathematica.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = "PVP", acknowledgement = ack-nhfb, } @Proceedings{Watanabe:1990:IPI, editor = "Shunro Watanabe and Morio Nagata", booktitle = "{ISSAC '90: proceedings of the International Symposium on Symbolic and Algebraic Computation: August 20--24, 1990, Tokyo, Japan}", title = "{ISSAC '90: proceedings of the International Symposium on Symbolic and Algebraic Computation: August 20--24, 1990, Tokyo, Japan}", publisher = pub-ACM # " and " # pub-AW, address = pub-ACM:adr # " and " # pub-AW:adr, pages = "ix + 307", year = "1990", ISBN = "0-89791-401-5 (ACM), 0-201-54892-5 (Addison-Wesley)", ISBN-13 = "978-0-89791-401-7 (ACM), 978-0-201-54892-1 (Addison-Wesley)", LCCN = "QA76.95 .I57 1990", bibdate = "Thu Sep 26 06:00:06 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/issac.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", abstract = "The following topics were dealt with: foundations of symbolic computation; computational logics; systems; algorithms on polynomials; integration and differential equations; and algorithms on geometry.", acknowledgement = ack-nhfb, classification = "C4210 (Formal logic); C4240 (Programming and algorithm theory)", confdate = "20--24 Aug. 1990", conflocation = "Tokyo, Japan", confsponsor = "Inf. Processing Soc. Japan; Japan Soc. Software Sci. Technol.; ACM", keywords = "algebra --- data processing --- congresses; Algorithms; Computational geometry; Computational logics; Differential equations; Geometry; Integration; mathematics --- data processing --- congresses; Polynomials; Symbolic computation; Systems", pubcountry = "USA", thesaurus = "Algorithm theory; Computational geometry; Formal logic; Symbol manipulation", } @Proceedings{ACM:1991:PTT, editor = "{ACM}", booktitle = "{Proceedings of the twenty third annual ACM Symposium on Theory of Computing, New Orleans, Louisiana, May 6--8, 1991}", title = "{Proceedings of the twenty third annual ACM Symposium on Theory of Computing, New Orleans, Louisiana, May 6--8, 1991}", publisher = pub-ACM, address = pub-ACM:adr, pages = "vii + 573", year = "1991", ISBN = "0-89791-397-3", ISBN-13 = "978-0-89791-397-3", LCCN = "QA 76.6 A13 1991", bibdate = "Thu Dec 3 07:11:18 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "ACM order no. 508910.", acknowledgement = ack-nhfb, keywords = "computational complexity --- congresses", } @Book{Broy:1991:MPS, author = "Manfred Broy and Martin Wirsing", booktitle = "Methods of programming. {Selected} papers on the {CIP-Project}", title = "Methods of programming. {Selected} papers on the {CIP-Project}", volume = "544", publisher = pub-SV, address = pub-SV:adr, pages = "xii + 268", year = "1991", CODEN = "LNCSD9", ISBN = "3-540-54576-X (Berlin), 0-387-54576-X (USA)", ISBN-13 = "978-3-540-54576-7 (Berlin), 978-0-387-54576-9 (USA)", ISSN = "0302-9743 (print), 1611-3349 (electronic)", LCCN = "QA76.6 .M4543 1991, QA267.A1 L43 no.544", bibdate = "Wed Aug 31 00:52:14 MDT 1994", bibsource = "https://www.math.utah.edu/pub/tex/bib/litprog.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://link.springer-ny.com/link/service/series/0558/tocs/t0544.htm; http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=544", abstract = "The following topics were dealt with: meta-models for system development including OOP; transformational programming; software reusability; formal specification; deductive program development; reverse Polish notation; literate programming; quantifier elimination; and algebraic and functional programming.", acknowledgement = ack-nhfb, classification = "C4210 (Formal logic); C4240 (Programming and algorithm theory); C6110B (Software engineering techniques)", keywords = "Deductive program development; electronic digital computers; Formal specification; Functional programming; Literate programming; literate programming; Meta-models; OOP; programming; Quantifier elimination; Reverse Polish notation; Software reusability; System development; Transformational programming", tableofcontents = "Two metamodels for application system development: conventional vs. object-oriented approach / W. Hesse \\ Transformational meta program development / B. Krieg-Br{\"u}ckner \\ Another case study on reusability of transformational developments pattern matching according to Knuth, Morris, and Pratt / H. A. Partsch, N. V{\"o}lker \\ A formal method for the systematic reuse of specification components / R. Hennicker, M. Wirsing \\ Deductive program development: evaluation in reverse Polish notation as an example / M. Broy \\ Literate program derivation: a case study / P. Pepper \\ Programs viewed as SKOLEM functions / R. Steinbr{\"u}ggen \\ Calculating a garbage collector / U. Berger, W. Meixner, B. M{\"o}ller \\ On the use of elements of functional programming in program development by transformations / R. Berghammer, H. Ehler \\ Transformational development of circuit descriptions for binary adders / C. Delgado Kloos, W. Dosch", thesaurus = "Formal logic; Formal specification; Programming; Programming theory; Software reusability", } @Proceedings{ACM:1992:CRN, editor = "{ACM}", key = "ACM SIGPLAN POPL '92", booktitle = "{Conference record of the Nineteenth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages: papers presented at the symposium, Albuquerque, New Mexico, January 19--22, 1992}", title = "{Conference record of the Nineteenth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages: papers presented at the symposium, Albuquerque, New Mexico, January 19--22, 1992}", publisher = pub-ACM, address = pub-ACM:adr, pages = "viii + 366", year = "1992", ISBN = "0-89791-453-8", ISBN-13 = "978-0-89791-453-6", LCCN = "QA76.7 .A15 1992", bibdate = "Mon May 03 18:38:52 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "ACM order number 54990.", URL = "http://www.acm.org/pubs/contents/proceedings/plan/143165/index.html", acknowledgement = ack-nhfb, keywords = "electronic digital computers --- programming --- congresses; programming languages (electronic computers) --- congresses", } @Proceedings{ACM:1992:PAC, editor = "{ACM}", booktitle = "{Proceedings of the 1992 ACM Conference on LISP and Functional Programming: papers presented at the conference, San Francisco, California, June 22--24, 1992}", title = "{Proceedings of the 1992 ACM Conference on LISP and Functional Programming: papers presented at the conference, San Francisco, California, June 22--24, 1992}", publisher = pub-ACM, address = pub-ACM:adr, pages = "viii + 357", year = "1992", ISBN = "0-89791-481-3, 0-89791-483-X", ISBN-13 = "978-0-89791-481-9, 978-0-89791-483-3", LCCN = "QA76.73.L23A26 1992", bibdate = "Tue Nov 10 07:55:44 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/common-lisp.bib; https://www.math.utah.edu/pub/tex/bib/python.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib", note = "Also published as {{\em LISP Pointers}}, vol. {\bf V}, no. 1, January-March, 1992. ACM order no. 552920.", acknowledgement = ack-nhfb, classification = "721.1; 723.1; 723.1.1", confdate = "22--24 June 1992", conflocation = "San Francisco, CA, USA", confsponsor = "ACM", conftitle = "Proceedings of SIGPLAN Conference on Lisp and Functional Programming", corpsource = "Carnegie Mellon Univ., Pittsburgh, PA, USA", keywords = "Common Lisp; Data abstraction; Digital storage; Dynamic program parallelization; Fixed point iteration; Formal logic; Functional programming; Garbage collection; Lambda tagging; Lazy pattern matching; Linear logic; Lisp (programming language); lisp (programming language); Parallel processing systems; Program compilers; Programming theory", pubcountry = "USA", sponsororg = "ACM", treatment = "P Practical", } @Proceedings{ACM:1992:PPE, editor = "{ACM}", booktitle = "{PODS '92. Proceedings of the Eleventh ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, June 2--4, 1992, San Diego, CA}", title = "{PODS '92. Proceedings of the Eleventh ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, June 2--4, 1992, San Diego, CA}", publisher = pub-ACM, address = pub-ACM:adr, pages = "viii + 392", year = "1992", ISBN = "0-89791-519-4 (paperback), 0-89791-520-8 (casebound)", ISBN-13 = "978-0-89791-519-9 (paperback), 978-0-89791-520-5 (casebound)", LCCN = "QA 76.9 D3 A26 1992", bibdate = "Thu Oct 26 06:42:00 2000", bibsource = "http://www.acm.org/pubs/contents/proceedings/series/sigmod_pods/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "ACM order number 475920.", acknowledgement = ack-nhfb, keywords = "PODS '92", } @Proceedings{ACM:1992:PTF, editor = "{ACM}", booktitle = "{Proceedings of the twenty-fourth annual ACM Symposium on Theory of Computing, Victoria, British Columbia, Canada, May 4--6, 1992}", title = "{Proceedings of the twenty-fourth annual ACM Symposium on Theory of Computing, Victoria, British Columbia, Canada, May 4--6, 1992}", publisher = pub-ACM, address = pub-ACM:adr, pages = "ix + 784", year = "1992", ISBN = "0-89791-511-9", ISBN-13 = "978-0-89791-511-3", LCCN = "QA76.A15 1992", bibdate = "Thu Dec 3 07:11:18 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "ACM order no. 508920.", acknowledgement = ack-nhfb, keywords = "computational complexity --- congresses", } @Proceedings{Apostolico:1992:CPM, editor = "Alberto Apostolico", booktitle = "{Combinatorial pattern matching: third annual symposium, Tucson, Arizona, USA, April 29--May 1, 1992: proceedings}", title = "{Combinatorial pattern matching: third annual symposium, Tucson, Arizona, USA, April 29--May 1, 1992: proceedings}", volume = "644", publisher = pub-SV, address = pub-SV:adr, pages = "x + 287", year = "1992", CODEN = "LNCSD9", DOI = "????", ISBN = "3-540-56024-6 (Berlin), 0-387-56024-6 (New York)", ISBN-13 = "978-3-540-56024-1 (Berlin), 978-0-387-56024-3 (New York)", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "QA76.9.A43 C65 1992", bibdate = "Fri Apr 12 07:14:57 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, URL = "http://link.springer-ny.com/link/service/series/0558/tocs/t0644.htm; http://www.springerlink.com/content/978-3-540-56024-1; http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=644", acknowledgement = ack-nhfb, keywords = "combinatorial analysis --- congresses; computer algorithms --- congresses", } @Proceedings{Finkel:1992:SAS, editor = "A. Finkel and M. Jantzen", booktitle = "{STACS 92. 9th Annual Symposium on Theoretical Aspects of Computer Science. Proceedings}", title = "{STACS 92. 9th Annual Symposium on Theoretical Aspects of Computer Science. Proceedings}", publisher = pub-SV, address = pub-SV:adr, pages = "xiv + 620", year = "1992", ISBN = "3-540-55210-3", ISBN-13 = "978-3-540-55210-9", LCCN = "QA75.5.S958 1992", bibdate = "Wed Sep 11 05:43:28 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/sgml.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, confdate = "13--15 Feb. 1992", conflocation = "Cachan, France", pubcountry = "Germany", } @Proceedings{IEEE:1992:ASF, editor = "{IEEE}", booktitle = "{33rd Annual Symposium on Foundations of Computer Science: October 24--27, 1992, Pittsburgh, Pennsylvania: proceedings [papers]}", title = "{33rd Annual Symposium on Foundations of Computer Science: October 24--27, 1992, Pittsburgh, Pennsylvania: proceedings [papers]}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "xi + 734", year = "1992", CODEN = "ASFPDV", ISBN = "0-8186-2901-0 (microfiche), 0-8186-2900-2 (paperback)", ISBN-13 = "978-0-8186-2901-3 (microfiche), 978-0-8186-2900-6 (paperback)", ISSN = "0272-5428", LCCN = "QA 76 S979 1992", bibdate = "Thu Dec 3 07:11:18 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "IEEE Catalog Number 92CH3188-0. IEEE Computer Society Press Order Number 2900.", acknowledgement = ack-nhfb, keywords = "electronic data processing --- congresses", } @Proceedings{Kapur:1992:ADC, editor = "D. Kapur", booktitle = "Automated deduction, {CADE-11: 11th} International Conference on Automated Deduction, Saratoga Springs, {NY}, {USA}, June 15--18, 1992: proceedings", title = "Automated deduction, {CADE}-11: 11th International Conference on Automated Deduction, Saratoga Springs, {NY}, {USA}, June 15--18, 1992: proceedings", volume = "607", publisher = pub-SV, address = pub-SV:adr, pages = "xv + 793", year = "1992", ISBN = "3-540-55602-8", ISBN-13 = "978-3-540-55602-2", LCCN = "QA76.9.A96I57 1992", bibdate = "Wed Oct 30 05:59:54 MST 1996", bibsource = "https://www.math.utah.edu/pub/bibnet/authors/h/hoare-c-a-r.bib; https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, acknowledgement = ack-nhfb, confdate = "15--18 June 1992", conflocation = "Saratoga Springs, NY, USA", pubcountry = "Germany", } @Proceedings{Kim:1992:DSN, editor = "Won Kim and Y. Kambayashi and In Sup Paik", booktitle = "{Database systems for next-generation applications: principles and practice}", title = "{Database systems for next-generation applications: principles and practice}", volume = "1", publisher = pub-WORLD-SCI, address = pub-WORLD-SCI:adr, pages = "ix + 312", year = "1992", ISBN = "981-02-1315-8", ISBN-13 = "978-981-02-1315-2", LCCN = "QA76.9.D3 D3589 1992", bibdate = "Sat Dec 7 16:52:15 MST 1996", bibsource = "http://www.acm.org/pubs/contents/proceedings/series/sigmod_pods/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = "Advanced Database Research and Development Series", acknowledgement = ack-nhfb, annote = "Also known as DASFAA '89", keywords = "", source = "Database systems for next-generation applications: principles and practice", } @Proceedings{Stonebraker:1992:PAS, editor = "Michael Stonebraker", booktitle = "{Proceedings of the 1992 ACM SIGMOD International Conference on Management of Data, San Diego, California, June 2--5, 1992}", title = "{Proceedings of the 1992 ACM SIGMOD International Conference on Management of Data, San Diego, California, June 2--5, 1992}", volume = "21(2)", publisher = pub-ACM, address = pub-ACM:adr, pages = "xiv + 416", year = "1992", ISBN = "0-89791-521-6", ISBN-13 = "978-0-89791-521-2", ISSN = "0163-5808 (print), 1943-5835 (electronic)", LCCN = "????", bibdate = "Wed Oct 25 08:47:40 MDT 2000", bibsource = "http://www.acm.org/pubs/contents/proceedings/series/sigmod_pods/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = j-SIGMOD, acknowledgement = ack-nhfb, keywords = "SIGMOD '92", } @Proceedings{USENIX:1992:PWU, editor = "{USENIX}", booktitle = "{Proceedings of the Winter 1992 USENIX Conference: January 20 --- January 24, 1992, San Francisco, California}", title = "{Proceedings of the Winter 1992 USENIX Conference: January 20 --- January 24, 1992, San Francisco, California}", publisher = pub-USENIX, address = pub-USENIX:adr, pages = "viii + 451", year = "1992", bibdate = "Sun Feb 18 07:46:09 MST 1996", bibsource = "ftp://ftp.uu.net/library/bibliography; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/usenix1990.bib", acknowledgement = ack-nhfb, keywords = "Computer networks --- Congresses; Operating systems (Computers) --- Congresses; Programming (Electronic computers) --- Congresses; UNIX (Computer file) --- Congresses", } @Proceedings{ACM:1993:CRT, editor = "{ACM}", key = "ACM SIGPLAN POPL '93", booktitle = "{Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages: papers presented at the symposium, Charleston, South Carolina, January 10--13, 1993}", title = "{Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages: papers presented at the symposium, Charleston, South Carolina, January 10--13, 1993}", publisher = pub-ACM, address = pub-ACM:adr, pages = "viii + 510", year = "1993", ISBN = "0-89791-560-7 (soft cover), 0-89791-561-5 (series hard cover)", ISBN-13 = "978-0-89791-560-1 (soft cover), 978-0-89791-561-8 (series hard cover)", LCCN = "QA76.7 .A15 1993", bibdate = "Mon May 03 18:38:48 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "ACM order number 549930.", URL = "http://www.acm.org/pubs/contents/proceedings/plan/158511/index.html", acknowledgement = ack-nhfb, classification = "C4210 (Formal logic); C4240 (Programming and algorithm theory); C6110 (Systems analysis and programming); C6140D (High level languages); C6150C (Compilers, interpreters and other processors); C6170 (Expert systems)", confdate = "10-13 Jan. 1993", conflocation = "Charleston, SC, USA", confsponsor = "ACM", keywords = "Compilers; Computational complexity; electronic digital computers --- programming --- congresses; Functional programming; Lambda calculus; Lazy evaluation; Logic programming; Object-oriented languages; Parallel computing; Parametricity; Polymorphism; Program testing/debugging; Programming language principles; programming languages (electronic computers) --- congresses; Register allocation; Typed languages", thesaurus = "Computational complexity; High level languages; Lambda calculus; Program compilers; Programming; Programming theory; Storage allocation", } @Proceedings{ACM:1993:PTF, editor = "{ACM}", booktitle = "{Proceedings of the twenty-fifth annual ACM Symposium on the Theory of Computing, San Diego, California, May 16--18, 1993}", title = "{Proceedings of the twenty-fifth annual ACM Symposium on the Theory of Computing, San Diego, California, May 16--18, 1993}", publisher = pub-ACM, address = pub-ACM:adr, pages = "ix + 812", year = "1993", ISBN = "0-89791-591-7", ISBN-13 = "978-0-89791-591-5", LCCN = "QA 76.6 A13 1993", bibdate = "Thu Dec 3 07:11:18 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "ACM order no. 508930.", acknowledgement = ack-nhfb, keywords = "computational complexity --- congresses", } @Proceedings{Agrawal:1993:VLD, editor = "Rakesh Agrawal and Sean Baker and David Bell", booktitle = "{Very large data bases, VLDB '93: proceedings of the 19th International Conference on Very Large Data Bases, August 24--27, 1993, Dublin, Ireland}", title = "{Very large data bases, VLDB '93: proceedings of the 19th International Conference on Very Large Data Bases, August 24--27, 1993, Dublin, Ireland}", publisher = pub-MORGAN-KAUFMANN, address = pub-MORGAN-KAUFMANN:adr, pages = "xx + 712", year = "1993", ISBN = "1-55860-152-X", ISBN-13 = "978-1-55860-152-9", LCCN = "QA76.9.D3 I61 1993", bibdate = "Sat Dec 7 13:05:35 MST 1996", bibsource = "DBLP; http://dblp.uni-trier.de; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldb.bib", note = "Co-sponsored by VLDB Endowment and Irish Computer Society; in co-operation with the IEEE Technical Committee on Data Engineering.", acknowledgement = ack-nhfb, keywords = "data base management -- congresses", } @Proceedings{Andre:1993:ICR, editor = "Jacques Andr{\'e} and Jakob Gonczarowski and Richard Southall", booktitle = "{Editorial: Special issue: Proceedings of the Raster Imaging and Digital Typography Conference}", title = "{Editorial: Special issue: Proceedings of the Raster Imaging and Digital Typography Conference}", volume = "6(3)", publisher = pub-WILEY, address = pub-WILEY:adr, pages = "115--116", month = sep, year = "1993", CODEN = "EPODEU", ISBN = "0-471-94823-3", ISBN-13 = "978-0-471-94823-0", ISSN = "0894-3982", LCCN = "????", bibdate = "Tue Feb 27 09:47:10 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/epodd.bib; https://www.math.utah.edu/pub/tex/bib/font.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = j-EPODD, abstract = "This issue of {\em Electronic Publishing\/} contains the papers presented during the third Raster Imaging and Digital Typography conference, held at Darmstadt, Germany, from 11 to 13 April 1994. Earlier conferences in the series took place in 1989 at Lausanne, Switzerland (organized by Roger D. Hersch, EPFL) and in 1991 at Boston, Massachussets (organized by Robert A. Morris, University of Massachussets at Boston). The corresponding proceedings are published by Cambridge University Press (see below). Digital typography is a relatively new field: the first commercial cathode-ray-tube photo\-composing machine appeared in 1966. Since that time, the field has been growing very fast, and is still active. During the RIDT'89 conference, emphasis was laid on the rasterisation of outline characters and on rendering techniques. RIDT'91 concentrated more on digital halftoning and on greyscale characters. However, both of these conferences bore in mind that beyond the mathematics of shapes and their rendering, printing types exist with their own aesthetic rules. That is why the presentations were made by a mix of technologists, scientists and designers. The RIDT'94 programme committee tried to attract a similar mix of papers when this conference was launched. As expected, the fields have moved on since the last conference, but we hope that the selected papers adequately exhibit the present state of the art in raster imaging and digital typography. In the recent past, formal research in digital typography has dealt with graphical algorithms, such as the rendering of outline characters and the generation of outline characters from bit-mapped drawings, to name but two. Present research focuses on models and methods for concise but precise font description and modelling. That trend began in industry with font interpolation programs and font systems such as Adobe Systems' Multiple Master technology. This research definitively belongs to computer science, with keywords such as {\em object orientation}, {\em regular expressions}, {\em string matching\/} and {\em shape parameterization}. A look at related fields, such as computer-aided design, shows that there still remains plenty of mathematical research to be done in digital typography. Mathematics is already used in CAD to express aesthetic criteria, both at the local (individual curves/surfaces) and the global level, for ensuring overall appearance and design consistency. \ldots{}.", acknowledgement = ack-nhfb, } @Proceedings{Andre:1993:PTI, editor = "Jacques Andr{\'e} and Jakob Gonczarowski and Richard Southall", booktitle = "{Proceedings of the third International Conference on Raster Imaging and Digital Typography, 11--13 April 1994, Darmstadt, Germany}", title = "{Proceedings of the third International Conference on Raster Imaging and Digital Typography, 11--13 April 1994, Darmstadt, Germany}", volume = "6(3)", publisher = pub-WILEY, address = pub-WILEY:adr, pages = "iv + 166--308", year = "1993", ISBN = "0-471-94823-3", ISBN-13 = "978-0-471-94823-0", ISSN = "0894-3982", LCCN = "Z250.7", bibdate = "Mon Apr 27 08:08:18 MDT 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = j-EPODD, acknowledgement = ack-nhfb, source = "RIDT '94", xxnote = "Although the conference was held in 1994, the (delayed) journal was still dated 1993.", } @Proceedings{Apostolico:1993:CPM, editor = "Alberto Apostolico", booktitle = "{Combinatorial pattern matching: 4th annual symposium, CPM 93, Padova, Italy, June 1993: proceedings}", title = "{Combinatorial pattern matching: 4th annual symposium, CPM 93, Padova, Italy, June 1993: proceedings}", volume = "684", publisher = pub-SV, address = pub-SV:adr, pages = "viii + 265", year = "1993", CODEN = "LNCSD9", DOI = "????", ISBN = "3-540-56764-X (Berlin), 0-387-56764-X (New York)", ISBN-13 = "978-3-540-56764-6 (Berlin), 978-0-387-56764-8 (New York)", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "QA76.9.A43 C653 1993", bibdate = "Fri Apr 12 07:14:57 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", price = "DM58.00", series = ser-LNCS, URL = "http://link.springer-ny.com/link/service/series/0558/tocs/t0684.htm; http://www.springerlink.com/content/978-3-540-56764-6; http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=684", acknowledgement = ack-nhfb, keywords = "combinatorial analysis --- congresses; computer algorithms --- congresses", } @Proceedings{Baozong:1993:PTI, editor = "Yuan Baozong", booktitle = "{Proceedings / TENCON '93, 1993 IEEE Region 10 Conference on Computer, Communication, Control, and Power Engineering, October 19--21, 1993, Beijing, Beijing International Convention Center, Beijing Continental Grand Hotel}", title = "{Proceedings / TENCON '93, 1993 IEEE Region 10 Conference on Computer, Communication, Control, and Power Engineering, October 19--21, 1993, Beijing, Beijing International Convention Center, Beijing Continental Grand Hotel}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "xxvi + 1206 (vol. 1), xvii + 676 (vol. 2), xv + 580 (vol. 3), xvii + 619 (vol. 4)", year = "1993", ISBN = "0-7803-1233-3", ISBN-13 = "978-0-7803-1233-3", LCCN = "QA75.5.I155 1993", bibdate = "Wed Oct 30 05:56:55 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "IEEE Catalog No. 93CH3286-2.", acknowledgement = ack-nhfb, confdate = "19--21 Oct. 1993", conflocation = "Beijing, China", pubcountry = "USA", } @Proceedings{Bronstein:1993:IPI, editor = "Manuel Bronstein", booktitle = "{ISSAC'93: proceedings of the 1993 International Symposium on Symbolic and Algebraic Computation, July 6--8, 1993, Kiev, Ukraine}", title = "{ISSAC'93: proceedings of the 1993 International Symposium on Symbolic and Algebraic Computation, July 6--8, 1993, Kiev, Ukraine}", publisher = pub-ACM, address = pub-ACM:adr, pages = "viii + 321", year = "1993", ISBN = "0-89791-604-2", ISBN-13 = "978-0-89791-604-2", LCCN = "QA 76.95 I59 1993", bibdate = "Thu Sep 26 05:45:15 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/issac.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "ACM order number: 505930.", abstract = "The following topics were dealt with: algebraic solutions of equations; computer algebra systems; algorithm theory and complexity; automated theorem proving; polynomials; and matrix algebra.", acknowledgement = ack-nhfb, classification = "C4210 (Formal logic); C4240 (Programming and algorithm theory); C7310 (Mathematics computing)", confdate = "6--8 July 1993", conflocation = "Kiev, Ukraine", confsponsor = "ACM", keywords = "algebra --- data processing --- congresses; Algorithm theory; Automated theorem proving; Complexity; Computer algebra; mathematics --- data processing --- congresses; Matrix algebra; Polynomials", pubcountry = "USA", source = "ISSAC '93", sponsor = "Association for Computing Machinery.", thesaurus = "Computational complexity; Mathematics computing; Matrix algebra; Polynomials; Symbol manipulation; Theorem proving", } @Proceedings{Deaton:1993:ACS, editor = "E. Deaton and K. M. George and H. Bergel and G. Hedrick", booktitle = "{Applied Computing: States of the Art and Practice --- 1993 Proceedings of the 1993 ACM\slash SIGAPP Symposium on Applied Computing --- February 1993, Indianapolis, IN, USA}", title = "{Applied Computing: States of the Art and Practice --- 1993 Proceedings of the 1993 ACM\slash SIGAPP Symposium on Applied Computing --- February 1993, Indianapolis, IN, USA}", publisher = pub-ACM, address = pub-ACM:adr, pages = "xi + 804", year = "1993", ISBN = "0-89791-567-4", ISBN-13 = "978-0-89791-567-0", LCCN = "QA76.76.A65 S95 1993", bibdate = "Tue Feb 24 15:50:01 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/sgml.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = "Applied Computing --- Symposium 1993", acknowledgement = ack-nhfb, confdate = "14--16 Feb. 1993", conflocation = "Indianapolis, IN, USA", confsponsor = "ACM", } @Proceedings{IEEE:1993:ASF, editor = "{IEEE}", booktitle = "{34th Annual Symposium on Foundations of Computer Science: November 3--5, 1993, Palo Alto, California: proceedings [papers]}", title = "{34th Annual Symposium on Foundations of Computer Science: November 3--5, 1993, Palo Alto, California: proceedings [papers]}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "xiii + 745", year = "1993", CODEN = "ASFPDV", ISBN = "0-8186-4370-6 (paperback), 0-8186-4371-4 (microfiche)", ISBN-13 = "978-0-8186-4370-5 (paperback), 978-0-8186-4371-2 (microfiche)", ISSN = "0272-5428", LCCN = "TK7885.A1 S92 1993", bibdate = "Thu Dec 3 07:11:18 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/focs1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "IEEE Catalog Number 93CH3368-8. IEEE Computer Society Press Order Number 4372-02.", acknowledgement = ack-nhfb, keywords = "electronic data processing --- congresses; machine theory --- congresses", } @Proceedings{Lengauer:1993:AEF, editor = "T. Lengauer", booktitle = "{Algorithms --- ESA'93. First Annual European Symposium Proceedings: September 1993, Bad Honnef, Germany}", title = "{Algorithms --- ESA'93. First Annual European Symposium Proceedings: September 1993, Bad Honnef, Germany}", volume = "726", publisher = pub-SV, address = pub-SV:adr, pages = "ix + 418", year = "1993", ISBN = "3-540-57273-2, 0-387-57273-2", ISBN-13 = "978-3-540-57273-2, 978-0-387-57273-4", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "QA76.9.A43E83 1993", bibdate = "Tue Sep 10 19:13:47 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/sgml.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, acknowledgement = ack-nhfb, confdate = "30 Sept.--2 Oct. 1993", conflocation = "Bad Honnef, Germany", pubcountry = "Germany", } @Proceedings{Storer:1993:DDC, editor = "James A. (James Andrew) Storer and Martin Cohn", key = "DCC'93", booktitle = "{DCC '93: Data Compression Conference: [March 30--April 2, 1993, Snowbird, Utah: proceedings]}", title = "{DCC '93: Data Compression Conference: [March 30--April 2, 1993, Snowbird, Utah: proceedings]}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "xiii + 505", year = "1993", DOI = "https://doi.org/10.1109/DCC.1993.253151", ISBN = "0-8186-3391-3 (microfiche), 0-8186-3392-1 (casebound)", ISBN-13 = "978-0-8186-3391-1 (microfiche), 978-0-8186-3392-8 (casebound)", ISSN = "1068-0314", LCCN = "QA76.9.D33 D37 1993", bibdate = "Sat Jan 26 15:55:24 MST 2013", bibsource = "catalog.princeton.edu:7090/voyager; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/super.bib", note = "IEEE Computer Society Press order number 3392-02. IEEE catalog number 93TH0536-3.", URL = "http://ieeexplore.ieee.org/servlet/opac?punumber=452", acknowledgement = ack-nhfb, meetingname = "Data Compression Conference (3rd: 1993: Snowbird, Utah)", remark = "Cover title: Data Compression Conference, proceedings.", series-URL = "http://ieeexplore.ieee.org/xpl/conhome.jsp?punumber=1000177", sponsor = "IEEE; Computer Society Technical Committee on Computer Communications.", subject = "Data compression (Computer science); Congresses", } @Proceedings{ACM:1994:CRP, editor = "{ACM}", booktitle = "{Conference record of POPL '94, 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages: papers presented at the Symposium: Portland, Oregon, January 17--21, 1994}", title = "{Conference record of POPL '94, 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages: papers presented at the Symposium: Portland, Oregon, January 17--21, 1994}", publisher = pub-ACM, address = pub-ACM:adr, pages = "viii + 492", year = "1994", ISBN = "0-89791-636-0", ISBN-13 = "978-0-89791-636-3", LCCN = "QA76.7 .A15 1994", bibdate = "Sat Sep 7 07:51:54 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.acm.org/pubs/contents/proceedings/plan/174675/index.html", abstract = "The following topics were dealt with: programming language principles; OOP; type theory; program correctness; lambda calculus; garbage collection; logic programming; scheduling; data flow graphs; functional programming; and continuation passing.", acknowledgement = ack-nhfb, classification = "C4210 (Formal logic); C4240 (Programming and algorithm theory); C6110J (Object-oriented programming); C6120 (File organisation); C6140D (High level languages); C6150C (Compilers, interpreters and other processors)", confdate = "17--21 Jan. 1994", conflocation = "Portland, OR, USA", confsponsor = "ACM", keywords = "Continuation passing; Data flow graphs; Functional programming; Garbage collection; Lambda calculus; Logic programming; OOP; Program correctness; Programming language principles; Scheduling; Type theory", thesaurus = "High level languages; Lambda calculus; Object-oriented programming; Program compilers; Program verification; Storage management; Type theory", } @Proceedings{ACM:1994:IPI, editor = "{ACM}", booktitle = "{ISSAC'94. Proceedings of the International Symposium on Symbolic and Algebraic Computation}", title = "{ISSAC'94. Proceedings of the International Symposium on Symbolic and Algebraic Computation}", publisher = pub-ACM, address = pub-ACM:adr, pages = "ix + 359", year = "1994", ISBN = "0-89791-638-7", ISBN-13 = "978-0-89791-638-7", LCCN = "QA76.95.I59 1994", bibdate = "Tue Sep 17 06:29:18 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/axiom.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, confdate = "20--22 July 1994", conflocation = "Oxford, UK", confsponsor = "ACM", pubcountry = "USA", } @Proceedings{ACM:1994:PPT, editor = "{ACM}", booktitle = "{PODS '94. Proceedings of the Thirteenth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, May 24--26, 1994, Minneapolis, MN}", title = "{PODS '94. Proceedings of the Thirteenth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, May 24--26, 1994, Minneapolis, MN}", volume = "13", publisher = pub-ACM, address = pub-ACM:adr, pages = "ix + 313", year = "1994", ISBN = "0-89791-642-5", ISBN-13 = "978-0-89791-642-4", LCCN = "QA 76.9 D3 A26 1994", bibdate = "Sat Dec 7 16:52:15 MST 1996", bibsource = "http://www.acm.org/pubs/contents/proceedings/series/sigmod_pods/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, keywords = "PODS '94", source = "Principles of database systems", sponsor = "Association for Computing Machinery. Special Interest Group for Automata and Computability Theory Association for Computing Machinery. Special Interest Group for the Management of data Association for Computing Machinery. Special Interest Group for Artificial Intelligence.", } @Proceedings{ACM:1994:PTS, editor = "{ACM}", booktitle = "{Proceedings of the twenty-sixth annual ACM Symposium on the Theory of Computing: Montreal, Quebec, Canada, May 23--25, 1994}", title = "{Proceedings of the twenty-sixth annual ACM Symposium on the Theory of Computing: Montreal, Quebec, Canada, May 23--25, 1994}", publisher = pub-ACM, address = pub-ACM:adr, pages = "ix + 822", year = "1994", ISBN = "0-89791-663-8", ISBN-13 = "978-0-89791-663-9", LCCN = "QA76 .A15 1994", bibdate = "Thu Dec 3 07:11:18 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/stoc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "ACM order no. 508930.", acknowledgement = ack-nhfb, keywords = "computational complexity --- congresses", } @Proceedings{Aoe:1994:CAS, editor = "Jun-ichi Aoe", booktitle = "{Computer Algorithms: String Pattern Matching strategies}", title = "{Computer Algorithms: String Pattern Matching Strategies}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "ix + 281", year = "1994", ISBN = "0-8186-5461-9 (microfiche), 0-8186-5462-7 (hardcover), 0-8186-5460-0 (paperback)", ISBN-13 = "978-0-8186-5461-9 (microfiche), 978-0-8186-5462-6 (hardcover), 978-0-8186-5460-2 (paperback)", LCCN = "QA76.9.A43 C67 1994", bibdate = "Sat Mar 23 12:07:55 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "IEEE Computer Society Press order number: 5462-05. IEEE catalog number: 94EH0389-7", price = "US\$56.00", acknowledgement = ack-nhfb, } @Proceedings{Banerjee:1994:LCP, editor = "Uptal Banerjee and D. Gelernter and A. Nicolau and D. Padua", booktitle = "{Languages and compilers for parallel computing: 6th international workshop, Portland, Oregon, USA, August 12--14, 1993: proceedings}", title = "{Languages and compilers for parallel computing: 6th international workshop, Portland, Oregon, USA, August 12--14, 1993: proceedings}", volume = "768", publisher = pub-SV, address = pub-SV:adr, pages = "xi + 655", year = "1994", ISBN = "3-540-57659-2 (Berlin), 0-387-57659-2 (New York)", ISBN-13 = "978-3-540-57659-4 (Berlin), 978-0-387-57659-6 (New York)", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "QA76.58 .W656 1993", bibdate = "Sun Dec 22 10:18:08 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/fortran3.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", price = "DM122.00", series = ser-LNCS, acknowledgement = ack-nhfb, classification = "C4240P (Parallel programming and algorithm theory); C5440 (Multiprocessor systems and techniques); C6110P (Parallel programming); C6120 (File organisation); C6140D (High level languages); C6150C (Compilers, interpreters and other processors)", keywords = "Compilers; compilers (computer programs) --- congresses; Data flow languages; Dynamic data structures; Fine-grain parallelism; High performance Fortran; Logic; Loop transformations; Parallel computing languages; parallel processing (electronic computers) --- congresses; Parallel program analysis; programming languages (electronic computers) --- congresses; Scalar analysis", pubcountry = "Germany", thesaurus = "Data structures; FORTRAN; Parallel algorithms; Parallel languages; Parallel machines; Parallel programming; Program compilers", xxvolume = "4004464807", } @Proceedings{Botsford:1994:PCI, editor = "J. Botsford and A. Gawman and M. Gentleman and E. Kidd and K. Lyons and J. Slonim", booktitle = "{Proceedings. CASCON '94. Integrated Solutions}", title = "{Proceedings. CASCON '94. Integrated Solutions}", publisher = "National Research Council of Canada", address = "Ottawa, ON, Canada", pages = "xxiv + 386", year = "1994", bibdate = "Wed Oct 30 06:22:08 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, confdate = "31 Oct.--3 Nov. 1994", conflocation = "Toronto, Ont., Canada", confsponsor = "IBM; Nat. Res. Council of Canada; Ind. Canada; Nat. Sci. and Eng. Res. Council", numericalindex = "Memory size 4.2E+07 Byte", pubcountry = "Canada", } @Proceedings{Bundy:1994:ADC, editor = "Alan Bundy", booktitle = "{Automated deduction, CADE-12: 12th International Conference on Automated Deduction, Nancy, France, June 26--July 1, 1994: proceedings}", title = "{Automated deduction, CADE-12: 12th International Conference on Automated Deduction, Nancy, France, June 26--July 1, 1994: proceedings}", number = "814", publisher = pub-SV, address = pub-SV:adr, pages = "xvi + 848", year = "1994", ISBN = "3-540-58156-1, 0-387-58156-1", ISBN-13 = "978-3-540-58156-7, 978-0-387-58156-9", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "QA76.9.D337I58 1994", bibdate = "Tue Oct 29 19:42:28 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = "Lecture Notes in Computer Science 1994", acknowledgement = ack-nhfb, searchkey = "ti:gawk or gnu", } @Proceedings{Crochemore:1994:CPM, editor = "Maxime Crochemore and Dan Gusfield", booktitle = "{Combinatorial pattern matching: 5th annual symposium, CPM 94, Asilomar, CA, USA, June 5--8, 1994: proceedings}", title = "{Combinatorial pattern matching: 5th annual symposium, CPM 94, Asilomar, CA, USA, June 5--8, 1994: proceedings}", volume = "807", publisher = pub-SV, address = pub-SV:adr, pages = "325", year = "1994", CODEN = "LNCSD9", DOI = "????", ISBN = "0-387-58094-8 (USA)", ISBN-13 = "978-0-387-58094-4 (USA)", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "QA76.9.A43 C65 1994", bibdate = "Fri Apr 12 07:15:01 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, URL = "http://link.springer-ny.com/link/service/series/0558/tocs/t0807.htm; http://www.springerlink.com/content/978-0-387-58094-4; http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=807", acknowledgement = ack-nhfb, keywords = "combinatorial analysis --- congresses; computer algorithms --- congresses", } @Proceedings{IEEE:1994:FAP, editor = "{IEEE}", booktitle = "{First Asia-Pacific Software Engineering Conference: proceedings, December 7--9, 1994, Tokyo, Japan}", title = "{First Asia-Pacific Software Engineering Conference: proceedings, December 7--9, 1994, Tokyo, Japan}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "xii + 459", year = "1994", ISBN = "0-8186-6960-8 (paper), 0-8186-6961-6 (microfiche)", ISBN-13 = "978-0-8186-6960-6 (paper), 978-0-8186-6961-3 (microfiche)", LCCN = "QA76.758.A77 1994", bibdate = "Wed Oct 30 06:24:40 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, confdate = "7--9 Dec. 1994", conflocation = "Tokyo, Japan", confsponsor = "Special Interest Group on Software Eng. Inf. Process. Soc. Japan", pubcountry = "USA", } @Proceedings{IEEE:1994:PTC, editor = "{IEEE}", booktitle = "{Proceedings / the Tenth Conference on Artificial Intelligence for Applications, March 1--4, 1994, San Antonio, Texas}", title = "{Proceedings / the Tenth Conference on Artificial Intelligence for Applications, March 1--4, 1994, San Antonio, Texas}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "xvii + 511", year = "1994", ISBN = "0-8186-5550-X", ISBN-13 = "978-0-8186-5550-0", LCCN = "Q 334 C66 1994", bibdate = "Wed Oct 30 05:56:55 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "IEEE Catalog No. 94CH3421-5.", acknowledgement = ack-nhfb, confdate = "1--4 March 1994", conflocation = "San Antonia, TX, USA", confsponsor = "IEEE; AAAI", pubcountry = "USA", } @Proceedings{Muller:1994:ICS, editor = "Hausi A. Muller and Mari Georges", booktitle = "{International Conference on Software Maintenance: proceedings, September 19--23, 1994, Victoria, British Columbia, Canada}", title = "{International Conference on Software Maintenance: proceedings, September 19--23, 1994, Victoria, British Columbia, Canada}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "xvi + 449", year = "1994", ISBN = "0-8186-6330-8", ISBN-13 = "978-0-8186-6330-7", LCCN = "QA76.76.S64I58 1994", bibdate = "Wed Oct 30 05:56:55 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, confdate = "19--23 Sept. 1994", conflocation = "Victoria, BC, Canada", confsponsor = "IEEE Comput. Soc. Tech. Council on Software Eng.; ACM; Software Maintenance Assoc.; Software Manage. News", pubcountry = "USA", } @Proceedings{Snodgrass:1994:PAS, editor = "Richard T. Snodgrass and Marianne Winslett", booktitle = "{Proceedings of the 1994 ACM SIGMOD International Conference on Management of Data / SIGMOD '94, Minneapolis, Minnesota, May 24--27, 1994}", title = "{Proceedings of the 1994 ACM SIGMOD International Conference on Management of Data / SIGMOD '94, Minneapolis, Minnesota, May 24--27, 1994}", volume = "23(2)", publisher = pub-ACM, address = pub-ACM:adr, pages = "xv + 526", year = "1994", ISBN = "0-89791-639-5", ISBN-13 = "978-0-89791-639-4", ISSN = "0163-5808 (print), 1943-5835 (electronic)", LCCN = "QA 76.9 D3 S53 v.23 no.2 1994", bibdate = "Wed Oct 25 08:47:37 MDT 2000", bibsource = "http://www.acm.org/pubs/contents/proceedings/series/sigmod_pods/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = j-SIGMOD, acknowledgement = ack-nhfb, keywords = "SIGMOD '94", } @Proceedings{ACM:1995:CRP, editor = "{ACM}", booktitle = "{Conference record of POPL '95, 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages: papers presented at the Symposium: San Francisco, California, January 22--25, 1995}", title = "{Conference record of POPL '95, 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages: papers presented at the Symposium: San Francisco, California, January 22--25, 1995}", publisher = pub-ACM, address = pub-ACM:adr, pages = "vii + 408", year = "1995", ISBN = "0-89791-692-1", ISBN-13 = "978-0-89791-692-9", LCCN = "QA 76.7 A11 1995", bibdate = "Mon May 3 17:47:49 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "ACM order number: 549950.", URL = "http://www.acm.org/pubs/contents/proceedings/plan/199448/index.html", acknowledgement = ack-nhfb, alttitle = "Proceedings, 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages POPL '95", annote = "Sponsored by the Association for Computing Machinery, Special Interest Group on Algorithms and Computation Theory (SIGACT), Special Interest Group on Programming Languages (SIGPLAN).", keywords = "Programming languages (Electronic computers) --- Congresses.", } @Proceedings{ACM:1995:PPF, editor = "{ACM}", booktitle = "{PODS '95. Proceedings of the Fourteenth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, PODS 1995, San Jose, California, May 22--25, 1995}", title = "{PODS '95. Proceedings of the Fourteenth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, PODS 1995, San Jose, California, May 22--25, 1995}", volume = "14", publisher = pub-ACM, address = pub-ACM:adr, pages = "viii + 292", year = "1995", ISBN = "0-89791-730-8", ISBN-13 = "978-0-89791-730-8", LCCN = "QA 76.9 D3 A26 1995", bibdate = "Sat Dec 7 16:52:15 MST 1996", bibsource = "http://www.acm.org/pubs/contents/proceedings/series/sigmod_pods/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, annote = "Held in conjunction with the 1995 ACM SIGMOD international conference on management of data; Also known as PODS 1995", keywords = "PODS '95", source = "Principles of database systems", sponsor = "Association for Computing Machinery. Special Interest Group for Algorithms and Computation Theory Association for Computing Machinery. Special Interest Group for the Management of Data Association for Computing Machinery. Special Interest Group for Artificial Intelligence.", } @Proceedings{ACM:1995:PTS, editor = "ACM", booktitle = "{Proceedings of the twenty-seventh annual ACM Symposium on Theory of Computing: Las Vegas, Nevada, May 29--June 1, 1995}", title = "{Proceedings of the twenty-seventh annual ACM Symposium on Theory of Computing: Las Vegas, Nevada, May 29--June 1, 1995}", publisher = pub-ACM, address = pub-ACM:adr, pages = "viii + 763", year = "1995", ISBN = "0-89791-718-9", ISBN-13 = "978-0-89791-718-6", LCCN = "QA 76.6 A13 1995", bibdate = "Thu Dec 3 07:11:18 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/stoc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "ACM order no. 508950.", acknowledgement = ack-nhfb, keywords = "computational complexity --- congresses", } @Proceedings{Galil:1995:CPM, editor = "Zvi Galil and E. Ukkonen", booktitle = "{Combinatorial pattern matching: 6th annual symposium, CPM 95, Espoo, Finland, July 5--7, 1995: proceedings}", title = "{Combinatorial pattern matching: 6th annual symposium, CPM 95, Espoo, Finland, July 5--7, 1995: proceedings}", volume = "937", publisher = pub-SV, address = pub-SV:adr, pages = "viii + 407", year = "1995", CODEN = "LNCSD9", DOI = "????", ISBN = "3-540-60044-2", ISBN-13 = "978-3-540-60044-2", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "QA76.9.A43 C65 1995", bibdate = "Fri Apr 12 07:15:03 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, URL = "http://link.springer-ny.com/link/service/series/0558/tocs/t0937.htm; http://www.springerlink.com/content/978-3-540-60044-2; http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=937", acknowledgement = ack-nhfb, keywords = "combinatorial analysis --- congresses; computer algorithms --- congresses", } @Proceedings{IEEE:1995:ASF, editor = "{IEEE}", booktitle = "{36th Annual Symposium on Foundations of Computer Science: October 23--25, 1995, Milwaukee, Wisconsin}", title = "{36th Annual Symposium on Foundations of Computer Science: October 23--25, 1995, Milwaukee, Wisconsin}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "xiii + 735", year = "1995", CODEN = "ASFPDV", ISBN = "0-7803-3121-4 (casebound), 0-8186-7183-1 (softbound), 0-8186-7184-X (microfiche)", ISBN-13 = "978-0-7803-3121-1 (casebound), 978-0-8186-7183-8 (softbound), 978-0-8186-7184-5 (microfiche)", ISSN = "0272-5428", LCCN = "TK7885.A1 S92 1995", bibdate = "Thu Dec 3 07:11:18 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "IEEE catalog number 95CB35834.", acknowledgement = ack-nhfb, keywords = "electronic data processing --- congresses; machine theory --- congresses", } @Proceedings{IEEE:1995:PNA, editor = "{IEEE}", booktitle = "{Proceedings: the nineteenth annual International Computer Software and Applications Conference (COMPSAC '95): August 9--11, 1995, Dallas, Texas}", title = "{Proceedings: the nineteenth annual International Computer Software and Applications Conference (COMPSAC '95): August 9--11, 1995, Dallas, Texas}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "xviii + 431", year = "1995", ISBN = "0-8186-7119-X", ISBN-13 = "978-0-8186-7119-7", LCCN = "QA76.6 .I5 1995", bibdate = "Wed Oct 30 06:22:08 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "IEEE Catalog No. 95CB35838.", acknowledgement = ack-nhfb, confdate = "9--11 Aug. 1995", conflocation = "Dallas, TX, USA", confsponsor = "IEEE Comput. Soc", pubcountry = "USA", } @Proceedings{Levelt:1995:IPI, editor = "A. H. M. Levelt", booktitle = "{ISSAC '95: Proceedings of the 1995 International Symposium on Symbolic and Algebraic Computation: July 10--12, 1995, Montr{\'e}al, Canada}", title = "{ISSAC '95: Proceedings of the 1995 International Symposium on Symbolic and Algebraic Computation: July 10--12, 1995, Montr{\'e}al, Canada}", publisher = pub-ACM, address = pub-ACM:adr, pages = "xviii + 314", year = "1995", ISBN = "0-89791-699-9", ISBN-13 = "978-0-89791-699-8", LCCN = "QA 76.95 I59 1995", bibdate = "Thu Sep 26 05:34:21 MDT 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/issac.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "ACM order number: 505950", series = "ISSAC -PROCEEDINGS- 1995", abstract = "The following topics were dealt with: differential equations; visualisation; algebraic numbers; algorithms; systems; polynomial and differential algebra; seminumerical methods; greatest common divisors; and.", acknowledgement = ack-nhfb, classification = "C4100 (Numerical analysis); C4170 (Differential equations); C7310 (Mathematics computing)", confdate = "10--12 July 1995", conflocation = "Montr{\'e}al, Que., Canada", confsponsor = "ACM", keywords = "algebra --- data processing --- congresses; Algebraic numbers; Algorithms; Differential algebra; Differential equations; Greatest common divisors; mathematics --- data processing --- congresses; Polynomial; Seminumerical methods; Systems; Visualisation", pubcountry = "USA", source = "ISSAC '95", thesaurus = "Data visualisation; Differential equations; Group theory; Numerical analysis; Symbol manipulation", } @Proceedings{Storer:1995:DDC, editor = "James A. (James Andrew) Storer and Martin Cohn", key = "DCC'95", booktitle = "{DCC '95, Data Compression Conference: March 28--30, 1995, Snowbird, Utah}", title = "{DCC '95, Data Compression Conference: March 28--30, 1995, Snowbird, Utah}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "xv + 503", year = "1995", DOI = "https://doi.org/10.1109/DCC.1995.515489", ISBN = "0-8186-7012-6", ISBN-13 = "978-0-8186-7012-1", ISSN = "1068-0314", LCCN = "????", bibdate = "Tue Feb 5 05:42:24 MST 2013", bibsource = "catalog.princeton.edu:7090/voyager; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "IEEE catalog number 95TH8037. IEEE Computer Society Press order number PR07010.", URL = "http://ieeexplore.ieee.org/servlet/opac?punumber=3874", acknowledgement = ack-nhfb, meetingname = "Data Compression Conference (5th: 1995: Snowbird, Utah)", series-URL = "http://ieeexplore.ieee.org/xpl/conhome.jsp?punumber=1000177", subject = "Data compression (Computer science); Congresses", } @Proceedings{Hirschberg:1996:CPM, editor = "Dan Hirschberg and Gene Myers", booktitle = "{Combinatorial pattern matching: 7th Annual Symposium, CPM 96, Laguna Beach, California, June 10--12, 1996: proceedings}", title = "{Combinatorial pattern matching: 7th Annual Symposium, CPM 96, Laguna Beach, California, June 10--12, 1996: proceedings}", volume = "1075", publisher = pub-SV, address = pub-SV:adr, pages = "viii + 391", year = "1996", CODEN = "LNCSD9", DOI = "????", ISBN = "3-540-61258-0", ISBN-13 = "978-3-540-61258-2", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "QA76.9.A43 C65 1996", bibdate = "Sat Dec 21 16:06:37 MST 1996", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, URL = "http://link.springer-ny.com/link/service/series/0558/tocs/t1075.htm; http://www.springerlink.com/content/978-3-540-61258-2; http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=1075", acknowledgement = ack-nhfb, keywords = "Combinatorial analysis --- Congresses; Computer algorithms --- Congresses", } @Proceedings{Storer:1996:DDC, editor = "James A. (James Andrew) Storer and Martin Cohn", key = "DCC'96", booktitle = "{DCC '96: Data Compression Conference, March 31--April 3, 1996, Snowbird, Utah}", title = "{DCC '96: Data Compression Conference, March 31--April 3, 1996, Snowbird, Utah}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "xiv + 474", year = "1996", ISBN = "0-8186-7358-3 (case), 0-8186-7359-1 (microfiche)", ISBN-13 = "978-0-8186-7358-0 (case), 978-0-8186-7359-7 (microfiche)", ISSN = "1068-0314", LCCN = "QA76.9.D33 D37 1996", bibdate = "Tue Feb 5 05:42:26 MST 2013", bibsource = "catalog.princeton.edu:7090/voyager; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "IEEE Order Plan catalog number 96TB100013. IEEE Computer Society Press order number PR07358", URL = "http://ieeexplore.ieee.org/servlet/opac?punumber=3509", acknowledgement = ack-nhfb, meetingname = "Data Compression Conference (6th: 1996: Snowbird, Utah)", series-URL = "http://ieeexplore.ieee.org/xpl/conhome.jsp?punumber=1000177", subject = "Data compression (Computer science); Congresses", } @Book{Zhang:1996:AMI, editor = "H. (Hantao) Zhang", booktitle = "Automated Mathematical Induction", title = "Automated Mathematical Induction", publisher = pub-SV, address = pub-SV:adr, pages = "224", year = "1996", DOI = "https://doi.org/10.1007/978-94-009-1675-3", ISBN = "94-010-7250-7 (print), 94-009-1675-2 (e-book)", ISBN-13 = "978-94-010-7250-2 (print), 978-94-009-1675-3 (e-book)", LCCN = "Q334-342", bibdate = "Tue Mar 14 12:17:31 MDT 2017", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/agm.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://public.eblib.com/choice/publicfullrecord.aspx?p=3102529", abstract = "Two decades ago, Boyer and Moore built one of the first automated theorem provers that was capable of proofs by mathematical induction. Today, the Boyer--Moore theorem prover remains the most successful in the field. For a long time, the research on automated mathematical induction was confined to very few people. In recent years, as more people realize the importance of automated inductive reasoning to the use of formal methods of software and hardware development, more automated inductive proof systems have been built.\par Three years ago, the interested researchers in the field formed two consortia on automated inductive reasoning --- the MInd consortium in Europe and the IndUS consortium in the United States. The two consortia organized three joint workshops in 1992--1995. There will be another one in 1996. Following the suggestions of Alan Bundy and Deepak Kapur, this book documents advances in the understanding of the field and in the power of the theorem provers that can be built.\par In the first of six papers, the reader is provided with a tutorial study of the Boyer--Moore theorem prover. The other five papers present novel ideas that could be used to build theorem provers more powerful than the Boyer-Moore prover.", acknowledgement = ack-nhfb, subject = "Computer science; Logic; Artificial intelligence; Logic, Symbolic and mathematical; Artificial intelligence; Computer science; Logic; Logic, Symbolic and mathematical", tableofcontents = "Induction Using Term Orders \\ New Uses of Linear Arithmetic in Automated Theorem Proving by Induction \\ Productive Use of Failure in Inductive Proof \\ Middle-Out Reasoning for Synthesis and Induction \\ A Calculus for and Termination of Rippling \\ Interaction with the Boyer Moore Theorem Prover: A Tutorial Study Using the Arithmetic--Geometric Mean Theorem", } @Proceedings{ACM:1997:PEA, editor = "{ACM}", booktitle = "{Proceedings of the Eighth Annual ACM--SIAM Symposium on Discrete Algorithms, New Orleans, Louisiana, January 5--7, 1997}", title = "{Proceedings of the Eighth Annual ACM-SIAM Symposium on Discrete Algorithms, New Orleans, Louisiana, January 5--7, 1997}", publisher = pub-ACM, address = pub-ACM:adr, pages = "788", year = "1997", CODEN = "PAAAF2", ISBN = "0-89871-390-0", ISBN-13 = "978-0-89871-390-9", LCCN = "????", bibdate = "Thu Sep 11 18:03:49 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Proceedings{ACM:1997:PPS, editor = "{ACM}", booktitle = "{PODS '97. Proceedings of the Sixteenth ACM SIG-SIGMOD-SIGART Symposium on Principles of Database Systems, May 12--14, 1997, Tucson, Arizona}", title = "{PODS '97. Proceedings of the Sixteenth ACM SIG-SIGMOD-SIGART Symposium on Principles of Database Systems, May 12--14, 1997, Tucson, Arizona}", publisher = pub-ACM, address = pub-ACM:adr, pages = "viii + 268", year = "1997", ISBN = "0-89791-910-6", ISBN-13 = "978-0-89791-910-4", LCCN = "QA 76.9 D3 A26 1997", bibdate = "Wed Oct 25 05:41:24 2000", bibsource = "http://www.acm.org/pubs/contents/proceedings/series/sigmod_pods/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, keywords = "PODS '97", } @Proceedings{ACM:1997:PTN, editor = "{ACM}", booktitle = "{Proceedings of the twenty-ninth annual ACM Symposium on the Theory of Computing: El Paso, Texas, May 4--6, 1997}", title = "{Proceedings of the twenty-ninth annual ACM Symposium on the Theory of Computing: El Paso, Texas, May 4--6, 1997}", publisher = pub-ACM, address = pub-ACM:adr, pages = "ix + 751", year = "1997", ISBN = "0-89791-888-6", ISBN-13 = "978-0-89791-888-6", LCCN = "QA76.5 .A849 1997", bibdate = "Thu Dec 3 07:11:18 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/stoc1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "ACM order no. 508970.", acknowledgement = ack-nhfb, keywords = "computational complexity --- congresses", } @Proceedings{Apostolico:1997:CPM, editor = "Alberto Apostolico and Jotun Hein", booktitle = "{Combinatorial pattern matching: 8th Annual Symposium, CPM 97, Aarhus, Denmark, June 30--July 2, 1997: proceedings}", title = "{Combinatorial pattern matching: 8th Annual Symposium, CPM 97, Aarhus, Denmark, June 30--July 2, 1997: proceedings}", volume = "1264", publisher = pub-SV, address = pub-SV:adr, pages = "viii + 274", year = "1997", CODEN = "LNCSD9", DOI = "????", ISBN = "3-540-63220-4", ISBN-13 = "978-3-540-63220-7", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "QA76.9.A43 S88 1997", bibdate = "Mon Aug 25 09:50:07 MDT 1997", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, URL = "http://link.springer-ny.com/link/service/series/0558/tocs/t1264.htm; http://www.springerlink.com/content/978-3-540-63220-7; http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=1264", acknowledgement = ack-nhfb, keywords = "combinatorial analysis --- congresses; computer algorithms --- congresses", } @Proceedings{IEEE:1997:ASF, editor = "{IEEE}", booktitle = "{38th Annual Symposium on Foundations of Computer Science: October 20--22, 1997, Miami Beach, Florida}", title = "{38th Annual Symposium on Foundations of Computer Science: October 20--22, 1997, Miami Beach, Florida}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "xiii + 606", year = "1997", CODEN = "ASFPDV", ISBN = "0-8186-8197-7, 0-8186-8198-5 (casebound), 0-8186-8199-3 (microfiche)", ISBN-13 = "978-0-8186-8197-4, 978-0-8186-8198-1 (casebound), 978-0-8186-8199-8 (microfiche)", ISSN = "0272-5428", LCCN = "TK7885.A1 .S92 1997", bibdate = "Thu Dec 3 07:11:18 MST 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/focs1990.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "IEEE catalog number 97CB36150. IEEE Computer Society Press order number PR08197.", acknowledgement = ack-nhfb, keywords = "electronic data processing --- congresses; machine theory --- congresses", } @Proceedings{ACM:1998:PPA, editor = "{ACM}", booktitle = "{PODS '98. Proceedings of the ACM SIGACT--SIGMOD--SIGART Symposium on Principles of Database Systems, June 1--3, 1998, Seattle, Washington}", title = "{PODS '98. Proceedings of the ACM SIGACT--SIGMOD--SIGART Symposium on Principles of Database Systems, June 1--3, 1998, Seattle, Washington}", publisher = pub-ACM, address = pub-ACM:adr, pages = "ix + 286", year = "1998", ISBN = "0-89791-996-3", ISBN-13 = "978-0-89791-996-8", LCCN = "QA76.9.D3 A296 1998", bibdate = "Wed Oct 25 05:37:57 2000", bibsource = "http://www.acm.org/pubs/contents/proceedings/series/sigmod_pods/; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "ACM order number 475980.", acknowledgement = ack-nhfb, keywords = "PODS '98", source = "Principles of database systems", sponsor = "ACM; Special Interest Group for Algorithms and Computation Theory. ACM; Special Interest Group for the Management of Data. ACM; Special Interest Group for Artificial Intelligence.", } @Proceedings{Farach-Colton:1998:CPM, editor = "Martin Farach-Colton", booktitle = "{Combinatorial pattern matching: 9th Annual Symposium, CPM 98, Piscataway, New Jersey, USA, July 20--22, 1998: Proceedings}", title = "{Combinatorial pattern matching: 9th Annual Symposium, CPM 98, Piscataway, New Jersey, USA, July 20--22, 1998: Proceedings}", volume = "1448", publisher = pub-SV, address = pub-SV:adr, pages = "viii + 250", year = "1998", CODEN = "LNCSD9", DOI = "????", ISBN = "3-540-64739-2 (paperback)", ISBN-13 = "978-3-540-64739-3 (paperback)", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "QA76.9.A43 C65 1998", bibdate = "Sun Oct 11 16:16:40 MDT 1998", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, URL = "http://link.springer-ny.com/link/service/series/0558/tocs/t1448.htm; http://www.springerlink.com/content/978-3-540-64739-3; http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=1448", acknowledgement = ack-nhfb, keywords = "Combinatorial analysis --- Congresses; Computer algorithms --- Congresses", } @Proceedings{IEEE:1998:ASF, editor = "{IEEE}", booktitle = "{39th Annual Symposium on Foundations of Computer Science: proceedings: November 8--11, 1998, Palo Alto, California}", title = "{39th Annual Symposium on Foundations of Computer Science: proceedings: November 8--11, 1998, Palo Alto, California}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "xiv + 745", year = "1998", CODEN = "ASFPDV", ISBN = "0-8186-9172-7 (softbound), 0-7803-5229-7 (casebound), 0-8186-9174-3 (microfiche)", ISBN-13 = "978-0-8186-9172-0 (softbound), 978-0-7803-5229-2 (casebound), 978-0-8186-9174-4 (microfiche)", ISSN = "0272-5428", LCCN = "QA267 .S95 1998 Sci-Eng", bibdate = "Sat Oct 28 16:10:32 MDT 2000", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "IEEE Catalog Number 98CB36280. IEEE Computer Society Press Order Number PR9172.", acknowledgement = ack-nhfb, keywords = "electronic data processing -- congresses; machine theory -- congresses", } @Proceedings{Storer:1998:PDD, editor = "James A. (James Andrew) Storer and Martin Cohn", key = "DCC'98", booktitle = "{Proceedings: DCC '98: Data Compression Conference: March 30--April 1, 1998, Snowbird, Utah}", title = "{Proceedings: DCC '98: Data Compression Conference: March 30--April 1, 1998, Snowbird, Utah}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "xvi + 589", year = "1998", DOI = "https://doi.org/10.1109/DCC.1998.672118", ISBN = "0-8186-8406-2 (case), 0-8186-8408-9 (microfiche)", ISBN-13 = "978-0-8186-8406-7 (case), 978-0-8186-8408-1 (microfiche)", ISSN = "1068-0314", LCCN = "QA76.9.D33 D232 1998", bibdate = "Tue Feb 5 05:28:57 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; z3950.bibsys.no:2100/BIBSYS", note = "IEEE Computer Society Press order number PR08406. IEEE order plan catalog number 98TB100225.", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=672118", acknowledgement = ack-nhfb, meetingname = "Data Compression Conference. 1998. Snowbird, Utah", series-URL = "http://ieeexplore.ieee.org/xpl/conhome.jsp?punumber=1000177", } @Proceedings{ACM:1999:PEA, editor = "{ACM}", booktitle = "{Proceedings of the Eighteenth ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems: PODS 1999: Philadelphia, Pennsylvania, May 31--June 2, 1999}", title = "{Proceedings of the Eighteenth ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems: PODS 1999: Philadelphia, Pennsylvania, May 31--June 2, 1999}", publisher = pub-ACM, address = pub-ACM:adr, pages = "ix + 369", year = "1999", ISBN = "1-58113-062-7", ISBN-13 = "978-1-58113-062-1", LCCN = "QA76.9.D3 A296 1999", bibdate = "Wed Oct 25 05:30:41 MDT 2000", bibsource = "https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; OCLC Proceedings database", note = "ACM order number 475990.", acknowledgement = ack-nhfb, keywords = "PODS '99", } @Proceedings{ACM:1999:PTF, editor = "{ACM}", booktitle = "{Proceedings of the thirty-first annual ACM Symposium on Theory of Computing: Atlanta, Georgia, May 1--4, 1999}", title = "{Proceedings of the thirty-first annual ACM Symposium on Theory of Computing: Atlanta, Georgia, May 1--4, 1999}", publisher = pub-ACM, address = pub-ACM:adr, pages = "xi + 790", year = "1999", ISBN = "1-58113-067-8", ISBN-13 = "978-1-58113-067-6", LCCN = "QA75.5 .A14 1999", bibdate = "Sat Oct 28 16:10:32 MDT 2000", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "ACM order number 508990.", acknowledgement = ack-nhfb, keywords = "computational complexity -- congresses; computer programming -- congresses; electronic data processing -- congresses; electronic digital computers -- congresses", } @Proceedings{Atkinson:1999:PTF, editor = "Malcolm P. Atkinson and Maria E. Orlowska and Patrick Valduriez and Stanley B. Zdonik and Michael L. Brodie", booktitle = "{Proceedings of the Twenty-fifth International Conference on Very Large Databases, Edinburgh, Scotland, UK, 7--10 September, 1999}", title = "{Proceedings of the Twenty-fifth International Conference on Very Large Databases, Edinburgh, Scotland, UK, 7--10 September, 1999}", publisher = pub-MORGAN-KAUFMANN, address = pub-MORGAN-KAUFMANN:adr, pages = "xviii + 761", year = "1999", ISBN = "1-55860-615-7", ISBN-13 = "978-1-55860-615-9", LCCN = "QA76.9.D3 I559 1999", bibdate = "Tue Oct 24 18:36:50 MDT 2000", bibsource = "DBLP; http://dblp.uni-trier.de; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldb.bib; OCLC Proceedings database", note = "Also known as VLDB'99", acknowledgement = ack-nhfb, keywords = "very large data bases; VLDB", } @Book{Kernighan:1999:PP, author = "Brian W. Kernighan and Rob Pike", booktitle = "The Practice of Programming", title = "The Practice of Programming", publisher = pub-AW, address = pub-AW:adr, pages = "xii + 267", year = "1999", ISBN = "0-201-61586-X", ISBN-13 = "978-0-201-61586-9", LCCN = "QA76.6 .K48 1999", bibdate = "Fri Jan 21 06:58:06 2000", bibsource = "https://www.math.utah.edu/pub/tex/bib/css.bib; https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/mathcw.bib; https://www.math.utah.edu/pub/tex/bib/plan9.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", price = "US\$24.95, CAN\$37.50", URL = "http://cm.bell-labs.com/cm/cs/tpop/code.html; http://cseng.aw.com/bookdetail.qry?ISBN=0-201-61586-X&ptype=0; http://tpop.awl.com", acknowledgement = ack-nhfb, remark = "Section 9.2 discusses regular expressions.", shorttableofcontents = "Preface \\ 1: Style / 1 \\ 2: Algorithms and Data Structures / 29 \\ 3: Design and Implementation / 61 \\ 4: Interfaces / 85 \\ 5: Debugging / 117 \\ 6: Testing / 139 \\ 7: Performance / 165 \\ 8: Portability / 189 \\ 9: Notation / 215 \\ Epilogue / 247 \\ Appendix: Collected Rules / 249 \\ Index / 253", tableofcontents = "Preface / ix \\ 1: Style / 1 \\ 1.1 Names / 3 \\ 1.2 Expressions and Statements / 6 \\ 1.3 Consistency and Idioms / 10 \\ 1.4 Function Macros / 17 \\ 1.5 Magic Numbers / 19 \\ 1.6 Comments / 23 \\ 1.7 Why Bother? / 27 \\ 2: Algorithms and Data Structures / 29 \\ 2.1 Searching / 30 \\ 2.2 Sorting / 32 \\ 2.3 Libraries / 34 \\ 2.4 A Java Quicksort / 37 \\ 2.5 O-Notation / 40 \\ 2.6 Growing Arrays / 41 \\ 2.7 Lists / 44 \\ 2.8 Trees / 50 \\ 2.9 Hash Tables / 55 \\ 2.10 Summary / 58 \\ 3: Design and Implementation / 61 \\ 3.1 The Markov Chain Algorithm / 62 \\ 3.2 Data Structure Alternatives / 64 \\ 3.3 Building the Data Structure in C / 65 \\ 3.4 Generating Output / 69 \\ 3.5 Java / 71 \\ 3.6 C++ / 76 \\ 3.7 Awk and Perl / 78 \\ 3.8 Performance / 80 \\ 3.9 Lessons / 82 \\ 4: Interfaces / 85 \\ 4.1 Comma-Separated Values / 86 \\ 4.2 A Prototype Library / 87 \\ 4.3 A Library for Others / 91 \\ 4.4 A C++ Implementation / 99 \\ 4.5 Interface Principles / 103 \\ 4.6 Resource Management / 106 \\ 4.7 Abort, Retry. Fail? / 109 \\ 4.8 User Interfaces / 113 \\ 5: Debugging / 117 \\ 5.1 Debuggers / 118 \\ 5.2 Good Clues, Easy Bugs / 119 \\ 5.3 No Clues, Hard Bugs / 123 \\ 5.4 Last Resorts / 127 \\ 5.5 Non-reproducible Bugs / 130 \\ 5.6 Debugging Tools / 131 \\ 5.7 Other People's Bugs / 135 \\ 5.8 Summary / 136 \\ 6: Testing / 139 \\ 6.1 Test as You Write the Code / 140 \\ 6.2 Systematic Testing / 145 \\ 6.3 Test Automation / 149 \\ 6.4 Test Scaffolds / 151 \\ 6.5 Stress Tests / 155 \\ 6.6 Tips for Testing / 158 \\ 6.7 Who Does the Testing? / 159 \\ 6.8 Testing the Markov Program / 160 \\ 6.9 Summary / 162 \\ 7: Performance / 165 \\ 7.1 A Bottleneck / 166 \\ 7.2 Timing and Profiling / 171 \\ 7.3 Strategies for Speed / 175 \\ 7.4 Tuning the Code / 178 \\ 7.5 Space Efficiency / 182 \\ 7.6 Estimation / 184 \\ 7.7 Summary / 187 \\ 8: Portability / 189 \\ 8.1 Language / 190 \\ 8.2 Headers and Libraries / 196 \\ 8.3 Program Organization / 198 \\ 8.4 Isolation / 202 \\ 8.5 Data Exchange / 203 \\ 8.6 Byte Order / 204 \\ 8.7 Portability and Upgrade / 207 \\ 8.8 Internationalization / 209 \\ 8.9 Summary / 212 \\ 9: Notation / 215 \\ 9.1 Formatting Data / 216 \\ 9.2 Regular Expressions / 222 \\ 9.3 Programmable Tools / 228 \\ 9.4 Interpreters, Compilers, and Virtual Machines / 231 \\ 9.5 Programs that Write Programs / 237 \\ 9.6 Using Macros to Generate Code / 240 \\ 9.7 Compiling on the Fly / 241 \\ Epilogue / 247 \\ Appendix: Collected Rules / 249 \\ Index / 253", } @Proceedings{Paterson:1999:CPM, editor = "Michael S. Paterson and Maxime Crochemore", booktitle = "{Combinatorial pattern matching: 10th annual symposium, CPM 99, Warwick University, UK, July 22--24, 1999: Proceedings}", title = "{Combinatorial pattern matching: 10th annual symposium, CPM 99, Warwick University, UK, July 22--24, 1999: Proceedings}", volume = "1645", publisher = pub-SV, address = pub-SV:adr, pages = "viii + 293", year = "1999", CODEN = "LNCSD9", DOI = "????", ISBN = "3-540-66278-2", ISBN-13 = "978-3-540-66278-5", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "QA76.9.A43 C65 1999", bibdate = "Mon Sep 13 11:29:25 MDT 1999", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, URL = "http://link.springer-ny.com/link/service/series/0558/tocs/t1645.htm; http://www.springerlink.com/content/978-3-540-66278-5; http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=1645", acknowledgement = ack-nhfb, keywords = "combinatorial analysis --- congresses; computer algorithms --- congresses", } @Proceedings{Storer:1999:DPD, editor = "James A. Storer and Martin Cohn", key = "DCC'99", booktitle = "{DCC '99: proceedings: Data Compression Conference: March 29--31, 1999, Snowbird, Utah}", title = "{DCC '99: proceedings: Data Compression Conference: March 29--31, 1999, Snowbird, Utah}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "xv + 566", year = "1999", DOI = "https://doi.org/10.1109/DCC.1999.755647", ISBN = "0-7695-0096-X, 0-7695-0098-6 (microfiche)", ISBN-13 = "978-0-7695-0096-6, 978-0-7695-0098-0 (microfiche)", ISSN = "1068-0314", LCCN = "QA76.9.D33 D37 1999", bibdate = "Tue Feb 5 05:59:32 MST 2013", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "IEEE Computer Society Order Number PR00096. IEEE Order Plan Catalog Number PR00096.", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=755647", acknowledgement = ack-nhfb, meetingname = "Data Compression Conference (1999: Snowbird, Utah)", series-URL = "http://ieeexplore.ieee.org/xpl/conhome.jsp?punumber=1000177", } @Proceedings{ACM:2000:PTS, editor = "{ACM}", booktitle = "{Proceedings of the Thirty Second Annual ACM Symposium on Theory of Computing: Portland, Oregon, May 21--23, [2000]}", title = "{Proceedings of the Thirty Second Annual ACM Symposium on Theory of Computing: Portland, Oregon, May 21--23, [2000]}", publisher = pub-ACM, address = pub-ACM:adr, pages = "ix + 756", year = "2000", ISBN = "1-58113-184-4", ISBN-13 = "978-1-58113-184-0", bibdate = "Sat Oct 28 16:10:32 MDT 2000", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "ACM order number 508000.", acknowledgement = ack-nhfb, keywords = "computational complexity; computer programming; congresses; electronic data processing; electronic digital computers; online resources", } @Proceedings{Giancarlo:2000:CPM, editor = "Raffaele Giancarlo and David Sankoff", booktitle = "{Combinatorial pattern matching: 11th annual symposium, CPM 2000, Montr{\'e}al, Canada, June 21--23, 2000: Proceedings}", title = "{Combinatorial pattern matching: 11th annual symposium, CPM 2000, Montr{\'e}al, Canada, June 21--23, 2000: Proceedings}", volume = "1848", publisher = pub-SV, address = pub-SV:adr, pages = "xi + 422", year = "2000", CODEN = "LNCSD9", DOI = "????", ISBN = "3-540-67633-3", ISBN-13 = "978-3-540-67633-1", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "QA267.A1 L43 no.1848", bibdate = "Mon Oct 16 18:31:56 MDT 2000", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, URL = "http://link.springer-ny.com/link/service/series/0558/tocs/t1848.htm; http://www.springerlink.com/content/978-3-540-67633-1; http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=1848", acknowledgement = ack-nhfb, keywords = "combinatorial analysis --- congresses; computer algorithms --- congresses", } @Proceedings{Amir:2001:CPM, editor = "Amihood Amir and Gad M. Landau", booktitle = "{Combinatorial pattern matching: 12th annual symposium, CPM 2001, Jerusalem, Israel, July 1--4, 2001: Proceedings}", title = "{Combinatorial pattern matching: 12th annual symposium, CPM 2001, Jerusalem, Israel, July 1--4, 2001: Proceedings}", volume = "2089", publisher = pub-SV, address = pub-SV:adr, pages = "viii + 271", year = "2001", CODEN = "LNCSD9", DOI = "????", ISBN = "3-540-42271-4", ISBN-13 = "978-3-540-42271-6", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "QA76.9.A43 C65 2001", bibdate = "Thu Jan 17 11:49:19 MST 2002", bibsource = "https://www.math.utah.edu/pub/tex/bib/kepler.bib; https://www.math.utah.edu/pub/tex/bib/lncs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS # " and " # ser-LNAI, URL = "http://link.springer-ny.com/link/service/series/0558/tocs/t2089.htm; http://www.springerlink.com/content/978-3-540-42271-6; http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=2089", acknowledgement = ack-nhfb, keywords = "combinatorial analysis --- congresses; computer algorithms --- congresses", } @Proceedings{Apers:2001:PTS, editor = "Peter M. G. Apers and Paolo Atzeni and Stefano Ceri and Stefano Paraboschi and Kotagiri Ramamohanarao and Richard T. Snodgrass", booktitle = "{Proceedings of the Twenty-seventh International Conference on Very Large Data Bases: Roma, Italy, 11--14th September, 2001}", title = "{Proceedings of the Twenty-seventh International Conference on Very Large Data Bases: Roma, Italy, 11--14th September, 2001}", publisher = pub-MORGAN-KAUFMANN, address = pub-MORGAN-KAUFMANN:adr, pages = "xviv + 727", year = "2001", ISBN = "1-55860-804-4", ISBN-13 = "978-1-55860-804-7", LCCN = "QA76.9.D3 I559 2001", bibdate = "Fri Sep 22 14:23:22 2023", bibsource = "DBLP; http://dblp.uni-trier.de; http://www.dia.uniroma3.it/vldb2001/; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldb.bib", acknowledgement = ack-nhfb, } @Proceedings{Storer:2001:DPD, editor = "James A. (James Andrew) Storer and Martin Cohn", key = "DCC 2001", booktitle = "{DCC 2001: proceedings, Data Compression Conference, March 27--29, 2001, Snowbird, Utah}", title = "{DCC 2001: proceedings, Data Compression Conference, March 27--29, 2001, Snowbird, Utah}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "xii + 533", year = "2001", DOI = "https://doi.org/10.1109/DCC.2001.917130", ISBN = "0-7695-1031-0", ISBN-13 = "978-0-7695-1031-6", ISSN = "1068-0314", LCCN = "QA76.9.D33 D37 2001", bibdate = "Mon Jan 28 15:18:45 MST 2013", bibsource = "clio-db.cc.columbia.edu:7090/Voyager; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "IEEE CSP number 01PR1031.", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=917130", acknowledgement = ack-nhfb, series-URL = "http://ieeexplore.ieee.org/xpl/conhome.jsp?punumber=1000177", subject = "Data compression (Computer science); Congresses", } @Proceedings{Apostolico:2002:CPM, editor = "Alberto Apostolico and Masayuki Takeda", booktitle = "{Combinatorial pattern matching: 13th annual symposium, CPM 2002, Fukuoka, Japan, July 3--5, 2002: Proceedings}", title = "{Combinatorial Pattern Matching: 13th Annual Symposium, CPM 2002 Fukuoka, Japan, July 3--5, 2002. Proceedings}", volume = "2373", publisher = pub-SV, address = pub-SV:adr, pages = "viii + 288", year = "2002", CODEN = "LNCSD9", DOI = "????", ISBN = "3-540-43862-9 (paperback)", ISBN-13 = "978-3-540-43862-5 (paperback)", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "QA76.9.A43 C65 2002", bibdate = "Thu Nov 11 19:26:30 MST 2004", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, URL = "http://link.springer-ny.com/link/service/series/0558/tocs/t2373.htm; http://www.springerlink.com/content/978-3-540-43862-5; http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=2373", acknowledgement = ack-nhfb, keywords = "combinatorial analysis --- congresses; computer algorithms --- congresses", } @Proceedings{Bernstein:2002:VPT, editor = "Philip A. Bernstein and others", booktitle = "{VLDB 2002}: proceedings of the Twenty-Eighth International Conference on Very Large Data Bases, Hong Kong {SAR}, China, 20--23 August 2002", title = "{VLDB 2002}: proceedings of the Twenty-Eighth International Conference on Very Large Data Bases, Hong Kong {SAR}, China, 20--23 August 2002", publisher = pub-MORGAN-KAUFMANN, address = pub-MORGAN-KAUFMANN:adr, pages = "xxvi + 1118", year = "2002", ISBN = "1-55860-869-9", ISBN-13 = "978-1-55860-869-6", LCCN = "????", bibdate = "Mon Dec 22 18:37:23 2003", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; https://www.math.utah.edu/pub/tex/bib/vldb.bib", acknowledgement = ack-nhfb, } @Proceedings{Franklin:2002:PAS, editor = "Michael Franklin and Bongki Moon and Anastassia Ailamaki", booktitle = "{Proceedings of the ACM SIGMOD International Conference on Management of Data, June 3--6, 2002, Madison, WI, USA}", title = "{Proceedings of the ACM SIGMOD International Conference on Management of Data, June 3--6, 2002, Madison, WI, USA}", publisher = pub-ACM, address = pub-ACM:adr, pages = "xiv + 641", year = "2002", ISBN = "????", ISBN-13 = "????", LCCN = "????", bibdate = "Fri Oct 31 08:15:18 2003", bibsource = "https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "ACM order number 475020.", acknowledgement = ack-nhfb, } @Proceedings{Storer:2002:DPD, editor = "James A. (James Andrew) Storer and Martin Cohn", key = "DCC 2002", booktitle = "{DCC 2002: proceedings: Data Compression Conference: April 2--4, 2002, Snowbird, Utah}", title = "{DCC 2002: proceedings: Data Compression Conference: April 2--4, 2002, Snowbird, Utah}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "xi + 487", year = "2002", DOI = "https://doi.org/10.1109/DCC.2002.999937", ISBN = "0-7695-1477-4, 0-7695-1478-2 (case), 0-7695-1479-0 (microfiche)", ISBN-13 = "978-0-7695-1477-2, 978-0-7695-1478-9 (case), 978-0-7695-1479-6 (microfiche)", ISSN = "1068-0314", LCCN = "QA76.9.D33 D37 2002", bibdate = "Mon Jan 28 15:18:45 MST 2013", bibsource = "clio-db.cc.columbia.edu:7090/Voyager; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "IEEE Computer Society Order Number: PR01477.", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=999937", acknowledgement = ack-nhfb, meetingname = "Data Compression Conference (2002: Snowbird, Utah)", series-URL = "http://ieeexplore.ieee.org/xpl/conhome.jsp?punumber=1000177", subject = "Data compression (Computer science); Congresses", } @Proceedings{Baeza-Yates:2003:CPM, editor = "R. Baeza-Yates and Edgar Ch{\'a}vez and Maxime Crochemore", booktitle = "{Combinatorial pattern matching: 14th annual symposium, CPM 2003, Morelia, Michoacan, Mexico, June 25--27, 2003: Proceedings}", title = "{Combinatorial pattern matching: 14th annual symposium, CPM 2003, Morelia, Michoacan, Mexico, June 25--27, 2003: Proceedings}", volume = "2676", publisher = pub-SV, address = pub-SV:adr, pages = "xi + 401", year = "2003", CODEN = "LNCSD9", DOI = "????", ISBN = "3-540-40311-6 (paperback)", ISBN-13 = "978-3-540-40311-1 (paperback)", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "QA76.9.A43 C65 2003", bibdate = "Thu Aug 21 09:09:03 MDT 2003", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "Also available via the World Wide Web.", series = ser-LNCS, URL = "http://link.springer-ny.com/link/service/series/0558/tocs/t2676.htm; http://www.springerlink.com/content/978-3-540-40311-1; http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=2676", acknowledgement = ack-nhfb, keywords = "combinatorial analysis --- congresses; computer algorithms --- congresses", } @Proceedings{Storer:2003:DPD, editor = "James A. (James Andrew) Storer and Martin Cohn", key = "DCC 2003", booktitle = "{DCC 2003: proceedings: Data Compression Conference: March 25--27, 2003, Snowbird, Utah}", title = "{DCC 2003: proceedings: Data Compression Conference: March 25--27, 2003, Snowbird, Utah}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "xii + 461", year = "2003", DOI = "https://doi.org/10.1109/DCC.2003.1193990", ISBN = "0-7695-1896-6", ISBN-13 = "978-0-7695-1896-1", ISSN = "1068-0314", LCCN = "QA76.9.D33 D37 2003", bibdate = "Mon Jan 28 15:18:45 MST 2013", bibsource = "clio-db.cc.columbia.edu:7090/Voyager; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "IEEE Computer Society Order number PR01896.", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1193990", acknowledgement = ack-nhfb, meetingname = "Data Compression Conference (2003: Snowbird, Utah)", series-URL = "http://ieeexplore.ieee.org/xpl/conhome.jsp?punumber=1000177", subject = "Data compression (Computer science); Congresses", } @Proceedings{Sahinalp:2004:CPM, editor = "Suleyman Cenk Sahinalp and S. Muthukrishnan and Ugur Dogrusoz", booktitle = "{Combinatorial Pattern Matching: 15th annual symposium, CPM 2004, Istanbul, Turkey, July 5--7, 2004: Proceedings}", title = "{Combinatorial Pattern Matching: 15th annual symposium, CPM 2004, Istanbul, Turkey, July 5--7, 2004: Proceedings}", volume = "3109", publisher = pub-SV, address = pub-SV:adr, pages = "xi + 486", year = "2004", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/b98377", ISBN = "3-540-22341-X", ISBN-13 = "978-3-540-22341-2", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "QA76.9.A43 C65 2004", bibdate = "Thu Nov 11 19:26:30 MST 2004", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, URL = "http://link.springer-ny.com/link/service/series/0558/tocs/t3109.htm; http://www.springerlink.com/content/978-3-540-22341-2; http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=3109; http://www.springerlink.com/openurl.asp?genre=volume&id=doi:10.1007/b98377", acknowledgement = ack-nhfb, } @Proceedings{Storer:2004:DCC, editor = "James A. (James Andrew) Storer and Martin Cohn", key = "DCC 2004", booktitle = "{Data Compression Conference, 2004. Proceedings. DCC 2004: Snowbird, Utah, USA: 23--25 March 2004}", title = "{Data Compression Conference, 2004. Proceedings. DCC 2004: Snowbird, Utah, USA: 23--25 March 2004}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "xiii + 579", year = "2004", DOI = "https://doi.org/10.1109/DCC.2004.1281440", ISBN = "0-7695-2082-0", ISBN-13 = "978-0-7695-2082-7", ISSN = "1068-0314", LCCN = "????", bibdate = "Tue Feb 5 05:59:42 MST 2013", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "IEEE Computer Society Order Number: P2082.", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1281440", acknowledgement = ack-nhfb, series-URL = "http://ieeexplore.ieee.org/xpl/conhome.jsp?punumber=1000177", } @Proceedings{Apostolico:2005:CPM, editor = "Alberto Apostolico and Maxime Crochemore and Kunsoo Park", booktitle = "{Combinatorial pattern matching: 16th annual symposium, CPM 2005, Jeju Island, Korea, June 19--22, 2005, proceedings}", title = "{Combinatorial pattern matching: 16th annual symposium, CPM 2005, Jeju Island, Korea, June 19--22, 2005, proceedings}", volume = "3537", publisher = pub-SV, address = pub-SV:adr, pages = "????", year = "2005", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/b137128", ISBN = "3-540-26201-6 (softcover)", ISBN-13 = "978-3-540-26201-5 (softcover)", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "????", bibdate = "Thu Jun 2 09:16:25 MDT 2005", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; z3950.loc.gov:7090/Voyager", series = ser-LNCS, URL = "http://www.springerlink.com/content/978-3-540-26201-5; http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=3537; http://www.springerlink.com/openurl.asp?genre=volume&id=doi:10.1007/b137128", acknowledgement = ack-nhfb, } @Proceedings{Storer:2005:DCC, editor = "James A. (James Andrew) Storer and Martin Cohn", key = "DCC 2005", booktitle = "{Data Compression Conference, 2005. Proceedings. DCC 2005}", title = "{Data Compression Conference, 2005. Proceedings. DCC 2005}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "????", year = "2005", DOI = "https://doi.org/10.1109/DCC.2005.28", ISBN = "0-7695-2309-9", ISBN-13 = "978-0-7695-2309-5", ISSN = "1068-0314", LCCN = "????", bibdate = "Tue Feb 5 05:59:42 MST 2013", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://ieeexplore.ieee.org/servlet/opac?punumber=9633; http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1402158", acknowledgement = ack-nhfb, series-URL = "http://ieeexplore.ieee.org/xpl/conhome.jsp?punumber=1000177", } @Proceedings{ACM:2006:PTF, editor = "{ACM}", booktitle = "{Proceedings of the Twenty-Fifth ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems, Chicago, IL, USA June 26--28, 2006}", title = "{Proceedings of the Twenty-Fifth ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems, Chicago, IL, USA June 26--28, 2006}", publisher = pub-ACM, address = pub-ACM:adr, pages = "xii + 366", year = "2006", ISBN = "1-59593-318-2", ISBN-13 = "978-1-59593-318-8", LCCN = "QA76.9.D3 A296 2006", bibdate = "Wed Aug 23 12:13:46 MDT 2006", bibsource = "https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", acknowledgement = ack-nhfb, } @Proceedings{Lewenstein:2006:CPM, editor = "Moshe Lewenstein and Gabriel Valiente", booktitle = "{Combinatorial Pattern Matching: 17th Annual Symposium, CPM 2006, Barcelona, Spain, July 5--7, 2006. Proceedings}", title = "{Combinatorial Pattern Matching: 17th Annual Symposium, CPM 2006, Barcelona, Spain, July 5--7, 2006. Proceedings}", volume = "4009", publisher = pub-SV, address = pub-SV:adr, pages = "222 (est.)", year = "2006", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/11780441", ISBN = "3-540-35455-7 (print), 3-540-35461-1 (e-book)", ISBN-13 = "978-3-540-35455-0 (print), 978-3-540-35461-1 (e-book)", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "????", bibdate = "Wed Dec 19 15:17:44 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, URL = "http://www.springerlink.com/content/978-3-540-35461-1", acknowledgement = ack-nhfb, } @Proceedings{ACM:2007:PTS, editor = "ACM", booktitle = "{Proceedings of the Twenty-Sixth ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems: PODS 2007, Beijing, China, June 11--13, 2007}", title = "{Proceedings of the Twenty-Sixth ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems: PODS 2007, Beijing, China, June 11--13, 2007}", publisher = pub-ACM, address = pub-ACM:adr, pages = "xi + 313", year = "2007", ISBN = "1-59593-685-8", ISBN-13 = "978-1-59593-685-1", LCCN = "????", bibdate = "Fri Jun 20 13:10:08 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, meetingname = "ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems (26th : 2007 : Beijing, China)", } @Proceedings{Ma:2007:CPM, editor = "Bin Ma and Kaizhong Zhang", booktitle = "{Combinatorial Pattern Matching: 18th Annual Symposium, CPM 2007, London, Canada, July 9--11, 2007. Proceedings}", title = "{Combinatorial Pattern Matching: 18th Annual Symposium, CPM 2007, London, Canada, July 9--11, 2007. Proceedings}", volume = "4580", publisher = pub-SV, address = pub-SV:adr, pages = "194 (est.)", year = "2007", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-540-73437-6", ISBN = "3-540-73436-8 (print), 3-540-73437-6 (e-book)", ISBN-13 = "978-3-540-73436-9 (print), 978-3-540-73437-6 (e-book)", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "????", bibdate = "Wed Dec 19 15:21:26 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, URL = "http://www.springerlink.com/content/978-3-540-73437-6", acknowledgement = ack-nhfb, } @Book{Oram:2007:BC, editor = "Andrew Oram and Greg Wilson", booktitle = "Beautiful code", title = "Beautiful code", publisher = pub-ORA, address = pub-ORA:adr, pages = "xxi + 593", year = "2007", ISBN = "0-596-51004-7 (paperback)", ISBN-13 = "978-0-596-51004-6 (paperback)", LCCN = "QA76.758 .B428 2007; QA76.758 .B43 2007; QA76.758 .B48 2007", bibdate = "Tue Aug 5 17:53:37 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/plan9.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; melvyl.cdlib.org:210/CDL90", series = "Theory in practice", URL = "http://www.oreilly.com/catalog/9780596510046", acknowledgement = ack-nhfb, subject = "Software engineering", } @Proceedings{ACM:2008:SPA, editor = "{ACM}", booktitle = "{STOC '08: proceedings of the 40th Annual ACM Symposium on Theory of Computing, Victoria, British Columbia, Canada, May 17--20, 2008}", title = "{STOC '08: proceedings of the 40th Annual ACM Symposium on Theory of Computing, Victoria, British Columbia, Canada, May 17--20, 2008}", publisher = pub-ACM, address = pub-ACM:adr, pages = "xv + 798", year = "2008", ISBN = "1-60558-047-3", ISBN-13 = "978-1-60558-047-0", LCCN = "QA76.6 .A152 2008", bibdate = "Fri Jun 20 18:35:01 MDT 2008", bibsource = "https://www.math.utah.edu/pub/tex/bib/string-matching.bib; z3950.bibsys.no:2100/BIBSYS", acknowledgement = ack-nhfb, } @Proceedings{Aiello:2008:AMW, editor = "William Anthony Aiello and others", booktitle = "{Algorithms and models for the web-graph: fourth international workshop, WAW 2006, Banff, Canada, November 30--December 1, 2006: revised papers}", title = "{Algorithms and models for the web-graph: fourth international workshop, WAW 2006, Banff, Canada, November 30--December 1, 2006: revised papers}", volume = "4936", publisher = pub-SV, address = pub-SV:adr, pages = "x + 165", year = "2008", ISBN = "3-540-78808-5, 3-540-78807-7", ISBN-13 = "978-3-540-78808-9, 978-3-540-78807-2", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "QA76.9.A43 W39 2006", bibdate = "Thu May 6 08:22:51 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/pagerank.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; melvyl.cdlib.org:210/CDL90", series = ser-LNCS, acknowledgement = ack-nhfb, meetingname = "WAW 2006 (2006: Banff, Alta.)", subject = "computer algorithms; congresses; data mining; computer science; data mining and knowledge discovery; information systems applications (including Internet)", } @Proceedings{Ferragina:2008:CPM, editor = "Paolo Ferragina and Gad M. Landau", booktitle = "{Combinatorial Pattern Matching: 19th Annual Symposium, CPM 2008, Pisa, Italy, June 18--20, 2008 Proceedings}", title = "{Combinatorial Pattern Matching: 19th Annual Symposium, CPM 2008, Pisa, Italy, June 18--20, 2008 Proceedings}", volume = "5029", publisher = pub-SV, address = pub-SV:adr, pages = "216 (est.)", year = "2008", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-540-69068-9", ISBN = "3-540-69066-2 (print), 3-540-69068-9 (e-book)", ISBN-13 = "978-3-540-69066-5 (print), 978-3-540-69068-9 (e-book)", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "????", bibdate = "Wed Dec 19 15:22:31 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, URL = "http://www.springerlink.com/content/978-3-540-69068-9", acknowledgement = ack-nhfb, } @Proceedings{Lenzerini:2008:PTS, editor = "Maurizio Lenzerini and Domenico Lembo", booktitle = "{Proceedings of the Twenty-Seventh ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems: PODS'08, Vancouver, BC, Canada, June 9--11, 2008}", title = "{Proceedings of the Twenty-Seventh ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems: PODS'08, Vancouver, BC, Canada, June 9--11, 2008}", publisher = pub-ACM, address = pub-ACM:adr, pages = "xi + 313", year = "2008", ISBN = "1-60560-932-3", ISBN-13 = "978-1-60560-932-4", LCCN = "????", bibdate = "Fri Jun 20 13:10:29 MDT 2008", bibsource = "https://www.math.utah.edu/pub/bibnet/authors/h/hoare-c-a-r.bib; https://www.math.utah.edu/pub/tex/bib/java2000.bib; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; z3950.loc.gov:7090/Voyager", acknowledgement = ack-nhfb, xxISBN = "1-59593-685-8", xxisbn-13 = "978-1-59593-685-1", xxnote = "There is library confusion about the ISBN: I found 1-60558-152-6 (tagged invalid in catalog), 1-605-60932-3, 1-59593-685-9, 1-59593-685-X (invalid checksum).", } @Proceedings{IEEE:2009:PAI, editor = "{IEEE}", booktitle = "{Proceedings of the 50th Annual IEEE Symposium on Foundations of Computer Science: October 25--27, 2009, Atlanta, Georgia, USA}", title = "{Proceedings of the 50th Annual IEEE Symposium on Foundations of Computer Science: October 25--27, 2009, Atlanta, Georgia, USA}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "xvi + 835", year = "2009", ISBN = "0-7695-3850-9", ISBN-13 = "978-0-7695-3850-1", ISSN = "0272-5428", LCCN = "QA76 .S95 2009", bibdate = "Thu May 6 08:34:02 MDT 2010", bibsource = "https://www.math.utah.edu/pub/tex/bib/focs2000.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; melvyl.cdlib.org:210/CDL90", note = "IEEE Computer Society order number P3850.", acknowledgement = ack-nhfb, subject = "electronic data processing; congresses; machine theory", } @Proceedings{Kucherov:2009:CPM, editor = "Gregory Kucherov and Esko Ukkonen", booktitle = "{Combinatorial Pattern Matching: 20th Annual Symposium, CPM 2009 Lille, France, June 22--24, 2009 Proceedings}", title = "{Combinatorial Pattern Matching: 20th Annual Symposium, CPM 2009 Lille, France, June 22--24, 2009 Proceedings}", volume = "5577", publisher = pub-SV, address = pub-SV:adr, pages = "235 (est.)", year = "2009", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-02441-2", ISBN = "3-642-02440-8 (print), 3-642-02441-6 (e-book)", ISBN-13 = "978-3-642-02440-5 (print), 978-3-642-02441-2 (e-book)", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "????", bibdate = "Wed Dec 19 15:25:32 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, URL = "http://www.springerlink.com/content/978-3-642-02441-2", acknowledgement = ack-nhfb, } @Proceedings{Storer:2009:DPD, editor = "James A. (James Andrew) Storer and Michael W. Marcellin", key = "DCC 2009", booktitle = "{DCC 2009: Proceedings Data Compression Conference: Snowbird, Utah, USA, 16--28 March 2011}", title = "{DCC 2009: Proceedings Data Compression Conference: Snowbird, Utah, USA, 16--28 March 2011}", publisher = pub-IEEE, address = pub-IEEE:adr, year = "2009", DOI = "https://doi.org/10.1109/DCC.2009.93", ISBN = "0-7695-3592-5", ISBN-13 = "978-0-7695-3592-0", ISSN = "1068-0314", LCCN = "????", bibdate = "Tue Feb 05 12:50:20 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "IEEE Computer Society Order Number P3592. BMS Part Number CFP09DCC-PRT.", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4976436", acknowledgement = ack-nhfb, series-URL = "http://ieeexplore.ieee.org/xpl/conhome.jsp?punumber=1000177", } @Proceedings{Amir:2010:CPM, editor = "Amihood Amir and Laxmi Parida", booktitle = "{Combinatorial Pattern Matching: 21st Annual Symposium, CPM 2010, New York, NY, USA, June 21--23, 2010. Proceedings}", title = "{Combinatorial Pattern Matching: 21st Annual Symposium, CPM 2010, New York, NY, USA, June 21--23, 2010. Proceedings}", volume = "6129", publisher = pub-SV, address = pub-SV:adr, pages = "226 (est.)", year = "2010", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-13509-5", ISBN = "3-642-13508-0 (print), 3-642-13509-9 (e-book)", ISBN-13 = "978-3-642-13508-8 (print), 978-3-642-13509-5 (e-book)", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "????", bibdate = "Wed Dec 19 15:20:22 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, URL = "http://www.springerlink.com/content/978-3-642-13509-5", acknowledgement = ack-nhfb, } @Proceedings{Storer:2010:DPD, editor = "James A. (James Andrew) Storer and Michael W. Marcellin", key = "DCC 2010", booktitle = "{DDC 2010: proceedings: Data Compression Conference: 24--26 March 2010, Snowbird, Utah}", title = "{DDC 2010: proceedings: Data Compression Conference: 24--26 March 2010, Snowbird, Utah}", publisher = pub-IEEE, address = pub-IEEE:adr, year = "2010", DOI = "https://doi.org/10.1109/DCC.2010.105", ISBN = "0-7695-3994-7", ISBN-13 = "978-0-7695-3994-2", ISSN = "1068-0314", LCCN = "????", bibdate = "Mon Jan 28 15:10:39 MST 2013", bibsource = "https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib; z3950.bibsys.no:2100/BIBSYS", URL = "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5453521", acknowledgement = ack-nhfb, meetingname = "Data Compression Conference", series-URL = "http://ieeexplore.ieee.org/xpl/conhome.jsp?punumber=1000177", } @Proceedings{Giancarlo:2011:CPM, editor = "Raffaele Giancarlo and Giovanni Manzini", booktitle = "{Combinatorial Pattern Matching: 22nd Annual Symposium, CPM 2011, Palermo, Italy, June 27--29, 2011. Proceedings}", title = "{Combinatorial Pattern Matching: 22nd Annual Symposium, CPM 2011, Palermo, Italy, June 27--29, 2011. Proceedings}", volume = "6661", publisher = pub-SV, address = pub-SV:adr, pages = "231 (est.)", year = "2011", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-21458-5", ISBN = "3-642-21457-6 (print), 3-642-21458-4 (e-book)", ISBN-13 = "978-3-642-21457-8 (print), 978-3-642-21458-5 (e-book)", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "????", bibdate = "Wed Dec 19 15:23:18 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, URL = "http://www.springerlink.com/content/978-3-642-21458-5", acknowledgement = ack-nhfb, } @Proceedings{Lenzerini:2011:PPT, editor = "Maurizio Lenzerini", booktitle = "{PODS'11: Proceedings of the thirtieth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems: June 13--15, 2011, Athens, Greece}", title = "{PODS'11: Proceedings of the thirtieth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems: June 13--15, 2011, Athens, Greece}", publisher = pub-ACM, address = pub-ACM:adr, pages = "322", year = "2011", ISBN = "1-4503-0660-8", ISBN-13 = "978-1-4503-0660-7", LCCN = "????", bibdate = "Mon Apr 23 08:23:08 MDT 2012", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://dl.acm.org/citation.cfm?id=1989284", acknowledgement = ack-nhfb, subject = "Informatique; Congr\`es; Ordinateurs", } @Proceedings{Storer:2011:DDC, editor = "James A. (James Andrew) Storer and Michael W. Marcellin", key = "DCC 2011", booktitle = "{DCC 2011: Data Compression Conference: Snowbird, Utah, USA, 29--31 March 2011}", title = "{DCC 2011: Data Compression Conference: Snowbird, Utah, USA, 29--31 March 2011}", publisher = pub-IEEE, address = pub-IEEE:adr, pages = "493", year = "2011", DOI = "https://doi.org/10.1109/DCC.2011.99", ISBN = "1-61284-279-8", ISBN-13 = "978-1-61284-279-0", ISSN = "1068-0314", LCCN = "????", bibdate = "Tue Feb 5 05:59:51 MST 2013", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/datacompression.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", note = "IEEE Computer Society Order Number P4352; BMS Part Number: CFP11DCC-PRT", URL = "http://ieeexplore.ieee.org/servlet/opac?punumber=5749456", acknowledgement = ack-nhfb, series-URL = "http://ieeexplore.ieee.org/xpl/conhome.jsp?punumber=1000177", } @Proceedings{Karkkainen:2012:CPM, editor = "Juha K{\"a}rkk{\"a}inen and Jens Stoye", booktitle = "{Combinatorial Pattern Matching: 23rd Annual Symposium, CPM 2012, Helsinki, Finland, July 3--5, 2012. Proceedings}", title = "{Combinatorial Pattern Matching: 23rd Annual Symposium, CPM 2012, Helsinki, Finland, July 3--5, 2012. Proceedings}", volume = "7354", publisher = pub-SV, address = pub-SV:adr, pages = "256 (est.)", year = "2012", CODEN = "LNCSD9", DOI = "https://doi.org/10.1007/978-3-642-31265-6", ISBN = "3-642-31264-0 (print), 3-642-31265-9 (e-book)", ISBN-13 = "978-3-642-31264-9 (print), 978-3-642-31265-6 (e-book)", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "????", bibdate = "Wed Dec 19 15:20:44 MST 2012", bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs.bib; https://www.math.utah.edu/pub/tex/bib/lncs2012f.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, URL = "http://www.springerlink.com/content/978-3-642-31265-6", acknowledgement = ack-nhfb, } @Proceedings{Krotzsch:2012:PPA, editor = "Markus Kr{\"o}tzsch and Maurizio Lenzerini and Michael Benedikt", booktitle = "{PODS'12: Proceedings of the 31st ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems: May 20--24, 2012, Scottsdale, AZ, USA}", title = "{PODS'12: Proceedings of the 31st ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems: May 20--24, 2012, Scottsdale, AZ, USA}", publisher = pub-ACM, address = pub-ACM:adr, pages = "????", year = "2012", ISBN = "????", ISBN-13 = "????", LCCN = "????", bibdate = "Tue Nov 06 11:29:58 2012", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://www.sigmod.org/2012/", acknowledgement = ack-nhfb, subject = "Informatique; Congr\`es; Ordinateurs", } @Proceedings{Dediu:2013:LAT, editor = "Adrian-Horia Dediu and Carlos Mart{\'i}n-Vide and Bianca Truthe", booktitle = "{Language and Automata Theory and Applications: 7th International Conference, LATA 2013, Bilbao, Spain, April 2--5, 2013. Proceedings}", title = "{Language and Automata Theory and Applications: 7th International Conference, LATA 2013, Bilbao, Spain, April 2--5, 2013. Proceedings}", volume = "7810", publisher = pub-SV, address = pub-SV:adr, pages = "xiv + 580 + 69", year = "2013", DOI = "https://doi.org/10.1007/978-3-642-37064-9", ISBN = "3-642-37063-2 (print), 3-642-37064-0 (e-book)", ISBN-13 = "978-3-642-37063-2 (print), 978-3-642-37064-9 (e-book)", ISSN = "0302-9743 (print), 1611-3349 (electronic)", ISSN-L = "0302-9743", LCCN = "QA75.5-76.95", bibdate = "Mon Sep 7 07:18:27 MDT 2020", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, abstract = "This book constitutes the refereed proceedings of the 7th International Conference on Language and Automata Theory and Applications, LATA 2013, held in Bilbao, Spain in April 2013. The 45 revised full papers presented together with 5 invited talks were carefully reviewed and selected from 97 initial submissions. The volume features contributions from both classical theory fields and application areas (bioinformatics, systems biology, language technology, artificial intelligence, etc.). Among the topics covered are algebraic language theory; algorithms for semi-structured data mining; algorithms on automata and words; automata and logic; automata for system analysis and program verification; automata, concurrency and Petri nets; automatic structures; cellular automata; combinatorics on words; computability; computational complexity; computational linguistics; data and image compression; decidability questions on words and languages; descriptional complexity; DNA and other models of bio-inspired computing; document engineering; foundations of finite state technology; foundations of XML; fuzzy and rough languages; grammars (Chomsky hierarchy, contextual, multidimensional, unification, categorial, etc.); grammars and automata architectures; grammatical inference and algorithmic learning; graphs and graph transformation; language varieties and semigroups; language-based cryptography; language-theoretic foundations of artificial intelligence and artificial life; parallel and regulated rewriting; parsing; pattern recognition; patterns and codes; power series; quantum, chemical and optical computing; semantics; string and combinatorial issues in computational biology and bioinformatics; string processing algorithms; symbolic dynamics; symbolic neural networks; term rewriting; transducers; trees, tree languages and tree automata; weighted automata.", acknowledgement = ack-nhfb, subject = "Computer science; Computer software; Logic design; Artificial intelligence; Social sciences; Data processing; Computation by Abstract Devices; Mathematical Logic and Formal Languages; Algorithm Analysis and Problem Complexity; Artificial Intelligence (incl. Robotics); Logics and Meanings of Programs; Computer Appl. in Social and Behavioral Sciences; Artificial intelligence.; Computer science.; Computer software.; Logic design.; Data processing.", tableofcontents = "Invited Talks. \\ Complexity Dichotomy for Counting Problems / Jin-Yi Cai \\ Algorithms for Analyzing and Verifying Infinite-State Recursive Probabilistic Systems / Kousha Etessami \\ Recursion Schemes, Collapsible Pushdown Automata and Higher-Order Model Checking / Luke Ong \\ Discrete Linear Dynamical Systems / Jo{\"e}l Ouaknine \\ XML Schema Management: A Challenge for Automata Theory / Thomas Schwentick \\ Regular Papers. \\ On the Complexity of Shortest Path Problems on Discounted Cost Graphs / Rajeev Alur \ldots{} [et al.] \\ Termination of Rule-Based Calculi for Uniform Semi-Unification / Takahito Aoto, Munehiro Iwami \\ Deciding WQO for Factorial Languages / Aistis Atminas, Vadim Lozin, Mikhail Moshkov \\ On the Construction of a Family of Automata That Are Generically Non-minimal / Parisa Babaali, Christopher Knaplund \\ Limited Non-determinism Hierarchy of Counter Automata / Sebastian Bala, Dariusz Jackowski \\ Unambiguous Automata Denoting Finitely Sequential Functions / Sebastian Bala, Artur Koni{\'n}ski \\ Duplication-Loss Genome Alignment: Complexity and Algorithm / Billel Benzaid, Riccardo Dondi, Nadia El-Mabrouk \\ Maximizing Entropy over Markov Processes / Fabrizio Biondi \ldots{} [et al.] \\ MAT Learning of Universal Automata / Johanna Bj{\"o}rklund, Henning Fernau, Anna Kasprzik \\ A Graph Polynomial Approach to Primitivity / Francine Blanchet-Sadri \ldots{} [et al.] \\ Suffix Trees for Partial Words and the Longest Common Compatible Prefix Problem / Francine Blanchet-Sadri, Justin Lazarow \\ Dynamic Communicating Automata and Branching High-Level MSCs / Benedikt Bollig \ldots{} [et al.] \\ Visibly Pushdown Automata: Universality and Inclusion via Antichains / V{\'e}ronique Bruy{\`e}re, Marc Ducobu, Olivier Gauwin \\ Two-Sided Derivatives for Regular Expressions and for Hairpin Expressions / Jean-Marc Champarnaud \ldots{} [et al.] \\ How to Travel between Languages / Krishnendu Chatterjee, Siddhesh Chaubal, Sasha Rubin \\ Execution Information Rate for Some Classes of Automata / Cewei Cui \ldots{} [et al.]", } @Proceedings{Hull:2013:SPC, editor = "Richard Hull and Wenfei Fan", booktitle = "{SIGMOD/PODS'13: compilation proceedings of the 2013 ACM Symposium on Principles of Database Systems, ACM SIGMOD international conference on management of data, and SIGMOD/PODS 2013 PhD symposium: June 22--27, 2013, New York, New York, USA}", title = "{SIGMOD/PODS'13: compilation proceedings of the 2013 ACM Symposium on Principles of Database Systems, ACM SIGMOD international conference on management of data, and SIGMOD/PODS 2013 PhD symposium: June 22--27, 2013, New York, New York, USA}", publisher = pub-ACM, address = pub-ACM:adr, pages = "????", year = "2013", ISBN = "1-4503-2066-X, 1-4503-2037-6", ISBN-13 = "978-1-4503-2066-5, 978-1-4503-2037-5", LCCN = "????", bibdate = "Wed Mar 5 07:48:23 MST 2014", bibsource = "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/hash.bib; https://www.math.utah.edu/pub/tex/bib/pods.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", URL = "http://dl.acm.org/citation.cfm?id=2463664; http://www.sigmod.org/2013/", acknowledgement = ack-nhfb, } @Proceedings{Kroening:2015:CAV, editor = "Daniel Kroening and Corina S. P{\u{a}}s{\u{a}}reanu", booktitle = "{Computer Aided Verification: 27th International Conference, CAV 2015, San Francisco, CA, USA, July 18--24, 2015, Proceedings, Part I}", title = "{Computer Aided Verification: 27th International Conference, CAV 2015, San Francisco, CA, USA, July 18--24, 2015, Proceedings, Part I}", volume = "9206", publisher = pub-SV, address = pub-SV:adr, bookpages = "xxiii + 677 + 141", pages = "xxiii + 677 + 141", year = "2015", DOI = "https://doi.org/10.1007/978-3-319-21690-4", ISBN = "3-319-21689-9", ISBN-13 = "978-3-319-21689-8", bibdate = "Sat Jan 9 11:36:57 2016", bibsource = "https://www.math.utah.edu/pub/tex/bib/java2010.bib; https://www.math.utah.edu/pub/tex/bib/lncs.bib; https://www.math.utah.edu/pub/tex/bib/string-matching.bib", series = ser-LNCS, URL = "http://link.springer.com/book/10.1007/978-3-319-21690-4", acknowledgement = ack-nhfb, }