Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
HyperDiff: Computing Source Code Diffs at Scale
ESEC/FSE 2023: Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software EngineeringPages 288–299https://doi.org/10.1145/3611643.3616312With the advent of fast software evolution and multistage releases, temporal code analysis is becoming useful for various purposes, such as bug cause identification, bug prediction or code evolution analysis. Temporal code analyses can consist in ...
- short-paperOctober 2022
didiffff: a viewer for comparing changes in both code and execution traces
ICPC '22: Proceedings of the 30th IEEE/ACM International Conference on Program ComprehensionPages 528–532https://doi.org/10.1145/3524610.3527877One of the important purposes of code review is to find potential defects caused by other developers' code changes. When reviewing bug fixes, it is important to check the program behavior is properly changed to remove the bug. On the other hand, it is ...
- short-paperSeptember 2019
Multi-layered edits for meaningful interpretation of textual differences
DocEng '19: Proceedings of the ACM Symposium on Document Engineering 2019Article No.: 22, Pages 1–4https://doi.org/10.1145/3342558.3345406The way humans and algorithms look at and understand differences between versions and variants of the same text may be very different. While correctness and overall byte length are fundamental aspects of good outputs of diff algorithms, they do not ...
- research-articleJuly 2019
An efficient algorithm for type-safe structural diffing
Proceedings of the ACM on Programming Languages (PACMPL), Volume 3, Issue ICFPArticle No.: 113, Pages 1–29https://doi.org/10.1145/3341717Effectively computing the difference between two version of a source file has become an indispensable part of software development. The de facto standard tool used by most version control systems is the UNIX diff utility, that compares two files on a ...
- short-paperAugust 2018
diffi: diff improved; a preview
DocEng '18: Proceedings of the ACM Symposium on Document Engineering 2018Article No.: 38, Pages 1–4https://doi.org/10.1145/3209280.3229084diffi (diff improved) is a comparison tool whose primary goal is to describe the differences between the content of two documents regardless of their formats.
diffi examines the stacks of abstraction levels of the two documents to be compared, finds ...
-
- short-paperAugust 2016
Mining revision histories to detect cross-language clones without intermediates
ASE '16: Proceedings of the 31st IEEE/ACM International Conference on Automated Software EngineeringPages 696–701https://doi.org/10.1145/2970276.2970363To attract more users on different platforms, many projects release their versions in multiple programming languages (e.g., Java and C#). They typically have many code snippets that implement similar functionalities, i.e., cross-language clones. ...
- short-paperOctober 2015
Implementing real-time collaboration in TouchDevelop using AST merges
MobileDeLi 2015: Proceedings of the 3rd International Workshop on Mobile Development LifecyclePages 25–27https://doi.org/10.1145/2846661.2846672Collaborating on a piece of code is notoriously difficult when the number of people involved goes above 1. In particular, every computer programmer dreads the "merge conflict", a brutal, unforgiving experience, where they must reconcile their changes ...
- short-paperSeptember 2015
An Approach for Designing Proofreading Views in Publishing Chains
DocEng '15: Proceedings of the 2015 ACM Symposium on Document EngineeringPages 215–218https://doi.org/10.1145/2682571.2797096Documentary production often involves a revising process in which documents need to be proofread. This important task faces new challenges when dealing with digital documents. Indeed, three features of digital writing are problematic: (1) documents ...
- ArticleSeptember 2014
Towards a Difference Detection Algorithm Aware of Refactoring-Related Changes
ARES '14: Proceedings of the 2014 Ninth International Conference on Availability, Reliability and SecurityPages 111–120https://doi.org/10.1109/SBES.2014.21During the software life cycle, artifacts change in response to both corrective and evolutive demands. These changes usually entail source-code refactorings. However, conventional diff algorithms do not precisely capture such type of changes due to ...
- research-articleSeptember 2014
Fine-grained change detection in structured text documents
DocEng '14: Proceedings of the 2014 ACM symposium on Document engineeringPages 87–96https://doi.org/10.1145/2644866.2644880Detecting and understanding changes between document revisions is an important task. The acquired knowledge can be used to classify the nature of a new document revision or to support a human editor in the review process. While purely textual change ...
- research-articleOctober 2013
Static analysis for dynamic updates
CEE-SECR '13: Proceedings of the 9th Central & Eastern European Software Engineering Conference in RussiaArticle No.: 7, Pages 1–6https://doi.org/10.1145/2556610.2556620Dynamic system update problem, DSU, is about replacing a running application with another version without interrupting its work or disrupting its users. Some solutions for DSU support only certain kinds of updates, which makes it dangerous to apply them ...
- research-articleSeptember 2013
Generic representations of tree transformations
WGP '13: Proceedings of the 9th ACM SIGPLAN workshop on Generic programmingPages 73–84https://doi.org/10.1145/2502488.2502490Applications which deal with editing of structured data over multiple iterations, such as structure editors, exercise assistants, or applications which support incremental computation, need to represent transformations between different versions of ...
- ArticleSeptember 2013
LHDiff: A Language-Independent Hybrid Approach for Tracking Source Code Lines
ICSM '13: Proceedings of the 2013 IEEE International Conference on Software MaintenancePages 230–239https://doi.org/10.1109/ICSM.2013.34Tracking source code lines between two different versions of a file is a fundamental step for solving a number of important problems in software maintenance such as locating bug introducing changes, tracking code fragments or defects across versions, ...
- research-articleSeptember 2013
Introduction to the universal delta model
DocEng '13: Proceedings of the 2013 ACM symposium on Document engineeringPages 47–56https://doi.org/10.1145/2494266.2494284There are currently no shared formalization of the output of diff algorithms, the so called deltas. From a theoretical point of view, without such a formalization it is difficult to compare the output of different algorithms. In more practical terms, ...
- research-articleApril 2013
High-level change detection in RDF(S) KBs
ACM Transactions on Database Systems (TODS), Volume 38, Issue 1Article No.: 1, Pages 1–42https://doi.org/10.1145/2445583.2445584With the increasing use of Web 2.0 to create, disseminate, and consume large volumes of data, more and more information is published and becomes available for potential data consumers, that is, applications/services, individual users and communities, ...
- research-articleOctober 2011
Categorising logical differences between OWL ontologies
CIKM '11: Proceedings of the 20th ACM international conference on Information and knowledge managementPages 1541–1546https://doi.org/10.1145/2063576.2063797The analysis of changes between OWL ontologies (in the form of a diff ) is an important service for ontology engineering. A purely syntactic analysis of changes is insufficient to distinguish between changes that have logical impact and those that do ...
- research-articleNovember 2010
Energy-Efficient Progressive Remote Update for Flash-Based Firmware of Networked Embedded Systems
ACM Transactions on Design Automation of Electronic Systems (TODAES), Volume 16, Issue 1Article No.: 7, Pages 1–26https://doi.org/10.1145/1870109.1870116Firmware update over a network connection is an essential but expensive feature for many embedded systems due to not only the relatively high power consumption and limited bandwidth, but also page-granular erasure before rewriting to flash memory. This ...
- ArticleOctober 2010
Visually Supporting Source Code Changes Integration: The Torch Dashboard
WCRE '10: Proceedings of the 2010 17th Working Conference on Reverse EngineeringPages 55–64https://doi.org/10.1109/WCRE.2010.15Automatic and advanced merging algorithms help programmers to merge their modifications in main development repositories. However, there is little support to help release masters (integrators) to take decisions about the integration of published merged ...
- ArticleOctober 2009
Requirements for Practical Model Merge --- An Industrial Perspective
MODELS '09: Proceedings of the 12th International Conference on Model Driven Engineering Languages and SystemsPages 167–180https://doi.org/10.1007/978-3-642-04425-0_13All the support tools that developers are used to must be in place, if the use of model-centric development in companies has to take off. Industry deals with big models and many people working on the same model. Collaboration in a team inevitably leads ...
- ArticleSeptember 2009
Lightweight Techniques for Tracking Unique Program Statements
SCAM '09: Proceedings of the 2009 Ninth IEEE International Working Conference on Source Code Analysis and ManipulationPages 99–108https://doi.org/10.1109/SCAM.2009.19Previous work on tracking source locations has focused on tracking lines through multiple revisions of software.In this paper, we explore a new technique for tracking statements, rather than lines, across multiple revisions of Java source code.We show ...