Detecting plagiarism in student Pascal programs
The Computer Journal
A critique of cyclomatic complexity as a software metric
Software Engineering Journal
Identifying the semantic and textual differences between two versions of a program
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
When a software measure is not a measure
Software Engineering Journal
Object-oriented software metrics: a practical guide
Object-oriented software metrics: a practical guide
Comments on 'A Metrics Suite for Object Oriented Design'
IEEE Transactions on Software Engineering
YAP3: improved detection of similarities in computer program and other texts
SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
An Evaluation of the MOOD Set of Object-Oriented Software Metrics
IEEE Transactions on Software Engineering
Proceedings of the tenth annual ACM-SIAM symposium on Discrete algorithms
On the Length of Programs for Computing Finite Binary Sequences: statistical considerations
Journal of the ACM (JACM)
Software maintenance and evolution: a roadmap
Proceedings of the Conference on The Future of Software Engineering
Macro instruction extensions of compiler languages
Communications of the ACM
The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics
IEEE Transactions on Software Engineering
An algorithmic approach to the detection and prevention of plagiarism
ACM SIGCSE Bulletin
Software Complexity: Measures and Methods
Software Complexity: Measures and Methods
Evolving good hierarchical decompositions of complex systems
Journal of Systems Architecture: the EUROMICRO Journal - Special issue on evolutionary computing
Software Cost Estimation with Cocomo II with Cdrom
Software Cost Estimation with Cocomo II with Cdrom
Software Metrics: An Analysis and Evaluation
Software Metrics: An Analysis and Evaluation
A Critical Analysis of Current OO Design Metrics
Software Quality Control
Future trends in software evolution metrics
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
Chidamber and Kemerer's Metrics Suite: A Measurement Theory Perspective
IEEE Transactions on Software Engineering
CCFinder: a multilinguistic token-based code clone detection system for large scale source code
IEEE Transactions on Software Engineering
Preliminary guidelines for empirical research in software engineering
IEEE Transactions on Software Engineering
Locating Features in Source Code
IEEE Transactions on Software Engineering
Using Slicing to Identify Duplication in Source Code
SAS '01 Proceedings of the 8th International Symposium on Static Analysis
On a measure of program structure
Programming Symposium, Proceedings Colloque sur la Programmation
Foundations of Sequence-Based Software Specification
IEEE Transactions on Software Engineering
A tool that detects plagiarism in Pascal programs
SIGCSE '81 Proceedings of the twelfth SIGCSE technical symposium on Computer science education
SIGCSE '81 Proceedings of the twelfth SIGCSE technical symposium on Computer science education
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Quantitative measurement of program quality
ACM '68 Proceedings of the 1968 23rd ACM national conference
Evaluating the Impact of Object-Oriented Design on Software Quality
METRICS '96 Proceedings of the 3rd International Symposium on Software Metrics: From Measurement to Empirical Results
On the Resemblance and Containment of Documents
SEQUENCES '97 Proceedings of the Compression and Complexity of Sequences 1997
Measuring OO Systems: A Critical Analysis of the MOOD Metrics
TOOLS '99 Proceedings of the Technology of Object-Oriented Languages and Systems
On finding duplication and near-duplication in large software systems
WCRE '95 Proceedings of the Second Working Conference on Reverse Engineering
MoJo: A Distance Metric for Software Clusterings
WCRE '99 Proceedings of the Sixth Working Conference on Reverse Engineering
Identifying Similar Code with Program Dependence Graphs
WCRE '01 Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE'01)
A Language Independent Approach for Detecting Duplicated Code
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Winnowing: local algorithms for document fingerprinting
Proceedings of the 2003 ACM SIGMOD international conference on Management of data
On a measure of program structure.
On a measure of program structure.
Comments on "The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics"
IEEE Transactions on Software Engineering
Metrology, Measurement and Metrics in Software Engineering
METRICS '03 Proceedings of the 9th International Symposium on Software Metrics
Identifying redundancy in source code using fingerprints
CASCON '93 Proceedings of the 1993 conference of the Centre for Advanced Studies on Collaborative research: software engineering - Volume 1
Measurements of program similarity in identical task environments
ACM SIGPLAN Notices
Software metrics: an introduction and annotated bibliography
ACM SIGSOFT Software Engineering Notes
Efficient randomized pattern-matching algorithms
IBM Journal of Research and Development - Mathematics and computing
A Differencing Algorithm for Object-Oriented Programs
Proceedings of the 19th IEEE international conference on Automated software engineering
Information-Theoretic Software Clustering
IEEE Transactions on Software Engineering
Correlating Features and Code Using a Compact Two-Sided Trace Analysis Approach
CSMR '05 Proceedings of the Ninth European Conference on Software Maintenance and Reengineering
An approach to the measurement of software evolution: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice - 2003 International Conference on Software Maintenance: The Architectural Evolution of Systems
Quantitative Information Flow, Relations and Polymorphic Types
Journal of Logic and Computation
UMLDiff: an algorithm for object-oriented design differencing
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Challenges in Software Evolution
IWPSE '05 Proceedings of the Eighth International Workshop on Principles of Software Evolution
Algorithmic Clustering of Music Based on String Compression
Computer Music Journal
Software Bugs and Evolution: A Visual Approach to Uncover Their Relationship
CSMR '06 Proceedings of the Conference on Software Maintenance and Reengineering
CP-Miner: Finding Copy-Paste and Related Bugs in Large-Scale Software Code
IEEE Transactions on Software Engineering
Elements of Information Theory (Wiley Series in Telecommunications and Signal Processing)
Elements of Information Theory (Wiley Series in Telecommunications and Signal Processing)
API-Based and Information-Theoretic Metrics for Measuring the Quality of Software Modularization
IEEE Transactions on Software Engineering
Tracking Code Clones in Evolving Software
ICSE '07 Proceedings of the 29th international conference on Software Engineering
The Current State and Future of Search Based Software Engineering
FOSE '07 2007 Future of Software Engineering
A Normalized Levenshtein Distance Metric
IEEE Transactions on Pattern Analysis and Machine Intelligence
JDiff: A differencing technique and tool for object-oriented programs
Automated Software Engineering
Finding similar files in a large file system
WTEC'94 Proceedings of the USENIX Winter 1994 Technical Conference on USENIX Winter 1994 Technical Conference
Identifying Changed Source Code Lines from Version Repositories
MSR '07 Proceedings of the Fourth International Workshop on Mining Software Repositories
Difference computation of large models
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
A Measure of Computational Work
IEEE Transactions on Computers
A General Empirical Solution to the Macro Software Sizing and Estimating Problem
IEEE Transactions on Software Engineering
Software Structure Metrics Based on Information Flow
IEEE Transactions on Software Engineering
An Empirical Study of a Syntactic Complexity Family
IEEE Transactions on Software Engineering
Comparison and Evaluation of Clone Detection Tools
IEEE Transactions on Software Engineering
Finding Clones with Dup: Analysis of an Experiment
IEEE Transactions on Software Engineering
A Program Plagiarism Detection Model Based on Information Distance and Clustering
IPC '07 Proceedings of the The 2007 International Conference on Intelligent Pervasive Computing
WICSA '08 Proceedings of the Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008)
Journal of Software Maintenance and Evolution: Research and Practice
Quantitative information flow as network flow capacity
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Mining Software Repositories to Study Co-Evolution of Production & Test Code
ICST '08 Proceedings of the 2008 International Conference on Software Testing, Verification, and Validation
Visually Summarising Software Change
IV '08 Proceedings of the 2008 12th International Conference Information Visualisation
An Introduction to Kolmogorov Complexity and Its Applications
An Introduction to Kolmogorov Complexity and Its Applications
An architecture-centric software maintainability assessment using information theory
Journal of Software Maintenance and Evolution: Research and Practice
Comparison and evaluation of code clone detection techniques and tools: A qualitative approach
Science of Computer Programming
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Ldiff: An enhanced line differencing tool
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Different models for model matching: An analysis of approaches to support model differencing
CVSM '09 Proceedings of the 2009 ICSE Workshop on Comparison and Versioning of Software Models
Measure software - and its evolution - using information content
Proceedings of the joint international and annual ERCIM workshops on Principles of software evolution (IWPSE) and software evolution (Evol) workshops
Towards the validation of plagiarism detection tools by means of grammar evolution
IEEE Transactions on Evolutionary Computation
Multi-document Summarization by Information Distance
ICDM '09 Proceedings of the 2009 Ninth IEEE International Conference on Data Mining
The Linux kernel as a case study in software evolution
Journal of Systems and Software
A Similarity Measure Using Smallest Context-Free Grammars
DCC '10 Proceedings of the 2010 Data Compression Conference
A note on the estimation of string complexity for short strings
ICICS'09 Proceedings of the 7th international conference on Information, communications and signal processing
Biological information as set-based complexity
IEEE Transactions on Information Theory - Special issue on information theory in molecular biology and neuroscience
Nonapproximability of the normalized information distance
Journal of Computer and System Sciences
IEEE Transactions on Information Theory
IEEE Transactions on Information Theory
Shared information and program plagiarism detection
IEEE Transactions on Information Theory
IEEE Transactions on Information Theory
IEEE Transactions on Information Theory
Measuring multi-language software evolution: a case study
Proceedings of the 12th International Workshop on Principles of Software Evolution and the 7th annual ERCIM Workshop on Software Evolution
Information distance and its extensions
DS'11 Proceedings of the 14th international conference on Discovery science
Fault localization prioritization: Comparing information-theoretic and coverage-based approaches
ACM Transactions on Software Engineering and Methodology (TOSEM) - In memoriam, fault detection and localization, formal methods, modeling and design
Behavioral modeling and formal verification of a resource discovery approach in Grid computing
Expert Systems with Applications: An International Journal
Hi-index | 0.00 |
In order to study software evolution, it is necessary to measure artefacts representative of project releases. If we consider the process of software evolution to be copying with subsequent modification, then, by analogy, placing emphasis on what remains the same between releases will lead to focusing on similarity between artefacts. At the same time, software artefacts-stored digitally as binary strings-are all information. This paper introduces a new method for measuring software evolution in terms of artefacts' shared information content. A similarity value representing the quantity of information shared between artefact pairs is produced using a calculation based on Kolmogorov complexity. Similarity values for releases are then collated over the software's evolution to form a map quantifying change through lack of similarity. The method has general applicability: it can disregard otherwise salient software features such as programming paradigm, language or application domain because it considers software artefacts purely in terms of the mathematically justified concept of information content. Three open-source projects are analysed to show the method's utility. Preliminary experiments on udev and git verify the measurement of the projects' evolutions. An experiment on ArgoUML validates the measured evolution against experimental data from other studies.