NDLI logo
  • Content
  • Similar Resources
  • Metadata
  • Cite This
  • Log-in
  • Fullscreen
Log-in
Do not have an account? Register Now
Forgot your password? Account recovery
  1. Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering (ESEC/FSE-13)
  2. Detecting higher-level similarity patterns in programs
Loading...

Please wait, while we are loading the content...

Automatic generation of suggestions for program investigation
Reasoning about confidentiality at requirements engineering time
Fluent temporal logic for discrete-time event-based models
Moose: an agile reengineering environment
Context- and path-sensitive memory leak detection
Applying classification techniques to remotely-collected program execution data
Facilitating software evolution research with kenyon
Relational analysis of algebraic datatypes
Strathcona example recommendation tool
Parameterized unit tests
SOBER: statistical model-based bug localization
Reuse and variability in large software applications
Anchoring and adjustment in software estimation
Quantitative assessment of UML dynamic models
The story of moose: an agile reengineering environment
ASTEC: a new approach to refactoring C
Detecting and resolving semantic pathologies in UML sequence diagrams
Towards a unified formal model for supporting mechanisms of dynamic component update
Dynamically discovering architectures with DiscoTect
Performance data collection using a hybrid approach
Detecting higher-level similarity patterns in programs
An empirical study of code clone genealogies
Lightweight object specification with typestates
Parameterized unit tests with unit meister
CUTE: a concolic unit testing engine for C
DynaMine: finding common error patterns by mining software revision histories
Industrial experience with building a web portal product line using a lightweight, reactive approach
Combining self-reported and automatic data to improve programming effort measurement
Reengineering towards components using "Reconn-exion"
Innovations in pervasive computing
Permissive interfaces
A case study on value-based requirements tracing
Arithmetic program paths
HATARI: raising risk awareness
Summarizing application performance from a components perspective
Information hiding interfaces for aspect-oriented design
Matching execution histories of program versions
Joining dataflow with predicates
KenyaEclipse: learning to program in eclipse
Online testing with model programs
PR-Miner: automatically extracting implicit programming rules and detecting violations in large software code
Inconsistency detection and resolution for context-aware middleware support
UPEX: user participation by example
Engineering distributed software: a structural discipline
CHARMY: an extensible tool for architectural analysis
Visual tool for generative programming
A refinement calculus for software components and architectures
Utilizing verification and validation certificates to estimate software defect density
Surveying the factors that influence maintainability: research design

Similar Documents

...
Detecting higher-level similarity patterns in programs

Article

...
Are clones harmful for maintenance?

Article

...
Detecting higher-level similarity patterns in programs (2005)

Article

...
Detecting higher-level similarity patterns in programs (2005)

...
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, TSE-0079-0207.R2 1 A Data Mining Approach for Detecting Higherlevel Clones in Software

...
A taxonomy of high level software clones.

...
Detecting Higher-Level Similarity Patterns (2005)

Article

...
Detecting code clones in binary executables

Article

...
On the Effectiveness of Simhash for Detecting Near-Miss Clones in Large Scale Software Systems

Article

Detecting higher-level similarity patterns in programs

Content Provider ACM Digital Library
Author Jarzabek, Stan Basit, Hamid Abdul
Abstract Cloning in software systems is known to create problems during software maintenance. Several techniques have been proposed to detect the same or similar code fragments in software, so-called simple clones. While the knowledge of simple clones is useful, detecting design-level similarities in software could ease maintenance even further, and also help us identify reuse opportunities. We observed that recurring patterns of simple clones - so-called structural clones - often indicate the presence of interesting design-level similarities. An example would be patterns of collaborating classes or components. Finding structural clones that signify potentially useful design information requires efficient techniques to analyze the bulk of simple clone data and making non-trivial inferences based on the abstracted information. In this paper, we describe a practical solution to the problem of detecting some basic, but useful, types of design-level similarities such as groups of highly similar classes or files. First, we detect simple clones by applying conventional token-based techniques. Then we find the patterns of co-occurring clones in different files using the Frequent Itemset Mining (FIM) technique. Finally, we perform file clustering to detect those clusters of highly similar files that are likely to contribute to a design-level similarity pattern. The novelty of our approach is application of data mining techniques to detect design level similarities. Experiments confirmed that our method finds many useful structural clones and scales up to big programs. The paper describes our method for structural clone detection, a prototype tool called Clone Miner that implements the method and experimental results.
Starting Page 156
Ending Page 165
Page Count 10
File Format PDF
ISBN 1595930140
DOI 10.1145/1081706.1081733
Language English
Publisher Association for Computing Machinery (ACM)
Publisher Date 2005-09-05
Publisher Place New York
Access Restriction Subscribed
Subject Keyword Clone detection Similarity patterns Software clones
Content Type Text
Resource Type Article
  • About
  • Disclaimer
  • Feedback
  • Sponsor
  • Contact
  • Chat with Us
About National Digital Library of India (NDLI)
NDLI logo

National Digital Library of India (NDLI) is a virtual repository of learning resources which is not just a repository with search/browse facilities but provides a host of services for the learner community. It is sponsored and mentored by Ministry of Education, Government of India, through its National Mission on Education through Information and Communication Technology (NMEICT). Filtered and federated searching is employed to facilitate focused searching so that learners can find the right resource with least effort and in minimum time. NDLI provides user group-specific services such as Examination Preparatory for School and College students and job aspirants. Services for Researchers and general learners are also provided. NDLI is designed to hold content of any language and provides interface support for 10 most widely used Indian languages. It is built to provide support for all academic levels including researchers and life-long learners, all disciplines, all popular forms of access devices and differently-abled learners. It is designed to enable people to learn and prepare from best practices from all over the world and to facilitate researchers to perform inter-linked exploration from multiple sources. It is developed, operated and maintained from Indian Institute of Technology Kharagpur.

Learn more about this project from here.

Disclaimer

NDLI is a conglomeration of freely available or institutionally contributed or donated or publisher managed contents. Almost all these contents are hosted and accessed from respective sources. The responsibility for authenticity, relevance, completeness, accuracy, reliability and suitability of these contents rests with the respective organization and NDLI has no responsibility or liability for these. Every effort is made to keep the NDLI portal up and running smoothly unless there are some unavoidable technical issues.

Feedback

Sponsor

Ministry of Education, through its National Mission on Education through Information and Communication Technology (NMEICT), has sponsored and funded the National Digital Library of India (NDLI) project.

Contact National Digital Library of India
Central Library (ISO-9001:2015 Certified)
Indian Institute of Technology Kharagpur
Kharagpur, West Bengal, India | PIN - 721302
See location in the Map
03222 282435
Mail: support@ndl.gov.in
Sl. Authority Responsibilities Communication Details
1 Ministry of Education (GoI),
Department of Higher Education
Sanctioning Authority https://www.education.gov.in/ict-initiatives
2 Indian Institute of Technology Kharagpur Host Institute of the Project: The host institute of the project is responsible for providing infrastructure support and hosting the project https://www.iitkgp.ac.in
3 National Digital Library of India Office, Indian Institute of Technology Kharagpur The administrative and infrastructural headquarters of the project Dr. B. Sutradhar  bsutra@ndl.gov.in
4 Project PI / Joint PI Principal Investigator and Joint Principal Investigators of the project Dr. B. Sutradhar  bsutra@ndl.gov.in
Prof. Saswat Chakrabarti  will be added soon
5 Website/Portal (Helpdesk) Queries regarding NDLI and its services support@ndl.gov.in
6 Contents and Copyright Issues Queries related to content curation and copyright issues content@ndl.gov.in
7 National Digital Library of India Club (NDLI Club) Queries related to NDLI Club formation, support, user awareness program, seminar/symposium, collaboration, social media, promotion, and outreach clubsupport@ndl.gov.in
8 Digital Preservation Centre (DPC) Assistance with digitizing and archiving copyright-free printed books dpc@ndl.gov.in
9 IDR Setup or Support Queries related to establishment and support of Institutional Digital Repository (IDR) and IDR workshops idr@ndl.gov.in
I will try my best to help you...
Cite this Content
Loading...