5981940
SoftGUESS: Visualization and Exploration of Code Clones in Context
We introduce SoftGUESS, a code clone exploration system. SoftGUESS is built on the more general GUESS system which provides users with a mechanism to interactively explore graph structures both through direct manipulation as well as a domain-specific language. We demonstrate SoftGUESS through a number of mini-applications to analyze evolutionary code-clone behavior in software systems. The mini-applications of SoftGUESS represent a novel way of looking at code-clones in the context of many system features. It is our hope that SoftGUESS will form the basis for other analysis tools in the software- engineering domain.
1475409
An ethnographic study of copy and paste programming practices in OOPL
Although programmers frequently copy and paste code when they develop software, implications of common copy and paste (C&P) usage patterns have not been studied previously. We have conducted an ethnographic study in order to understand programmers' C&P programming practices and discover opportunities to assist common C&P usage patterns. We observed programmers using an instrumented Eclipse IDE and then analyzed why and how they use C&P operations. Based on our analysis, we constructed a taxonomy of C&P usage patterns. This paper presents our taxonomy of C&P usage patterns and discusses our insights with examples drawn from our observations. From our insights, we propose a set of tools that both can reduce software maintenance problems incurred by C&P and can better support the intents of commonly used C&P scenarios.
12348020
Using a clone genealogy extractor for understanding and supporting evolution of code clones
Programmers often create similar code snippets or reuse existing code snippets by copying and pasting. Code clones---syntactically and semantically similar code snippets---can cause problems during software maintenance because programmers may need to locate code clones and change them consistently. In this work, we investigate (1) how code clones evolve, (2) how many code clones impose maintenance challenges, and (3) what kind of tool or engineering process would be useful for maintaining code clones.Based on a formal definition of clone evolution, we built a clone genealogy tool that automatically extracts the history of code clones from a source code repository (CVS). Our clone genealogy tool enables several analyses that reveal evolutionary characteristics of code clones. Our initial results suggest that aggressive refactoring may not be the best solution for all code clones; thus, we propose alternative tool solutions that assist in maintaining code clones using clone genealogy information.
8963340
Understanding and Aiding Code Evolution by Inferring Change Patterns
Evolution continues to play an ever-increasing role in software engineering. Although changing a program is the core of software evolution, program change patterns have not been considered as a first class entity in most classic studies of software evolution. Past empirical studies of software evolution primarily relied on quantitative and statistical analyses of a program over time, but did not focus on semantic and qualitative change patterns of a program. We hypothesize that by treating change patterns as first class entities we can better understand software evolution and also aid programmers in changing software. Our goal is to infer clone evolution patterns from a set of program versions stored in a source code repository. We defined a set of common clone evolution patterns based on our insights from the copy and paste study.
6041360
Modeling timed user-interactions in multimedia documents
Interactive multimedia documents (or systems) can be characterized by active user participation and the diversity of multimedia information accessed at various levels of granularity. They need to support extensive user participation in selecting and tailoring the information and its presentation. Multimedia information fragments may vary from portions of video, pieces of audio, newspaper quotations or chapters of a book. Effectively managing the creation, evolution and complexity of multimedia documents formed by combining media fragments is an essential capability. We consider the hyperstory model of a multimedia document, where a document is structured hierarchically in three dimensions: time, space and asynchrony. The model provides a layered approach in structuring multimedia documents, thus reducing the complexities of large systems. The hyperstory model supports user interactions that are timed, and also supports preemptive resuming. Timed user interactions with the document are modeled with a newly introduced timed Petri-net (TPN*). TPN* is used to infer the behavior of the system. This paper describes TPN*'s modeling and analysis and its application to the hyperstory model.
61206461
A wavelet-based approach to detect shared congestion
Per-flow congestion control helps endpoints fairly and efficiently share network resources. Better utilization of network resources can be achieved, however, if congestion management algorithms can determine when two different flows share a congested link. Such knowledge can be used to implement cooperative congestion control or improve the overlay topology of a P2P system. Previous techniques to detect shared congestion either assume a common source or destination node, drop-tail queueing, or a single point of congestion. We propose in this paper a novel technique, applicable to any pair of paths on the Internet, without such limitations. Our technique employs a signal processing method, wavelet denoising, to separate queueing delay caused by network congestion from various other delay variations. Our wavelet-based technique is evaluated through both simulations and Internet experiments. We show that, when detecting shared congestion of paths with a common endpoint, our technique provides faster convergence and higher accuracy while using fewer packets than previous techniques, and that it also accurately determines when there is no shared congestion. Furthermore, we show that our technique is robust and accurate for paths without a common endpoint or synchronized clocks; more specifically, it can tolerate a synchronization offset of up to one second between two packet flows.
47477578
DMKB : A Defense Mechanism Knowledge Base
The major cause of the internet incidents is the vulnerability, which is usually exploited by human attackers or worm virus. Thus the implementation of database on vulnerability is most valuable. If vulnerability is found newly, its information can be included in this database. The contemporary vulnerability databases, however, show weakness in describing countermeasures, although they are practically useful in removing or avoiding vulnerability. This comes from the lack of the analysis process on both semantics and patterns for countermeasures. In this paper, we defined the countermeasures in view of defense mechanism and suggested their representation schemes. In semantics, defense mechanisms can be classified into prevention, detection, recovery and tolerance. And they can be expressed in patterns as the composition of aim, condition, and action. Considering these features, we implemented a knowledge base on defense mechanism – DMKB. By using DMKB, users can get almost whole knowledge with keyword searching under GUI. Our DMKB can be utilized in automatic security testing and management for a given system.
193488
Synchronized Disk Interleaving
A group of disks may be interleaved to speed up data transfers in a manner analogous to the speedup achieved by main memory interleaving. Conventional disks may be used for interleaving by spreading data across disks and by treating multiple disks as if they were a single one. Furthermore, the rotation of the interleaved disks may be synchronized to simplify control and also to optimize performance. In addition, check- sums may be placed on separate check-sum disks in order to improve reliability. In this paper, we study synchronized disk interleaving as a high-performance mass storage system architecture. The advantages and limitations of the proposed disk interleaving scheme are analyzed using the M/G/1 queueing model and compared to the conventional disk access mechanism.
26568006
Defense Mechanism for Information and Communication Infrastructure