James P. Black

dblp:79/2669 · DBLP profile ↗
← Back
17ranked-venue papers
3as first author
0since 2021 · last 2008
—ORCID · none

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

Software engineering, systems software and programming languages · 8 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 4 · 1 first-authorSystems, architecture and hardware · 2Computer networks · 2Human-computer interaction and ubiquitous computing · 2

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
4 papers
Program analysis · 34% Debugging and program repair · 32% Software maintenance and evolution · 31%
Computer architecture, parallel and distributed computing, and storage systems
4 papers
Distributed systems · 52% Hardware reliability and fault tolerance · 40% Storage systems · 8%
Theoretical computer science
1 paper
Algorithms and data structures · 100%
Databases, data mining, and information retrieval
1 paper
Indexing and storage engines · 100%

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

TopicWeightPapersLastEvidence papers
Software maintenance and evolution › reverse engineering
design recovery
0.011995
Using Automatic Process Clustering for Design Recovery and Distributed Debugging · IEEE Trans. Software Eng. 1995
Debugging and program repair › concurrent program debugging
distributed debugging
0.011995
Using Automatic Process Clustering for Design Recovery and Distributed Debugging · IEEE Trans. Software Eng. 1995
Program analysis
dynamic analysis
0.011995
Using Automatic Process Clustering for Design Recovery and Distributed Debugging · IEEE Trans. Software Eng. 1995
Distributed systems › distributed system architecture
distributed operating systems
0.011987
The architecture of UNIX united · Proc. IEEE 1987
Hardware reliability and fault tolerance
software fault tolerance
0.021980
Redundancy in Data Structures: Some Theoretical Result · IEEE Trans. Software Eng. 1980
Redundancy in Data Structures: Improving Software Fault Tolerance · IEEE Trans. Software Eng. 1980
Algorithms and data structures
data structure design
0.011982
Principles of Data Structure Error Correction · IEEE Trans. Computers 1982
Indexing and storage engines
b-tree
0.011981
A Robust B-Tree Implementation · ICSE 1981
Program analysis
error detection
0.011980
Redundancy in Data Structures: Improving Software Fault Tolerance · IEEE Trans. Software Eng. 1980
Operating systems › operating system family
UNIX
0.011987
The architecture of UNIX united · Proc. IEEE 1987
Storage systems
storage reliability
0.011982
Principles of Data Structure Error Correction · IEEE Trans. Computers 1982
Debugging and program repair
error correction
0.011980
Redundancy in Data Structures: Some Theoretical Result · IEEE Trans. Software Eng. 1980

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

statistical clustering · 0.0redundancy · 0.0formal analysis · 0.0error correction algorithms · 0.0error correction algorithm · 0.0
YearPublicationVenuePosition
2008 A quantitative approach to non-intrusive computing
abstract
One important characteristic of pervasive computing, which is how to make it non-intrusive so that users can focus on their tasks, has received little formal attention. Nowadays, many computing entities including smart devices, and software applications, are involved in our daily lives, and users ne
James P. Black
MobiQuitous2
2000 WAP traffic: description and comparison to WWW traffic
abstract
The characteristics of the data traffic generated by the use of micro-browser-enabled PCS phones to gain access to the Web is of particular interest to cellular network operators. Questions such as the frequency and length of browser sessions, and the specific characteristic of the traffic generated, need to be answer by researchers. These answers are valuable in network capacity planning as more subscribers use their cellular phones to interact with the Web.In this paper, we analyse network traces generated by a Mobile Browser application. We observe daily and weekly cycles and, some evidence of self-similarity in the network traffic produced by the application. We show that the activity factor for data generated by this application is lower than voice activity factor. This fact is significant for the design of wireless networks because it is possible to multiplex a large number of data sources onto existing channels with the appropriate protocols. We also compare and contrast the Mobile Browser traffic characteristics with results for WWW traffic published in the literature.
Thomas Kunz, Thomas Barry, James P. Black, Hugh M. Mahoney
MSWiM3
1997 Poet: Target-System Independent Visualizations of Complex Distributed-Application Executions
abstract
Designing and implementing a visual debugger for distributed programs is a significant challenge. Distributed applications are often large and frequently exhibit a high degree of complexity. Consequently, a debugger must address problems of complexity and scale in at least two ways. First, appropriate user interfaces should allow a user to manage the vast amount of information typically obtained from distributed executions. Second, the tool itself, in handling this information, should be implemented efficiently, providing a user with reasonable response times for interactive use. Our research efforts, concentrating on these problems, have led to the development of Poet, a tool for the collection and presentation of event-based traces of distributed executions. Poet makes as few assumptions as possible about characteristics that must be possessed by all target environments. Information describing each target environment is placed in configuration files, allowing a single set of Poet executables to be used for all target environments. Comparing Poet's performance to XPVM, the standard visualization tool for PVM executions, reveals that this target-system independence does not impose a performance penalty.
Thomas Kunz, James P. Black, David J. Taylor, Twan Basten
Comput. J.2
1997 Vector Time and Causality Among Abstract Events in Distributed Computations
Twan Basten, Thomas Kunz, James P. Black, Michael H. Coffin, David J. Taylor
Distributed Comput.3
1996 A Tool for Debugging OSF DCE Applications
abstract
Debugging distributed applications presents many challenges in addition to those found in debugging sequential applications. This paper describes a tool, and the principles underlying it, that has been developed to assist in debugging such distributed applications. Although the tool can also be applied in other environments, this paper primarily describes its application to OSF DCE. Special attention is also given to a facility that has presently been implemented only for OSF DCE, the ability to replay an application, that is, to re-execute it with execution constrained to follow the partial order of an initial execution.
David J. Taylor, Thomas Kunz, James P. Black
COMPSAC3
1995 Using Automatic Process Clustering for Design Recovery and Distributed Debugging
abstract
Distributed applications written in Hermes typically consist of a large number of sequential processes. The use of a hierarchy of process clusters can facilitate the debugging of such applications. Ideally, such a hierarchy should be derived automatically. This paper discusses two approaches to automatic process clustering, one analyzing runtime information with a statistical approach and one utilizing additional semantic information. Tools realizing these approaches were developed and a quantitative measure to evaluate process clusters is proposed. The results obtained under both approaches are compared, and indicate that the additional semantic information improves the cluster hierarchies derived. We demonstrate the value of automatic process clustering with an example. It is shown how appropriate process clusters reduce the complexity of the understanding process, facilitating program maintenance activities such as debugging.>
Thomas Kunz, James P. Black
IEEE Trans. Software Eng.2
1994 Limited Effects of Finite Storage on a Beneficial File Migration Policy
abstract
With the availability of high-speed local-area networks, file migration becomes an attractive option in a distributed file system. However, certain limitations may exist which restrict the movement of files. One such limitation is that storage space is finite and thus, storage sites (file servers) can only store a limited number of files. We use simulation to show that for a homogeneous distributed file system which transfers whole files, migrating files from congested to uncongested storage sites can result in significant performance gains over a system without file migration even in the case of finite storage. Our file migration policy is based on an instantaneous performance gain analysis: a file is migrated only if it leads to a decrease in the overall response time of the file requests currently in the system. Our results indicate that as the system load or coefficient of variation of the file request interarrival times increase, so does the percentage improvement of our file migration policy over a system without file migration. The degradation in performance caused by limited storage space is only significant when the storage restrictions are extreme.>
Richard T. Hurley, James P. Black, Johnny W. Wong
LCN2
1991 An Experimental Investigation of Distributed Matrix Multiplication Techniques
abstract
Abstract This paper discusses the development and refinement of several distributed matrix multiplication algorithms. Our goal in this research has been to determine if successful distribution of this problem is possible within a loosely‐coupled environment. Our criteria for success are fast execution speed and, to a lesser extent, memory efficiency. Our results indicate that, perhaps counter‐intuitively, it is possible to use distribution to improve the performance of dense matrix multiplication. The speed increase obtained ranges up to a factor of four, depending upon the algorithm and the process configuration used. Among the factors affecting performance are computational complexity, number and size of interprocess messages, and bookkeeping overhead. We conclude that this approach to matrix multiplication has potential. Furthermore, some of the principles discussed here may be usefully employed in the distribution of other algorithms of the same O(n3) computational complexity, such as LU decomposition (linear system solvers) and Cholesky factorization.
Stephen A. Rees, James P. Black
Softw. Pract. Exp.2
1987 Beyond traditional computer literacy
abstract
A new approach to computer literacy is emerging, an approach that de-emphasizes the traditional overview of hardware and software and minimizes the teaching of traditional programming methodology. This paper describes the design and implementation of a literacy course intended to develop effective users of common applications software, including word processing, spreadsheets, graphics and database management. The paper continues by demonstrating how many academic computer science concepts can be effectively introduced using this approach.
V. Arnie Dyck, James P. Black, Shirley L. Fenton
SIGCSE2
1987 The architecture of UNIX united
abstract
UNIX United is an architecture for a distributed system based on UNIX. As it is compatible with UNIX at the system call level, any program written for a normal UNIX system can be transparently extended to exploit the richer environment of UNIX United. As it relies on having a UNIX system beneath it, the implementation of UNIX United, called the Newcastle Connection, provides an interesting example of the construction of a very powerful distributed system with only a modicum of effort. A description of the basic semantics of UNIX United is followed by that of the architecture implied by the protocol between components in a UNIX United system, and of a software structure appropriate to the architecture and the protocol.
James P. Black, Lindsay F. Marshall, Brian Randell
Proc. IEEE1
1986 A Locally Correctable B-Tree Implementation
abstract
A storage structure for B-trees is presented which is robust, in that many errors and combinations of errors in its structural data can be detected and corrected. The structure presented here is superior to a previous robust B-tree in a number of ways: insertion and deletion are simpler, the classes of errors which can be detected and corrected are larger, and it is simpler to implement a correction routine. These advantages are achieved without any significant increase in cost; storage space requirements and update time are almost unchanged. This paper describes briefly both the old and new B-tree implementations, and makes comparisons between them.
David J. Taylor, James P. Black
Comput. J.2
1986 Experimenting with Data Structures
abstract
Abstract Research in robust data structures can be done both by theoretical analysis of properties of abstract implementations and by empirical study of real implementations. Empirical study requires a support environment for the actual implementation. In particular, if the response of the implementation to errors is being studied, a mechanism must exist for artificially injecting appropriate kinds of errors. This paper discusses techniques used in empirical investigations of data structure robustness, with particular reference to tools developed for this purpose at the University of Waterloo.
David J. Taylor, James P. Black
Softw. Pract. Exp.2
1982 Principles of Data Structure Error Correction
abstract
Error correction in robust data structures is a difficult problem. Several algorithms for correcting structural errors, in certain list and tree structures, are now known. These algorithms have been examined to determine common design features which may prove useful in the design of correction algorithms for other structures. This paper presents a summary of the algorithms studied and the design principles which were derived. The paper is not a "cookbook" for constructing error correction algorithms, but should prove useful to those designing such algorithms. Implications for the design of robust data structures, so that correction may be done easily, are also briefly discussed.
David J. Taylor, James P. Black
IEEE Trans. Computers2
1981 A Robust B-Tree Implementation
James P. Black, David J. Taylor, David E. Morgan
ICSE1
1981 A Case Study in Fault Tolerant Software
abstract
Abstract The addition of redundancy to data structures can be used to improve the ability of a software system to detect and correct errors, and to continue to operate according to its specifications. A case study is presented which indicates how such redundancy can be deployed and exploited at reasonable cost to improve software fault tolerance. Experimental results are reported for the small data base system considered.
James P. Black, David J. Taylor, David E. Morgan
Softw. Pract. Exp.1
1980 Redundancy in Data Structures: Improving Software Fault Tolerance
abstract
The increasing cost of computer system failure has stimulated interest in improving software reliability. One way to do this is by adding redundant structural data to data structures. Such redundancy can be used to detect and correct (structural) errors in instances of a data structure. The intuitive approach of this paper, which makes heavy use of examples, is complemented by the more formal development of the companion paper, "Redundancy in Data Structures: Some Theoretical Results."
David J. Taylor, David E. Morgan, James P. Black
IEEE Trans. Software Eng.3
1980 Redundancy in Data Structures: Some Theoretical Result
abstract
A companion paper, "Redundancy in Data Structures: Improving Software Fault Tolerance," provides an infonnal introduction to robust data structures. Here, we present the underlying theory for them, and use it to discuss the synthesis and cost effectiveness of robust data structures.
David J. Taylor, David E. Morgan, James P. Black
IEEE Trans. Software Eng.3