Object-Oriented Identifier Renaming Correction in Three-Way Merge

نویسندگان

  • László Angyal
  • László Lengyel
  • Hassan Charaf
چکیده

There are two traditional concurrency models among the source code management (SCM) systems: lock and merge models. The lock model prevents the concurrent modification on the same files, but the merge model allows the parallel editing, and performs a merge to reconcile the changes. A three-way merge engine is a usual part of SCM systems, some of them attempt to auto-merge the files, but sometimes they fail due to textual-based approaches or semantic conflicts. The merge should produce syntactically correct source files, but semantic correctness cannot be ensured trivially. The best methods treat modifications as semantic changes in high abstraction level, rather than atomic changes. The atomic changes do not reflect the intentions of the developers, therefore discovering those intentions can significantly improve semantic merge approaches. This paper introduces that matching the corresponding identifiers e.g. class, field, method, local variables in the ASTs of the revisions, and detection of renaming takes closer to semantic correctness. Renaming of an identifier can cause semantic errors in the output of the merge. This issue is examined and a solution is elaborated in this work.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Detecting Renamings in Three-Way Merging

Teamwork is the typical characteristic of software development, because the tasks can be splitted and parallelized. The independently working developers use Software Configuration Management (SCM) systems to apply version control to their files and to keep them consistent. Several SCM systems allow working on the same files concurrently, and attempt to auto-merge the files in order to facilitat...

متن کامل

Patterns for Renaming and Stamping Out Object-Oriented Models

Modern system engineering is supported by a families of modelling languages; each member of a specific family addresses a different aspect of the application domain. Constructing families of modelling languages is facilitated by the use of packages and templates. Packages are containers of modelling elements. Packages may be specialised and merged. Renamings may be applied to packages. Template...

متن کامل

Overcoming the obfuscation of Java programs by identifier renaming

Decompilation is the process of translating object code to source code and is usually the first step towards the reverse-engineering of an application. Many obfuscation techniques and tools have been developed, with the aim of modifying a program, such that its functionalities are preserved, while its understandability is compromised for a human reader or the decompilation is made unsuccessful....

متن کامل

Issues in the Design of an Object Oriented Programming Language

The object oriented paradigm, which advocates bottom-up program development, appears at rst sight to run counter to the classical, top-down approach of structured programming. The deep requirement of structured programming, however, is that programming should be based on well-de ned abstractions with clear meaning rather than on incidental characteristics of computing machinery. This requiremen...

متن کامل

Towards Modular Concurrency Control for Object-Oriented Distributed Systems

Object-based distributed systems are intended to merge the beneets of both object-based languages and distribution. To make such systems useful, it is however necessary to extend the basic object model so that it can permit the expression of distribution related aspects. In this paper, we discuss the issues raised by designing transaction concurrency control within an object-oriented distribute...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007