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.
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.
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.
8536996
Goal and scenario based domain requirements analysis environment
Identifying and representing domain requirements among products in a product family are crucial activities for a successful software reuse. The domain requirements should be not only identified based on the business goal, which drives marketing plan, product plan, and differences among products, but also represented as familiar notations in order to support developing a particular product in the product family. Thus, our proposal is to identify the domain requirements through goals and scenarios, and represent them as variable use cases for a product family. Especially, for identification of the domain requirements, we propose four abstraction levels of requirements in a product family, and goal and scenario modeling. For representation of them, variable use case model is suggested, and also the use case transfer rules are proposed so as to bridge the gap between the identification and representation activity. The paper illustrates the application of the approach within a supporting tool using the HIS (Home Integration System) example.
12043862
A method and tool support for variant requirements analysis: goal and scenario based approach
Identifying and representing variant requirements among products in a product family are crucial activities for a successful software reuse. The variant requirements should be not only identified based on the business goal, which drives marketing plan, product plan, and differences among products, but also represented as familiar notations in order to support developing a particular product in the product family. Thus, our proposal is to identify the variant requirements through goals and scenarios, and represent them as variable use cases for a product family. Especially, for identification of the variant requirements, we propose four abstraction levels of requirements in the product family, and goal and scenario modeling. For representation of them, variable use case model is suggested, and also the use case transfer rules are proposed so as to bridge the gap between the identification and representation activity. The paper illustrates the application of the approach within a supporting tool, namely DREAM (Domain REquirements Analysis Method) using the ATM example.
33615174
PMEPR Reduction Algorithms for STBC-OFDM Signals
This paper evaluates the peak-to-mean envelope power ratio (PMEPR) performance in a space-time block coded (STBC) OFDM system using the selective mapping (SLM) and partial transmit sequence (PTS) approaches. The investigated SLM and PTS schemes for STBC-OFDM signals select the transmitted sequence with the lowest average PMEPR over all transmit antennas and retrieve the side information (SI) very accurately at the expense of a slight degradation of the PMEPR performance.
1514813
Temporal Query Processing Using Spatially-Partitioned Method
In this paper, we propose a general spatiallypartitioned temporal operation model, called 3D-TOM, and partition-based join algorithms for various types of temporal join in the proposed model. The temporal operators addressed in this paper include overlap, precede, follow, and equal. Some factors which a ect the performance of the proposed method are also discussed.