Mary F. Fernández

dblp:f/MaryFFernandez · also Mary F. Fernandez · DBLP profile ↗
← Back
37ranked-venue papers
21as first author
0since 2021 · last 2012
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Databases, data management, data science and information retrieval · 23 · 13 first-authorSoftware engineering, systems software and programming languages · 7 · 5 first-authorArtificial intelligence and machine learning · 3 · 2 first-authorSystems, architecture and hardware · 2Computer networks · 2 · 1 first-authorTheory of computation · 2 · 1 first-authorGraphics, computer vision, multimedia, augmented reality and games · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Databases, data mining, and information retrieval
19 papers
Query processing and optimization · 35% Data models and query languages · 33% Information retrieval · 8%
Software engineering, system software, and programming languages
5 papers
Programming languages and type systems · 43% Services computing and microservices · 27% Compilers and program optimization · 20%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Cloud and datacenter computing · 100%

Topics — the 30 heaviest of 47, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Query processing and optimization
query optimization
0.242007
XQuery Streaming à la Carte · ICDE 2007
A Complete and Efficient Algebraic Compiler for XQuery · ICDE 2006
SilkRoute: A framework for publishing relational data in XML · ACM Trans. Database Syst. 2002
Data models and query languages › XML query languages
XQuery
0.242007
Highly distributed XQuery with DXQ · SIGMOD Conference 2007
Yoo-Hoo! Building a Presence Service with XQuery and WSDL · SIGMOD Conference 2004
Techniques for Storing XM · ICDE 2002
Cloud and datacenter computing › resource management
cloud resource management
0.112012
TROPIC: Transactional Resource Orchestration Platform in the Cloud · USENIX ATC 2012
Query processing and optimization
XML query processing
0.132007
XQuery Streaming à la Carte · ICDE 2007
SilkRoute: A framework for publishing relational data in XML · ACM Trans. Database Syst. 2002
PADS: an end-to-end system for processing ad hoc data · SIGMOD Conference 2006
Information retrieval › document retrieval › structured document retrieval
XML search
0.122003
Phrase Matching in XML · VLDB 2003
PIX: A System for Phrase Matching in XML Documents · ICDE 2003
Distributed and cloud data management
distributed query processing
0.112007
Highly distributed XQuery with DXQ · SIGMOD Conference 2007
Data stream processing
XML stream processing
0.112007
XQuery Streaming à la Carte · ICDE 2007
Programming languages and type systems › domain-specific languages
data description languages
0.112007
PADS/ML: a functional data description language · POPL 2007
Programming languages and type systems
functional programming
0.112007
PADS/ML: a functional data description language · POPL 2007
Data integration and cleaning
ad hoc data processing
0.112006
PADS: an end-to-end system for processing ad hoc data · SIGMOD Conference 2006
Data models and query languages
data description language
0.112006
PADS: an end-to-end system for processing ad hoc data · SIGMOD Conference 2006
Query processing and optimization
join processing
0.112006
A Complete and Efficient Algebraic Compiler for XQuery · ICDE 2006
Query processing and optimization
query compilation
0.112006
A Complete and Efficient Algebraic Compiler for XQuery · ICDE 2006
Query processing and optimization › query optimization › nested query optimization
query unnesting
0.112006
A Complete and Efficient Algebraic Compiler for XQuery · ICDE 2006
Data models and query languages
XML
0.032003
Storing Semistructured Data with STORED · SIGMOD Conference 1999
Phrase Matching in XML · VLDB 2003
PIX: Exact and Approximate Phrase Matching in XML · SIGMOD Conference 2003
Services computing and microservices › service composition
web service composition
0.012004
Yoo-Hoo! Building a Presence Service with XQuery and WSDL · SIGMOD Conference 2004
Services computing and microservices › web service interfaces
WSDL
0.012004
Yoo-Hoo! Building a Presence Service with XQuery and WSDL · SIGMOD Conference 2004
Cloud and datacenter computing
resource allocation
0.012012
TROPIC: Transactional Resource Orchestration Platform in the Cloud · USENIX ATC 2012
Data models and query languages › semistructured data
semi-structured data model
0.021998
Catching the Boat with Strudel: Experiences with a Web-Site Management System · SIGMOD Conference 1998
STRUDEL: A Web-site Management System · SIGMOD Conference 1997
Indexing and storage engines › XML storage
relational XML storage
0.012002
Techniques for Storing XM · ICDE 2002
Data models and query languages › XML data management
XML data model
0.012002
Techniques for Storing XM · ICDE 2002
Indexing and storage engines
XML storage
0.012002
Techniques for Storing XM · ICDE 2002
Compilers and program optimization
instruction encoding and decoding
0.021997
Specifying Representations of Machine Instructions · ACM Trans. Program. Lang. Syst. 1997
Automatic Checking of Instruction Specifications · ICSE 1997
Data integration and cleaning
middleware query processing
0.012001
Efficient Evaluation of XML Middle-ware Queries · SIGMOD Conference 2001
Data models and query languages
query algebra
0.012000
UnQL: A Query Language and Algebra for Semistructured Data Based on Structural Recursion · VLDB J. 2000
Data models and query languages › query language
semistructured query language
0.012000
UnQL: A Query Language and Algebra for Semistructured Data Based on Structural Recursion · VLDB J. 2000
Database theory › integrity constraints
integrity constraint checking
0.011999
Verifying Integrity Constraints on Web Sites · IJCAI 1999
Data models and query languages
semistructured data
0.011999
Storing Semistructured Data with STORED · SIGMOD Conference 1999
Query processing and optimization › query optimization
query pruning
0.011998
Optimizing Regular Path Expressions Using Graph Schemas · ICDE 1998
Query processing and optimization
query rewriting
0.011998
Optimizing Regular Path Expressions Using Graph Schemas · ICDE 1998

Methods — techniques the papers use, named apart from their topics

transaction processing · 0.1resource scheduling · 0.1XQuery · 0.1WSDL · 0.1type inference · 0.1static analysis · 0.1remote invocation · 0.1marked XML streams · 0.1code shipping · 0.1ranking function · 0.0inverted index · 0.0approximate matching · 0.0site-definition query · 0.0relational schema mapping · 0.0normal form · 0.0consistency checking · 0.0automated theorem proving · 0.0SLED specification · 0.0
YearPublicationVenuePosition
2012 TROPIC: Transactional Resource Orchestration Platform in the Cloud
Changbin Liu, Yun Mao, Xu Chen 0028, Mary F. Fernández, Boon Thau Loo, Jacobus E. van der Merwe
USENIX ATC4
2011 Cloud Resource Orchestration: A Data-Centric Approach
Yun Mao, Changbin Liu, Jacobus E. van der Merwe, Mary F. Fernández
CIDR4
2008 A Generic Programming Toolkit for PADS/ML: First-Class Upgrades for Third-Party Developers
Mary F. Fernández, Kathleen Fisher, Nate Foster, Michael Greenberg 0002, Yitzhak Mandelbaum
PADL1
2007 XQuery Streaming à la Carte
abstract
Existing work on XML query evaluation has either focused on algebraic optimization techniques suitable for XML databases, or on algorithms to efficiently process XML messages represented as a stream of parsing events. In practice, complex applications often must handle both. In this paper, we develop a physical algebra that combines streaming operators with other standard relational and XML operators. Our physical model includes marked XML streams, which permit efficient XPath evaluation, but can only be consumed once. This constraint restricts the use of streaming operators to fragments of a query plan that only access data using depth-first traversal. We develop static analysis techniques to decide which fragment of a plan can be streamed. Our experiments demonstrate the benefits of blending streaming with other evaluation techniques.
Mary F. Fernández, Philippe Michiels, Jérôme Siméon, Michael Stark 0003
ICDE1
2007 PADS/ML: a functional data description language
Yitzhak Mandelbaum, Kathleen Fisher, David Walker 0001, Mary F. Fernández, Artem Gleyzer
POPL4
2007 Highly distributed XQuery with DXQ
abstract
Many modern applications, from Grid computing to RSS handling, need to support data processing in a distributed environment. Currently, most such applications are implemented using a general purpose programming language, which can be expensive to maintain, hard to configure and modify, and require hand optimization of the distributed data processing operations. We present Distributed XQuery (DXQ), a simple, yet powerful, extension of XQuery to support distributed applications. This extension includes the ability to deploy networks of XQuery servers, to remotely invoke XQuery programs on those servers, and to ship code between servers. Our demonstration presents two applications implemented in DXQ: the resolution algorithm of DNS, the Domain Name System, and the Narada overlay-network protocol. We show that our system can flexibly accommodate different patterns of distributed computation and present some simple but essential distributed optimizations.
Mary F. Fernández, Trevor Jim, Kristi Morton, Nicola Onose, Jérôme Siméon
SIGMOD Conference1
2006 A Complete and Efficient Algebraic Compiler for XQuery
abstract
As XQuery nears standardization, more sophisticated XQuery applications are emerging, which often exploit the entire language and are applied to non-trivial XML sources. We propose an algebra and optimization techniques that are suitable for building an XQuery compiler that is complete, correct, and efficient. We describe the compilation rules for the complete language into that algebra and present novel optimization techniques that address the needs of complex queries. These techniques include new query unnesting rewritings and specialized join algorithms that account for XQuery’s complex predicate semantics. The algebra and optimizations are implemented in the Galax XQuery engine, and yield execution plans that are up to three orders of magnitude faster than earlier versions of Galax.
Christopher Ré, Jérôme Siméon, Mary F. Fernández
ICDE3
2006 PADS: an end-to-end system for processing ad hoc data
abstract
Enormous amounts of data exist in "well-behaved" formats such as relational tables and XML, which come equipped with extensive tool support. However, vast amounts of data also exist in non-standard or ad hoc data formats, which often lack standard or extensible tools. This deficiency forces data analysts to implement their own tools for parsing, querying, and analyzing their ad hoc data. The resulting tools typically interleave parsing, querying, and analysis, obscuring the semantics of the data format and making it nearly impossible for others to resuse the tools. This proposal describes PADS, an end-to-end system for processing ad hoc data sources. The core of PADS is a declarative language for describing ad hoc data sources and a data-description compiler that produces customizable libraries for parsing the ad hoc data. A suite of tools built around this core includes statistical data-profiling tools, a query engine that permits viewing ad hoc sources as XML and for querying them with XQuery, and an interactive front-end that helps users produce PADS descriptions quickly.
Mark Daly, Yitzhak Mandelbaum, David Walker 0001, Mary F. Fernández, Kathleen Fisher, Robert Gruber
SIGMOD Conference4
2005 Optimizing Sorting and Duplicate Elimination in XQuery Path Expressions
Mary F. Fernández, Jan Hidders, Philippe Michiels, Jérôme Siméon, Roel Vercammen
DEXA1
2004 Yoo-Hoo! Building a Presence Service with XQuery and WSDL
abstract
No abstract available.
Mary F. Fernández, Nicola Onose, Jérôme Siméon
SIGMOD Conference1
2003 Growing XQuery
Mary F. Fernández, Jérôme Siméon
ECOOP1
2003 PIX: A System for Phrase Matching in XML Documents
abstract
We present a system that enables flexible and efficient phrase matching in XML documents. Since XML allows structured and unstructured information to be interleaved, phrase matching in XML raises new challenges. Our system, named PIX, permits phrase matching in XML documents that contain "mixed content". A key feature of PIX is that users can specify which element and content to ignore when matching a phrase. PIX uses inverted indices and an efficient evaluation algorithm to compute the set of matches and returns answers where phrases, ignored tags and content are highlighted. In addition, query answers are sorted using a ranking function. PIX is implemented as an extension of GALAX, a full-fledged XQuery engine. The functionality of PIX is fully integrated into XQuery and permits a natural combination of XPath-based structure matching with phrase matching.
Sihem Amer-Yahia, Mary F. Fernández, Divesh Srivastava
ICDE2
2003 PIX: Exact and Approximate Phrase Matching in XML
abstract
No abstract available.
Sihem Amer-Yahia, Mary F. Fernández, Divesh Srivastava
SIGMOD Conference2
2003 Phrase Matching in XML
Sihem Amer-Yahia, Mary F. Fernández, Divesh Srivastava
VLDB2
2003 Implementing Xquery 1.0: The Galax Experience
Mary F. Fernández, Jérôme Siméon, Byron Choi, Amélie Marian, Gargi Sur
VLDB1
2002 Logical and physical support for heterogeneous data
abstract
Heterogeneity arises naturally in virtually all real-world data. This paper presents evolutionary extensions to a relational database system for supporting three classes of data heterogeneity: variational, structural and annotational heterogeneities. We define these classes and show the impact of these new features on data storage, data-access mechanisms, and the data-description language. Since XML is an important source of heterogeneity, we describe how the system automatically utilizes these new features when storing XML documents.
Sihem Amer-Yahia, Mary F. Fernández, Rick Greer, Divesh Srivastava
CIKM2
2002 Techniques for Storing XM
abstract
XML is the de facto standard for data exchange between applications on the Web. Applications, such as electronic markets, will produce and consume large volumes of data and therefore will require efficient and reliable storage and retrieval of XML data. Many techniques for XML storage have been proposed, including flat files, relational database management systems, object-oriented database systems, LDAP directories, and native XML database systems. To better understand the requirements of XML storage systems, we first review various classes of XML documents including highly structured data as stored in relational databases, mixed content from document-processing applications, and streams-oriented data from ecommerce and transactional applications. We also consider the types of queries typically applied to these classes of documents. In the second part, we present features of the XQuery and XPath data model that must be supported by an XML storage system and then we describe in detail a variety of storage alternatives from industry and research. We focus on techniques that use relational storage. Typically, these techniques produce a logical relational schema for the XML data and treat the storage system as an black box. In the last part of the tutorial, we consider new techniques that open the storage system's black box so that we can take advantage of physical-layout features.
Mary F. Fernández, Sihem Amer-Yahia
ICDE1
2002 SilkRoute: A framework for publishing relational data in XML
abstract
XML is the "lingua franca" for data exchange between interenterprise applications. In this work, we describe SilkRoute, a framework for publishing relational data in XML. In SilkRoute, relational data is published in three steps: the relational tables are presented to the database administrator in a canonical XML view; the database administrator defines in the XQuery query language a public, virtual XML view over the canonical XML view; and an application formulates an XQuery query over the public view. SilkRoute composes the application query with the public-view query, translates the result into SQL, executes this on the relational engine, and assembles the resulting tuple streams into an XML document. This work makes some key contributions to XML query processing. First, it describes an algorithm that translates an XQuery expression into SQL. The translation depends on a query representation that separates the structure of the output XML document from the computation that produces the document's content. The second contribution addresses the optimization problem of how to decompose an XML view over a relational database into an optimal set of SQL queries. We define formally the optimization problem, describe the search space, and propose a greedy, cost-based optimization algorithm, which obtains its cost estimates from the relational engine. Experiments confirm that the algorithm produces queries that are nearly optimal.
Mary F. Fernández, Yana Kadiyska, Dan Suciu, Atsuyuki Morishima, Wang Chiew Tan
ACM Trans. Database Syst.1
2001 A Semi-monad for Semi-structured Data
Mary F. Fernández, Jérôme Siméon, Philip Wadler
ICDT1
2001 Efficient Evaluation of XML Middle-ware Queries
abstract
We address the problem of efficiently constructing materialized XML views of relational databases. In our setting, the XML view is specified by a query in the declarative query language of a middle-ware system, called SilkRoute. The middle-ware system evaluates a query by sending one or more SQL queries to the target relational database, integrating the resulting tuple streams, and adding the XML tags. We focus on how to best choose the SQL queries, without having control over the target RDBMS.
Mary F. Fernández, Atsuyuki Morishima, Dan Suciu
SIGMOD Conference1
2000 An Algebra for XML Query
Mary F. Fernández, Jérôme Siméon, Philip Wadler
FSTTCS1
2000 SilkRoute: trading between relations and XML
Mary F. Fernández, Wang Chiew Tan, Dan Suciu
Comput. Networks1
2000 UnQL: A Query Language and Algebra for Semistructured Data Based on Structural Recursion
Peter Buneman, Mary F. Fernández, Dan Suciu
VLDB J.2
2000 Declarative Specification of Web Sites with Strudel
Mary F. Fernández, Daniela Florescu, Alon Y. Halevy, Dan Suciu
VLDB J.1
1999 Verifying Integrity Constraints on Web Sites
Mary F. Fernández, Daniela Florescu, Alon Y. Halevy, Dan Suciu
IJCAI1
1999 Storing Semistructured Data with STORED
abstract
Systems for managing and querying semistructured-data sources often store data in proprietary object repositories or in a tagged-text format. We describe a technique that can use relational database management systems to store and manage semistructured data. Our technique relies on a mapping between the semistructured data model and the relational data model, expressed in a query language called STORED. When a semistructured data instance is given, a STORED mapping can be generated automatically using data-mining techniques. We are interested in applying STORED to XML data, which is an instance of semistructured data. We show how a document-type-descriptor (DTD), when present, can be exploited to further improve performance.
Alin Deutsch, Mary F. Fernández, Dan Suciu
SIGMOD Conference2
1999 A Query Language for XML
abstract
An important application of XML is the interchange of electronic data (EDI) between multiple data sources on the Web. As XML data proliferates on the Web, applications will need to integrate and aggregate data from multiple source and clean and transform data to facilitate exchange. Data extraction, conversion, transformation, and integration are all well-understood database problems, and their solutions rely on a query language. We present a query language for XML, called XML-QL, which we argue is suitable for performing the above tasks. XML-QL is a declarative, `relational complete' query language and is simple enough that it can be optimized. XML-QL can extract data from existing XML documents and construct new XML documents.
Alin Deutsch, Mary F. Fernández, Daniela Florescu, Alon Y. Halevy, Dan Suciu
Comput. Networks2
1998 Optimizing Regular Path Expressions Using Graph Schemas
abstract
Query languages for data with irregular structure use regular path expressions for navigation. This feature is useful for querying data where parts of the structure is either unknown, unavailable to the user, or changes frequently. Naive execution of regular path expressions is inefficient however, because it ignores any structure in the data. We describe two optimization techniques for queries with regular path expressions. Both rely on graph schemas for specifying partial knowledge about the data's structure. Query pruning uses this structure to restrict navigation to only a fragment of the data; we give an efficient algorithm for rewriting any regular path expression query into a pruned one. Query rewriting using state extents can eliminate or reduce navigation altogether; it is reminiscent of optimizing relational queries using indices. There may be several ways to optimize a query using state extents; we give a polynomial space algorithm that finds all such optimizations. For restricted forms of regular path expressions, the algorithm is provably efficient. We also give an efficient approximation algorithm that works on all regular path expressions.
Mary F. Fernández, Dan Suciu
ICDE1
1998 Catching the Boat with Strudel: Experiences with a Web-Site Management System
abstract
The Strudel system applies concepts from database management systems to the process of building Web sites. Strudel's key idea is separating the management of the site's data, the creation and management of the site's structure, and the visual presentation of the site's pages. First, the site builder creates a uniform model of all data available at the site. Second, the builder uses this model to declaratively define the Web site's structure by applying a “site-definition query” to the underlying data. The result of evaluating this query is a “site graph”, which represents both the site's content and structure. Third, the builder specifies the visual presentation of pages in Strudel's HTML-template language. The data model underlying Strudel is a semi-structured model of labeled directed graphs.
Mary F. Fernández, Daniela Florescu, Jaewoo Kang, Alon Y. Halevy, Dan Suciu
SIGMOD Conference1
1997 Adding Structure to Unstructured Data
Peter Buneman, Susan B. Davidson, Mary F. Fernández, Dan Suciu
ICDT3
1997 Automatic Checking of Instruction Specifications
abstract
Retargeting applications that process machine code is a tedious and error-prone task.We help automate retargeting by describing instruction sets in a high-level specification language and by generating automatically the code for encoding and decoding instructions.Moreover, we provide automated assistance for checking machine descriptions.We check a specification for consistency both internally and externally.Internal checking forbids impossible instruction specifications, e.g., those that specify two values for a single bit.Internal checking warns about implausible specifications, e.g., those that don't specify values for all bits.Internal checks catch many mistakes, but they cannot guarantee that a specification accurately describes a target machine.Externally, we check a specification for consistency with an independent assembler.This technique increases a user's confidence in a specification's correctness and permits debugging in isolation of the target application.External validation is effective: it identified errors in specifications of the Intel Pentium, the MIPS, and the SPARC, after code generated from the latter two had been used in applications for over a year.
Mary F. Fernández, Norman Ramsey
ICSE1
1997 STRUDEL: A Web-site Management System
abstract
article STRUDEL: a Web site management system Share on Authors: Mary Fernandez AT&T Labs, 600 Mountain Ave., Murray Hill, NJ AT&T Labs, 600 Mountain Ave., Murray Hill, NJView Profile , Daniela Florescu AT&T Labs, 600 Mountain Ave., Murray Hill, NJ AT&T Labs, 600 Mountain Ave., Murray Hill, NJView Profile , Jaewoo Kang AT&T Labs, 600 Mountain Ave., Murray Hill, NJ AT&T Labs, 600 Mountain Ave., Murray Hill, NJView Profile , Alon Levy AT&T Labs, 600 Mountain Ave., Murray Hill, NJ AT&T Labs, 600 Mountain Ave., Murray Hill, NJView Profile , Dan Suciu AT&T Labs, 600 Mountain Ave., Murray Hill, NJ AT&T Labs, 600 Mountain Ave., Murray Hill, NJView Profile Authors Info & Claims ACM SIGMOD RecordVolume 26Issue 2June 1997 pp 549–552https://doi.org/10.1145/253262.253403Online:01 June 1997Publication History 84citation759DownloadsMetricsTotal Citations84Total Downloads759Last 12 Months11Last 6 weeks1 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access
Mary F. Fernández, Daniela Florescu, Jaewoo Kang, Alon Y. Halevy, Dan Suciu
SIGMOD Conference1
1997 Specifying Representations of Machine Instructions
abstract
We present SLED, a specification language for Encoding and Decoding, which describes, abstract, binary, and assembly-language representations of machine instructions. Guided by a SLED specification, the New Jersey Machine-Code Toolkit generates bit-manipulating code for use in applications that process machine code. Programmers can write such applications at an assembly language level of abstraction, and the toolkit enables the applications to recognize and emit the binary representations used by the hardware. SLED is suitable for describing both CISC and RISC machines; we have specified representations of MIPS R3000, SPARC, Alpha, and Intel Pentium instructions, and toolkit users have written specifications for the Power PC and Motorola 68000. The article includes representative excerpts from our SPARC and Pentium specifications. SLED uses four elements; fields and tokens describe parts of instructions; patterns describe binary representations of instructions or group of instructions; and constructors map between the abstract and binary levels. By combining the elements in different ways, SLED supports machine-independent implementations of machine-level concepts like conditional assembly, span-dependent instructions, relocatable addresses, object code, sections, and relocation. SLED specifications can be checked automatically for consistency with existing assemblers. The implementation of the toolkit is largely determined by our representations of patterns and constructors. We use a normal form that facilitates construction of encoders and decoders. The article describes the normal form and its use. The toolkit has been used to help build several applications. We have built a retargetable debugger and a retargetable, optimizing linker. Colleagues have built a dynamic code generator, a decompiler, and an execution-time analyzer. The toolkit generates efficient code; for example, the linker emits binary up to 15% faster than it emits assembly language, making it 1.7-2 times faster to produce an a.out directly than by using the assembler.
Norman Ramsey, Mary F. Fernández
ACM Trans. Program. Lang. Syst.2
1995 Simple and Effective Link-Time Optimization of Modula-3 Programs
abstract
Modula-3 supports development of modular programs by separating an object's interface from its implementation. This separation induces a runtime overhead in the implementation of objects, because it prevents the compiler from having complete information about a program's type hierarchy. This overhead can be reduced at link time, when the entire type hierarchy becomes available. We describe opportunities for link-time optimization of Modula-3, present two link-time optimizations that reduce the runtime costs of Modula-3's opaque types and methods, and show how link-time optimization could provide C++ which the benefits of opaques types at no additional runtime cost.
Mary F. Fernández
PLDI1
1995 The New Jersey Machine-Code Toolkit
Norman Ramsey, Mary F. Fernández
USENIX2
1993 Template-driven interfaces for numerical subroutines
abstract
This paper describes a set of interfaces for numerical subroutines. Typing a short (often one-line) description allows one to solve problems in application domains including least-squares data fitting, differential equations, minimization, root finding, and integration. Our approach of “template-driven programming” makes it easy to build such an interface: a simple one takes a few hours to construct, while a few days suffice to build the most complex program we describe.
Jon Louis Bentley, Mary F. Fernández, Brian W. Kernighan, Norman L. Schryer
ACM Trans. Math. Softw.2
1992 Garbage Collection Alternatives for Icon
abstract
Abstract Copying garbage collectors are becoming the collectors of choice for very high‐level languages and for functional and object‐oriented languages. Copying collectors are particularly efficient for large storage regions because their execution time is proportional only to the amount of accessible data, and they identify and compact this data in one pass. In contrast, mark‐and‐sweep collectors execute in time proportional to the memory size and compacting collectors require another pass to compact accessible data. The performance of existing systems with old compacting mark‐and‐sweep collectors might be improved by replacing their collectors with copying collectors. This paper explores this possibility by describing the results of replacing the compacting mark‐and‐sweep collector in the Icon programming language with four alternative collectors, three of which are copying collectors. Copying collectors do indeed run faster than the original collector, but at a significant cost in space. An improved variant of the compacting mark‐and‐sweep collector ran even faster and used little additional space.
Mary F. Fernández, David R. Hanson
Softw. Pract. Exp.1