John J. Barton

dblp:91/6371 · DBLP profile ↗
← Back
11ranked-venue papers
4as first author
0since 2021 · last 2011
—ORCID · none

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

Computer networks · 4Software engineering, systems software and programming languages · 3 · 1 first-authorDatabases, data management, data science and information retrieval · 2 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 2 · 2 first-authorSystems, architecture and hardware · 1Human-computer interaction and ubiquitous computing · 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.

Software engineering, system software, and programming languages
3 papers
Debugging and program repair · 85% Runtime systems and virtual machines · 13% Operating systems · 2%
Human-computer interaction and pervasive computing
1 paper
Ubiquitous computing and smart environments · 50% Interaction techniques and input · 50%
Network and information security
2 papers
Web and mobile security · 100%
Computer networks
1 paper
Internet of things and sensor networks · 100%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Distributed systems · 77% Cloud and datacenter computing · 23%

Topics — the 5 heaviest of 13, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Debugging and program repair
fault localization
0.112011
Querypoint: moving backwards on wrong values in the buggy execution · SIGSOFT FSE 2011
Debugging and program repair
time-travel debugging
0.112011
Querypoint: moving backwards on wrong values in the buggy execution · SIGSOFT FSE 2011
Interaction techniques and input
mobile interaction
0.112006
Dialing for Displays: Session Initiation Protocol for Opportunistic Augmentation · PerCom 2006
Runtime systems and virtual machines › virtual machine implementation
java virtual machine
0.011999
Implementing Jalapeño in Java · OOPSLA 1999
Runtime systems and virtual machines › dynamic compilation
just-in-time compilation
0.011999
Implementing Jalapeño in Java · OOPSLA 1999

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

javascript debugging · 0.2DOM mutation observation · 0.2XForms · 0.1HTTP headers · 0.1session initiation protocol · 0.1framework evaluation · 0.0architecture design · 0.0unsafe casts · 0.0reflection · 0.0magic class · 0.0
YearPublicationVenuePosition
2011 Querypoint: moving backwards on wrong values in the buggy execution
abstract
As developers debug, they often have to seek the origins of wrong values they see in their debugger. This search must be performed backwards in time since the code causing the wrong value is executed before the wrong value appears. Therefore, locating the origin of wrong values with breakpoint- or log- based debuggers demands persistence and significant experience.
Salman Mirghasemi, John J. Barton, Claude Petitpierre
SIGSOFT FSE2
2010 Dynamic and graphical web page breakpoints
abstract
Breakpoints are perhaps the quintessential feature of a de-bugger: they allow a developer to stop time and study the program state. Breakpoints are typically specified by selecting a line of source code. For large, complex, web pages with multiple developers, the relevant source line for a given user interface problem may not be known to the developer. In this paper we describe the implementation of breakpoints in dynamically created source, and on error messages, network events, DOMmutation, DOMobject property changes, and CSS style rule updates. Adding these domain-specific breakpoints to a general-purpose debugger for Javascript allows the developer to initiate the debugging process via Web page abstractions rather than lower level source code views. The breakpoints are implemented in the open source Fire-bug project, version 1.5, for the Firefox Web browser.
John J. Barton, Jan Odvárko
WWW1
2006 Dialing for Displays: Session Initiation Protocol for Opportunistic Augmentation
abstract
Opportunistic augmentation denotes connecting a personal mobile device to another device to gain a transient advantage for the user. For example, a mobile phone user might borrow a large display and keyboard from a desktop personal computer. This uniquely ubiquitous computing activity requires effective device and service discovery as well as appropriate media usable across two or more devices. In this paper we show how session initiation protocol (SIP), the call signaling protocol for voice over IP, effectively separates discovery from media-rendering selection in opportunistic augmentation. This separation improves system flexibility while allowing users or system administrators to choose the most appropriate discovery technologies for the environment. We also describe two phone-centric discovery mechanisms and demonstrate the practicality of the system by implementation and use in a test environment.
John J. Barton, Stina Nylander, Fopefolu O. Folowosele, Beverly L. Harrison
PerCom1
2004 Guest editorial: Ubiquitous computing
John J. Barton, Renato Cerqueira, Marcus Fontoura
J. Syst. Softw.1
2003 Sensor-enhanced mobile web clients: an XForms approach
abstract
This paper describes methods for service selection and service access for mobile, sensor-enhanced web clients such as wireless cameras or wireless PDAs with sensor devices attached. The clients announce their data-creating capabilities in "Produce" headers sent to servers; servers respond with forms that match these capabilities. Clients fill in these forms with sensor data as well as text or file data. The resultant system enables clients to access dynamically discovered services spontaneously, as their users engage in everyday nomadic activities.
John J. Barton, Tim Kindberg, Hui Dai, Bodhi Priyantha, Fahd Albinali
WWW1
2002 People, Places, Things: Web Presence for the Real World
Tim Kindberg, John J. Barton, Jeff Morgan, Gene Becker, Debbie Caswell, Philippe Debaty, Gita Gopal, Marcos Frid, Venky Krishnan, Howard Morris, John Schettino, Bill Serra, Mirjana Spasojevic
Mob. Networks Appl.2
2001 Making computers disappear: appliance data services
abstract
Digital appliances designed to simplify everyday tasks are readily available to end consumers. For example, mobile users can retrieve Web content using handheld devices since content retrieval is well-supported by infrastructure services such as transformational proxies. However, the same type of support is lacking for input-centric devices, those that create content and allow users to share content. This lack of infrastructural support makes input-centric devices hard to use and less useful.The Appliance Data Services project seeks to explore a vision of an appliance computing world where users move data seamlessly among various devices. Based on this vision, we formulate three principles that guide the design of an architecture that helps realize this vision: bring devices to the forefront, minimize the number of device features, and place functionality in the network infrastructure. We evaluate our implementation of the ADS architecture based on these principles, and build applications using the ADS framework to evaluate the ease with which appliance computing applications can be built using the framework. We find that it is relatively simple to build and extend applications on ADS that make using digital devices easier, which results in the devices themselves becoming more useful.
Andrew C. Huang, Benjamin C. Ling, John J. Barton, Armando Fox
MobiCom3
2001 A Web-based nomadic computing system
Tim Kindberg, John J. Barton
Comput. Networks2
2000 Debugging by Remote Reflection
Ton Anh Ngo, John J. Barton
Euro-Par2
2000 Running the Web backwards: appliance data services
Andrew C. Huang, Benjamin C. Ling, John J. Barton, Armando Fox
Comput. Networks3
1999 Implementing Jalapeño in Java
abstract
Jalape~no is a virtual machine for Java TM servers written in Java. A running Java program involves four layers of functionality: the user code, the virtual-machine, the operating system, and the hardware. By drawing the Java / non-Java boundary below the virtual machine rather than above it, Jalape~no reduces the boundary-crossing overhead and opens up more opportunities for optimization. To get Jalape~no started, a boot image of a working Jalape ~no virtual machine is concocted and written to a file. Later, this file can be loaded into memory and executed. Because the boot image consists entirely of Java objects, it can be concocted by a Java program that runs in any JVM. This program uses reflection to convert the boot image into Jalape~no's object format. A special Magic class allows unsafe casts and direct access to the hardware. Methods of this class are recognized by Jalape~no's three compilers, which ignore their bytecodes and emit special-purpose machine code. User code w...
Bowen Alpern, C. Richard Attanasio, John J. Barton, Anthony Cocchi, Susan Flynn Hummel, Derek Lieber, Ton Anh Ngo, Mark F. Mergen, Janice C. Shepherd, Stephen E. Smith
OOPSLA3