Learn More
Diagnosing production run failures is a challenging yet importanttask. Most previous work focuses on offsite diagnosis, i.e.development site diagnosis with the programmers present. This is insufficient for production-run failures as: (1) it is difficult to reproduce failures offsite for diagnosis; (2) offsite diagnosis cannot provide timely guidance for(More)
The vulnerabilities that plague computers cause endless grief to users. Slammer compromised millions of hosts in minutes; a hit-list worm would take under a second. Recently proposed techniques respond better than manual approaches, but require expensive instrumentation, which limits deployment. Although spreading "antibodies" (e.g. signatures) ameliorates(More)
Not since the advent of the integrated development environment has a development tool had the impact on programmer productivity that refactoring tools have had for object-oriented developers. However, at the present time, such tools do not exist for high-performance languages such as C and Fortran; moreover, refactorings specific to high-performance and(More)
The Hyperlink Induced Topic Search algorithm,which is a method of link analysis, primarily developedfor retrieving information from the Web, is extended inthis paper, in order to evaluate one aspect of quality inan object-oriented model. Considering the number ofdiscrete messages exchanged between classes, it ispossible to identify "God" classes in the(More)
In this paper, we propose a new scalable application-layer protocol, specifically designed for data streaming applications with large client sets. This is based upon a control hierarchy of successive levels for the clients, has minimal overhead with constant number of messages per client, and is robust to client and network failures, making it suitable for(More)
Production run software failures cause endless grief to end-users, and endless challenges to programmers as they commonly have incomplete information about the bug, facing great hurdles to reproduce it. Users are often unable or unwilling to provide diagnostic information due to technical challenges and privacy concerns; even if the information is(More)
There is a huge amount of Fortran code that is too valuable to throw away, but very expensive to maintain. Refactoring tools have had a great impact on the productivity of object-oriented developers and the quality of code. However, high-performance languages such as C and Fortran do not have these tools. Moreover, refactorings specific to high-performance(More)
A novel method for identifying dense communities of classes (clusters) within an Object-Oriented system has been developed. Such communities might possibly imply relevance of functionality and thus be used as Reusable Components. The term "Reusable Components" is used to refer to a set of interrelated classes that represent a module that can be used in(More)