VLDB 2026 Research / reviewers in the wild / expert
Eric Wohlstadter
dblp:w/EricWohlstadter
· DBLP profile ↗
15ranked-venue papers
6as first author
0since 2021 · last 2015
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 11 · 6 first-authorDatabases, data management, data science and information retrieval · 4Applied, interdisciplinary, general and emerging computing · 2Artificial intelligence and machine learning · 1
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.
| Software engineering, system software, and programming languages
8 papers |
Services computing and microservices · 19% Operating systems · 17% Software testing · 14% | |
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
Cloud and datacenter computing · 100% |
Topics — the 13 heaviest of 18, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis › symbolic execution
dynamic symbolic execution |
0.2 | 1 | 2015 | Generating Fixtures for JavaScript Unit Testing (T) · ASE 2015 |
Software testing
unit testing |
0.2 | 1 | 2015 | Generating Fixtures for JavaScript Unit Testing (T) · ASE 2015 |
Services computing and microservices
middleware |
0.1 | 3 | 2004 | GlueQoS: Middleware to Sweeten Quality-of-Service Policy Interactions · ICSE 2004 Design and Implementation of Distributed Crosscutting Features with DADO · ICSE 2004 DADO: Enhancing Middleware to Support Crosscutting Features in Distributed, Heterogeneous Systems · ICSE 2003 |
Programming languages and type systems › dynamic languages
javascript |
0.1 | 1 | 2010 | Automated object persistence for JavaScript · WWW 2010 |
Operating systems › persistence
object persistence |
0.1 | 1 | 2010 | Automated object persistence for JavaScript · WWW 2010 |
Software maintenance and evolution › software modularization
crosscutting concern modularization |
0.1 | 2 | 2004 | Design and Implementation of Distributed Crosscutting Features with DADO · ICSE 2004 DADO: Enhancing Middleware to Support Crosscutting Features in Distributed, Heterogeneous Systems · ICSE 2003 |
Services computing and microservices › middleware
distributed middleware |
0.1 | 2 | 2004 | Design and Implementation of Distributed Crosscutting Features with DADO · ICSE 2004 DADO: Enhancing Middleware to Support Crosscutting Features in Distributed, Heterogeneous Systems · ICSE 2003 |
Runtime systems and virtual machines › dynamic language implementation
javascript runtime |
0.0 | 1 | 2013 | Imagen: runtime migration of browser sessions for javascript web applications · WWW 2013 |
Requirements engineering and software design › software architecture
component-based software engineering |
0.0 | 1 | 2004 | GlueQoS: Middleware to Sweeten Quality-of-Service Policy Interactions · ICSE 2004 |
Services computing and microservices
quality-of-service management |
0.0 | 1 | 2004 | GlueQoS: Middleware to Sweeten Quality-of-Service Policy Interactions · ICSE 2004 |
Services computing and microservices
service-oriented architecture |
0.0 | 1 | 2001 | Generating Wrappers for Command Line Programs: The Cal-Aggie Wrap-O-Matic Project · ICSE 2001 |
Software maintenance and evolution › software reengineering
software modernization |
0.0 | 1 | 2001 | Generating Wrappers for Command Line Programs: The Cal-Aggie Wrap-O-Matic Project · ICSE 2001 |
Compilers and program optimization
program transformation |
0.0 | 1 | 2008 | Dynamic round-trip GUI maintenance · ICSE 2008 |
Methods — techniques the papers use, named apart from their topics
dynamic symbolic execution · 0.2benchmark · 0.2snapshotting · 0.2javascript · 0.2static checking · 0.1dynamic analysis · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2015 | Generating Fixtures for JavaScript Unit Testing (T)abstractIn today's web applications, JavaScript code interacts with the Document Object Model (DOM) at runtime. This runtime interaction between JavaScript and the DOM is error-prone and challenging to test. In order to unit test a JavaScript function that has read/write DOM operations, a DOM instance has to be provided as a test fixture. This DOM fixture needs to be in the exact structure expected by the function under test. Otherwise, the test case can terminate prematurely due to a null exception. Generating these fixtures is challenging due to the dynamic nature of JavaScript and the hierarchical structure of the DOM. We present an automated technique, based on dynamic symbolic execution, which generates test fixtures for unit testing JavaScript functions. Our approach is implemented in a tool called ConFix. Our empirical evaluation shows that ConFix can effectively generate tests that cover DOM-dependent paths. We also find that ConFix yields considerably higher coverage compared to an existing JavaScript input generation technique. Amin Milani Fard, Ali Mesbah 0001, Eric Wohlstadter |
ASE | 3 |
| 2013 | Cross-Tier Application and Data Partitioning of Web Applications for Hybrid Cloud Deployment
Nima Kaviani, Eric Wohlstadter, Rodger Lea |
Middleware | 2 |
| 2013 | Imagen: runtime migration of browser sessions for javascript web applicationsabstractDue to the increasing complexity of web applications and emerging HTML5 standards, a large amount of runtime state is created and managed in the user's browser. While such complexity is desirable for user experience, it makes it hard for developers to implement mechanisms that provide users ubiquitous access to the data they create during application use. This paper presents our research into browser session migration for JavaScript-based web applications. Session migration is the act of transferring a session between browsers at runtime. Without burden to developers, our system allows users to create a snapshot image that captures all runtime state needed to resume the session elsewhere. Our system works completely in the JavaScript layer and thus snapshots can be transfered between different browser vendors and hardware devices. We report on performance metrics of the system using five applications, four different browsers, and three different devices. James Teng Kin Lo, Eric Wohlstadter, Ali Mesbah 0001 |
WWW | 2 |
| 2012 | MANTICORE: A framework for partitioning software services for hybrid cloudabstractHybrid cloud deployment can be an attractive option for companies wanting to deploy software services on scalable public clouds, while still assuming local control over sensitive data resources. A hybrid deployment, despite providing better control, is difficult to design since code must be partitioned and distributed efficiently between public and private premises. This paper describes our research into automated partitioning of software services for hybrid clouds. We have identified two specific shortfalls of existing partitioning research which are important to a hybrid cloud setting: (i) inflexibility in placement of software function execution between public/private hosts and (ii) no support for making explicit tradeoffs between monetary cost and performance. We propose a new software profiling and partitioning framework (called MANTICORE) which addresses these problems. Experiments on an open-source Web application show that the new approach ensures better performance without increasing costs. Nima Kaviani, Eric Wohlstadter, Rodger Lea |
CloudCom | 2 |
| 2011 | Profiling-as-a-Service: Adaptive Scalable Resource Profiling for the Cloud in the Cloud
Nima Kaviani, Eric Wohlstadter, Rodger Lea |
ICSOC | 2 |
| 2010 | Automated object persistence for JavaScriptabstractTraditionally web applications have required an internet con-nection in order to work with data. Browsers have lacked any mechanisms to allow web applications to operate offline with a set of data to provide constant access to applica-tions. Recently, through browser plug-ins such as Google Gears, browsers have gained the ability to persist data for offline use. However, until now it’s been difficult for a web developer using these plug-ins to manage persisting data both locally for offline use and in the internet cloud due to: synchronization requirements, managing throughput and la-tency to the cloud, and making it work within the confines of a standards-compliant web browser. Historically in non-browser environments, programming language environments have offered automated object persistence to shield the de-veloper from these complexities. In our research we have cre-ated a framework which introduces automated persistence of data objects for JavaScript utilizing the internet. Un-like traditional object persistence solutions, ours relies only on existing or forthcoming internet standards and does not rely upon specific runtime mechanisms such as OS or in-terpreter/compiler support. A new design was required in order to be suitable to the internet’s unique characteristics of varying connection quality and a browser’s specific restric-tions. We validate our approach using benchmarks which show that our framework can handle thousands of data ob-jects automatically, reducing the amount of work needed by developers to support offline Web applications. Brett Cannon, Eric Wohlstadter |
WWW | 2 |
| 2009 | Script InSight: Using Models to Explore JavaScript Code from the Browser View
Eric Wohlstadter |
ICWE | 2 |
| 2009 | Web Service Mashup Middleware with Partitioning of XML PipelinesabstractTraditionally, the composition of Web services to create mashups has been achieved by using an application server as a mediator between a client browser and services. To avoid this bottleneck, mashups are sometimes implemented so that Web service composition takes place directly from the end userpsilas browser. Creating such implementations is difficult because developers must manage the separation of software into various distributable pieces, in different languages, and coordinate their communication. In this paper we describe a middleware for managing Web service mashups in a disciplined, and flexible way. We build upon the established abstraction of XML pipelines, but describe a new approach for selectively partitioning pipeline components between a browser client and application server. We provide a performance evaluation for a common mashup application scenario. Eric Wohlstadter, Brett Cannon |
ICWS | 1 |
| 2008 | Dynamic round-trip GUI maintenanceabstractOne difficulty in software maintenance is that the relationship between observed program behavior and source code is not always clear. This is true for the maintenance of graphical user interfaces (GUIs), because user interface code can be scattered across the decomposition of applications. A popular approach to develop and maintain GUIs is to use "What you see is what you get" editors. They allow developers to work directly with a graphical design view instead of scattered source elements. Unfortunately GUI editors are limited by their ability to statically reconstruct dynamic collaborations between objects. In our research we investigate the combination of a hybrid dynamic and static approach to allow for round-trip maintenance of GUIs. Dynamic analysis reconstructs object relationships, providing a concrete context in which maintenance can be performed. Static checking guides the reconciliation between the GUI editors' design view and source. We implemented a prototype IDE plugin and evaluate our approach by applying it to five open source projects. Eric Wohlstadter |
ICSE | 2 |
| 2006 | A Service-oriented Middleware for Runtime Web Services InteroperabilityabstractA major goal of service-oriented architectures is to enable software interoperability in heterogeneous and dynamic environments. Web services standards and protocols aim to support this goal and middleware systems implementing these standards and protocols consequently are needed. Maintenance and administration of middleware is made difficult due to variations in standards and their constant evolution. In this paper, we introduce a new service-oriented middleware architecture for runtime Web services interoperability. Different from other middleware systems our approach applies service-oriented computing principles on the middleware layer, thereby establishing an on-demand model for middleware features. Clients can use middleware as services, dynamically discovering and using the services as interoperability requirements are determined. Further, middleware as services allows middleware to be provided and managed separately from its clients. We present the policy-based programming model, architecture, and details of our middleware, and discuss new challenges that arise in this context, such as distribution of middleware services. The approach is validated through a scenario integrating Web service transaction middleware Eric Wohlstadter, Stefan Tai, Thomas A. Mikalsen, Judah Diament, Isabelle Rouvellou |
ICWS | 1 |
| 2004 | Design and Implementation of Distributed Crosscutting Features with DADOabstractSome "non-" or "extra-functional" features, such as reliability, security, and tracing, defy modularization mechanisms in programming languages. With distributed, heterogeneous (DH) systems, these features induce complex implementations which crosscut different languages, OSs, and hardware platforms, while still needing to share data and events. The DADO approach helps program crosscuting features by improving DH middleware. A DADO service comprises pairs of adaplets which are explicitly modeled in IDL. DADO supports flexible and type-checked interactions (using generated stubs and skeletons) between adaplets and between objects and adaptlets. Adaptlets can be attached at run-time to an application object. Eric Wohlstadter, Stoney Jackson, Premkumar T. Devanbu |
ICSE | 1 |
| 2004 | GlueQoS: Middleware to Sweeten Quality-of-Service Policy InteractionsabstractA holy grail of component-based software engineering is write-once, reuse everywhere. However, in modern distributed, component-based systems supporting emerging application areas such as service-oriented e-business (where Web services are viewed as components) and peer-to-peer computing, this is difficult. Non-functional requirements (related to quality-of-service (QoS) issues such as security, reliability, and performance) vary with deployment context, and sometimes even at run-time, complicating the task of re-using components. In this paper, we present a middleware-based approach to managing dynamically changing QoS requirements of components. Policies are used to advertise non-functional capabilities and vary at run-time with operating conditions. We also provide middleware enhancements to match, interpret, and mediate QoS requirements of clients and servers at deployment time and/or runtime. Eric Wohlstadter, Stefan Tai, Thomas A. Mikalsen, Isabelle Rouvellou, Premkumar T. Devanbu |
ICSE | 1 |
| 2004 | Transaction policies for service-oriented computing
Stefan Tai, Thomas A. Mikalsen, Eric Wohlstadter, Nirmit Desai, Isabelle Rouvellou |
Data Knowl. Eng. | 3 |
| 2003 | DADO: Enhancing Middleware to Support Crosscutting Features in Distributed, Heterogeneous SystemsabstractSome "non-" or "extra-functional" features, such as reliability, security, and tracing, defy modularization mechanisms in programming languages. This makes such features hard to design, implement, and maintain. Implementing such features within a single platform, using a single language, is hard enough With distributed, heterogeneous (DH) systems, these features induce complex implementations which cross-cut different languages, OSs, and hardware platforms, while still needing to share data and events. Worse still, the precise requirements for such features are often locality-dependent and discovered late (e.g., security policies). The DADO/sup 1/ approach helps program cross-cutting features by improving DH middleware. A DADO service comprises pairs of adaplets which are explicitly modeled in IDL. Adaplets may be implemented in any language compatible with the target application, and attached to stubs and skeletons of application objects in a variety of ways. DADO supports flexible and type-checked interactions (using generated stubs and skeletons) between adaplets and between objects and adaplets. Adaplets can be attached at run-time to an application object. We describe the approach and illustrate its use for several cross-cutting features, including performance monitoring, caching, and security. We also discuss software engineering process, as well as run-time performance implications. Eric Wohlstadter, Stoney Jackson, Premkumar T. Devanbu |
ICSE | 1 |
| 2001 | Generating Wrappers for Command Line Programs: The Cal-Aggie Wrap-O-Matic ProjectabstractSoftware developers writing new software have strong incentives to make their products compliant to standards such as CORBA, COM, and Java Beans. Standards compliance facilitates interoperability, component based software assembly, and software reuse, thus leading to improved quality and productivity. Legacy software, on the other hand, is usually monolithic and hard to maintain and adapt. Many organizations, saddled with entrenched legacy software, are confronted with the need to integrate legacy assets into more modern, distributed, componentized systems that provide critical business services. Thus, wrapping legacy systems for interoperability has been an area of considerable interest. Wrappers are usually constructed by hand which can be costly and error-prone. We specifically target command-line oriented legacy systems and describe a tool framework that automates away some of the drudgery of constructing wrappers for these systems. We describe the Cal-Aggie Wrap-O-Matic system (CAWOM), and illustrate its use to create CORBA wrappers for: a) the JDB debugger, thus supporting distributed debugging using other CORBA components; and b) the Apache Web server, thus allowing remote Web server administration, potentially mediated by CORBA-compliant security services. While CORBA has some limitations, in several relatively common settings it can produce better wrappers at lower cost. Eric Wohlstadter, Stoney Jackson, Premkumar T. Devanbu |
ICSE | 1 |