8351589
Using automatic clustering to produce high-level system organizations of source code
We describe a collection of algorithms that we developed and implemented to facilitate the automatic recovery of the modular structure of a software system from its source code. We treat automatic modularization as an optimization problem. Our algorithms make use of traditional hill-climbing and genetic algorithms.
2016418
CHIME: customizable hyperlink insertion and maintenance engine for software engineering environments
Source code browsing is an important part of program comprehension. Browsers expose semantic and syntactic relationships (such as between object references and definitions) in GUI-accessible forms. These relationships are derived using tools which perform static analysis on the original software documents. Implementing such browsers is tricky. Program comprehension strategies vary, and it is necessary to provide the right browsing support. Analysis tools to derive the relevant cross-reference relationships are often difficult to build. Tools to browse distributed documents require extensive coding for the GUI, as well as for data communications. Therefore, there are powerful motivations for using existing static analysis tools in conjunction with WWW technology to implement browsers for distributed software projects. The CHIME framework provides a flexible, customizable platform for inserting HTML links into software documents using information generated by existing software analysis tools. Using the CHIME specification language, and a simple, retargetable database interface, it is possible to quickly incorporate a range of different link insertion tools for software documents, into an existing, legacy software development environment. This enables tool builders to offer customized browsing support with a well-known GUI. This paper describes the CHIME architecture, and describes our experience with several re-targeting efforts of this system.
14057550
Exploration on the commonality of hierarchical clustering algorithms
Many clustering algorithms have been devised. The published account of each algorithm emphasizes how it is different from previous algorithms. However, similarities among agglomerative hierarchical algorithms are greater than commonly supposed. For example, several algorithms perform merging by the single link (SLINK, OPTICS) and some algorithms perform merging by the edge cut criterion (CHAMELEON, ROCK). Some algorithms use the square of the original adjacency matrix (OPTICS, ROCK). Our goals are to compose a not very long list of methods used by the various algorithms; to locate each algorithm in this space of methods; and to devise new algorithms that improve upon the previous methods.
2771147
Autonomous hot patching for Web-based applications
Patching technologies are commonly applied to improve the dependability of software after release. This paper proposes an autonomous hot patching (AHP) framework to fully automate the reasoning for the causes of failures, and to patch the binary code of Web-based applications. AHP admits the hardness for rooting out all faults before product release, and autonomously patches problems of application programs. By directly operating on binary code, AHP is universal to virtually all applications. A promising application of AHP is to shortcut the remote maintenance center (RMC) and hence to reduce the turn around time for patches.
16769940
System administrators are users, too: designing workspaces for managing internet-scale systems
The people who run large-scale computer systems deserve the attention of the HCI community. These professionals work with increasingly diverse and complex hardware and software, large systems often characterized as "unknowable" by a single person. Relying on relatively crude tools, these professionals keep the technological world running. By improving the system administration work environment, the cost of computing and risk of downtime will be decreased while the deployment of complex, beneficial systems will increase.This one-day workshop will focus on the HCI problems of system administrators, specifically management of scale and diversity, problem solving, and system monitoring and notification. Our goal is to bring together (1) HCI researchers, (2) middleware user interface software developers, and (3) real-world system administrators to form a cross-disciplinary community around this topic.
2310959
XKvalidator: a constraint validator for XML
The role of XML in data exchange is evolving from one of merely conveying the structure of data to one that also conveys its semantics. In particular, several proposals for key and foreign key constraints have recently appeared, and aspects of these proposals have been adopted within XMLSchema.In this paper, we examine the problem of checking keys and foreign keys in XML documents using a validator based on SAX. The algorithm relies on an indexing technique based on the paths found in key definitions, and can be used for checking the correctness of an entire document (bulk checking) as well as for checking updates as they are made to the document (incremental checking). The asymptotic performance of the algorithm is linear in the size of the document or update. Furthermore, experimental results demonstrate reasonable performance.
10348131
An Infrastructure for Web Services Migration for Real-Time Applications
Service-oriented architecture (SOA) is a highly promising technology for software development. It can greatly reduce the development time and cost and achieve system agility. Web service is the current practice for realizing SOA. Due to the nature of widely distributed Web service providers, the service performance could be impacted when the network traffic is congested. There are methods, such as communication cost based service selection strategies, developed to cope with the problem. In this paper, we propose a complementing technology, migratable Web services, to overcome the performance problems for real-time applications. A service can be implemented by multiple light weighted Web services and some of them can be migrated to strategic sites to minimize the communication delays so the real-time requirements can be met. We have designed an infrastructure to support Web service migration and execution. Also, appropriate decision mechanism, which decides whether a Web service should be migrated and where to send it to, is the key for major performance gains. We use genetic algorithm to efficiently make the best migration decisions. Experimental studies show that the approach can achieve significant performance improvement