Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
2011, Lecture Notes in Computer Science
Versioning helps users to keep track of different sets of edits on a document. Version merging methods enable users to determine which parts of which version they wish to include in the next or final version. We explored several existing and two new methods (highlighting and overlay) in single and multiple window settings. We present the results of our quantitative user studies, which show that the new highlighting and overlay techniques are preferred for version merging tasks. The results suggest that the most useful methods are those which clearly and easily present information that is likely important to the user, while simultaneously hiding less important information. Also, multi window version merging is preferred over single window merging.
2017
Giving me all the necessary support, not only as an advisor, but as a friend. Thank you for all the availability, assisting, advising and correcting. Thank to all the other professors who contributed to my development as a student, as a professional and as a person. Especially, to my committe members John Boyland and Ichiro Suzuki. Thanks to Cheng Thao for all the support and previous work shared. Thanks to my family for giving all necessary support: my parents, Alexandre Azevedo and Ana Paula Azevedo, my brothers Henrique Azevedo, Arthur Azevedo and my sister Luana Azevedo. I would like to thank my fiance and future wife Leticia for giving me extra support and encouragement. I would also like to thank my friend and coworker Ahmed Shatnawi who was always there to support, discuss and collaborate. vi
Multidiszciplináris tudományok, 2020
During software development, when developers change the same part of the code concurrently, this may be led to merging conflicts. Resolving these conflicts might be costly and time-consuming. Three types of conflicts may arise during merge processes: textual, syntactic, and semantic. Textual conflicts occur when merging a concurrent operation, such as addition, removal or edition take place over the same parts of code. Syntactic conflicts occur when concurrent operations break the syntactic structure of the source code files when merged. Finally, a semantic conflict occurs when the merged modification is compiled without error but malfunctions. Version management systems usually use textual merging technique; users can synchronize their modifications with other users working in parallel with them, in this process, a merge is performed between local modifications and remote modifications. The previous work has examined different mechanisms to detect and resolve conflicts and proposed different tools for resolving merge conflicts, such as two-way merging, three-way merging, state-based merging, and operation-based merging. This paper discusses and investigates many concepts related to merging conflicts by asking and answering these questions; what are the factors that most affect in a merge conflict, how to avoiding and reducing merge conflicts, how to detecting merge conflicts, and how to resolve them.
2008
Abstract���Researchers in literature need to compare several versions of one or more poems or articles for investigating their historical and literary significance. Current tools do not adequately support their requirements. We address some of these issues by developing MultiVersioner, a tool designed to interactively analyze multiple documents, each consisting of several versions. Additionally, MultiVersioner enables users to search for entities such as words, phrases and lines, and facilitates the analysis of their frequency patterns.
Context: To reduce the integration effort arising from conflicting changes resulting from collaborative software development tasks, unstructured merge tools try to automatically solve part of the conflicts via textual similarity, whereas structured and semistructured merge tools try to go further by exploiting the syntactic structure of the involved artifacts. Objective: In this study, aiming at increasing the existing body of evidence and assessing results for systems developed under an alternative version control paradigm, we replicate an experiment conducted by Apel et al. to compare the unstructured and semistructured approach with respect to the occurrence of conflicts reported by both approaches. Method: We used both semistructured and unstructured merge in a sample 2.5 times bigger than the original study regarding the number of projects and 18 times bigger regarding the number of merge scenarios, and we compared the occurrence of conflicts. Results: Similar to the original study, we observed that semistructured merge reduces the number of conflicts in 55% of the scenarios of the new sample. However, the observed average conflict reduction of 62% in these scenarios is far superior than what has been observed before. We also bring new evidence that the use of semistructured merge can reduce the occurrence of conflicting merge scenarios by half. Conclusions: Our findings reinforce the benefits of exploiting the syntactic structure of the artifacts involved in code integration. Besides, the reductions observed in the number and size of conflicts suggest that the use of semistructured merge,when compared to the unstructured approach, might decrease integration effort without compromising correctness.
Proceedings of the 1992 ACM conference on Computer-supported cooperative work - CSCW '92, 1992
An important activity in collaborative writing is communicating about changes to texts,, This paper reports on a software system, ji'exible cliff, that finds and reports differences ("cliffs") between versions of texts. The system is flexible, allowing users to control several aspects of its operation including what changes are reported and how they are shown when they are reported. We argue that such flexibility is necessary to support users' different social and cognitive needs.
2002
Parallel development has become standard practice in software development and maintenance. Though most every revision control and configuration management system provides some form of merging for combining changes made in parallel, these mechanisms often yield unsatisfactory results. The authors present a new merging algorithm, that uses a fast differencing algorithm and renaming analysis to provide better merge results. The system is language aware, but not language dependent and does not require a special editor, so it can be easily integrated in current development environments.
Computer Supported Cooperative Work, 2008
Although the multi-version approach to consistency maintenance has been widely discussed and implemented in database systems, version control systems, and asynchronous groupware systems, its potential in real-time groupware systems is largely unexplored. Intention preservation is an important aspect of consistency maintenance in real-time collaborative editing systems, where multiple users cooperate with each other by concurrently editing the same document. The multi-version approach is supposed to be able to preserve individual users’ concurrent conflicting intentions. In this article, we propose a new multi-versioning scheme that can preserve not only concurrent conflicting intentions but also contextual intentions while achieving convergence of the document under editing. By extending an existing multi-versioning scheme to a general one that specifies the conditions for convergence, we decouple the discussion of convergence from that of intention preservation. By constraining the general scheme, we arrive at the novel scheme that guarantees to preserve users’ intentions. The correctness of the scheme has been formally verified. The design of an algorithm for consistent version composition and identification has been discussed in detail.
Version control systems (VCS), such as Subversion and Git, are pervasive in industry; they are invaluable tools for collaborative development that allow software engineers to track changes, monitor issues, merge work from multiple people, and manage releases. These tools are most effective when they are a part of a developer’s habitual work- flow. Unfortunately, the use of these powerful tools is often taught much later in a developer’s educational career than other tools like programming languages or databases. Even an experienced student’s first experience with version control can be unpleasant. In this paper, the authors analyze the workflow of two common Version Control Systems with different version controls (Subversion and Git) to build a common visual language for these systems (Version Control Visual Language, or VeCVL), and show that the same visual language applies to other version control systems.
2007
Résumé: In the last years network connectivity continuously expanded. However, existing collaborative environments were not designed to benefit from the fact that users are connected most of the time. For example, Wiki or version control systems allow users to work in isolation, but they tolerate blind modifications. For instance, users may concurrently perform the same task or they might work on obsolete versions of shared documents. We propose a novel writing mode for avoiding blind modifications by providing real-time ...
2004
Highlighting is a common tool in most single-user editors. It provides users with a mechanism of communication and collaboration between the author and readers by emphasizing some important text. This tool is also necessary and even more valuable in multi-user collaborative editors. However, it is non-trivial to extend it from single-user environment to multi-user environment because of the following challenges: (1) the need to differentiate highlights performed by different users, (2) the need to tackle inconsistency problems caused by concurrent operations and non-deterministic communication latency, and (3) the need to provide a flexible undo facility with the capability of undoing any highlighting operation at any time. In this paper, we will systematically address these issues and offer our solutions. These solutions lay a foundation for handling update operations similar in nature to highlighting, which update attributes of text instead of inserting/deleting text.
2002
The Software Concordance is a hypermedia software development environment exploring how document technology and versioned hypermedia can improve software document management. The Software Concordance’s central tool is a document editor that integrates program analysis and hypermedia services for both source code and multi media documentation in XML. The editor allows developers to embed inline multimedia documentation, including images and audio
Proceedings of the 2003 ACM symposium on Document engineering - DocEng '03, 2003
In this paper, we present a framework for coupling an existing formatting system such as SMIL [7] and Madeus [13] with a formatting control system XEF [10]. This framework allows the coupling process to be performed at two levels: 1) the language level, which is concerned with how to link the control features of XEF and the elements of an existing formatting system, and 2) the formatter level, which deals with the creation of a new formatter by formatter composition. The overall objective is to provide more powerful and flexible formatting services to cover new needs such adaptive and/or generated presentations.
Lecture Notes in Computer Science, 2011
Collaborative software tools allow people to share documents and knowledge via Internet, in a simple, economic and efficient way. Unfortunately collaborative software often relies heavily on visual features and dynamic technologies with user interfaces that are difficult to use via screen reader, or are sometimes even inaccessible for the blind. In this paper we illustrate and discuss results of an accessibility inspection of the main collaborative functions of Google Docs using the JAWS screen reader. Results highlight several difficulties encountered when interacting with elements of the Google Docs interfaces. Content perception is often incomplete, since many elements or changes occurring in the collaborative environment are not intercepted by the screen reader and announced to the user. In addition, the behavior of the collaborative functions analyzed (as well as the rendering) changes from one web browser to another. Some general guidelines are discussed, for designing user interfaces of collaborative editors that are more usable when interacting via screen reader.
1999
The task of creating documents collaboratively is complex and it requires sophisticated tools. Structured documents provide a semi-organised writing environment where collaboration may assume more controlled forms than with other document types. CoEd is a writing environment that provides integrated structure support, content overview and version management for complex and hierarchical documents (eg technical documentation).
1996
Multi-view editing is useful in many situations where users of a software application want to see and interact with different representations of the same information. This paper describes a new approach to keeping free-edited multiple textual and graphical views of information consistent. Descriptions of changes to information items are displayed in various ways in the multiple views of these items. Users can request an editing tool to automatically apply changes to a view, select a change to make from a range of possible changes, or manually implement changes to maintain view consistency. Semantic errors, user-defined changes and hierarchical changes can be represented, and this technique also supports flexible view consistency for cooperative work systems. Experience with this technique in several diverse multi-view editing environments is described.
Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing, 2017
In this paper, we present a novel approach to infer significance of various textual edits to documents. An author may make several edits to a document; each edit varies in its impact to the content of the document. While some edits are surface changes and introduce negligible change, other edits may change the content/tone of the document significantly. In this paper, we perform an analysis of the human perceptions of edit importance while reviewing documents from one version to the next. We identify linguistic features that influence edit importance and model it in a regression based setting. We show that the predicted importance by our approach is highly correlated with the human perceived importance, established by a Mechanical Turk study.
2007 29th International Conference on Information Technology Interfaces, 2007
The software development team is regularly faced with two major problems: access to previous software versions and simultaneous work of many programmers on the same source code at the same time. Some development teams solve these problems by using version control tools, while others opt for manual version control. This paper analyzes both approaches and compares them according to certain criteria.
36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the, 2003
A number of real-time group editors have been developed as vehicles for investigating various technical issues in computer-supported cooperative work (CSCW). Excellent as they are in serving academic purposes, those research prototypes are not (and will probably not be) widely used by ordinary users for "serious" group editing activities. The reason is primarily that they are generally not as powerful or usable as single-user editors that people are already familiar with. In this paper, we propose a novel approach which converts existing singleuser editors to group editors without modifying their source code. As a result, different editors such as Word and GVim can be shared by a group of distributed users to edit the same document simultaneously. Users can use familiar single-user editors for collaborative editing which are allowed to be heterogeneous. Towards this end we have been working on a research project called intelligent collaboration transparency or ICT to address related technical issues. Our work is novel compared to existing application-sharing systems especially in that it is able to interoperate heterogeneous single-user applications. We report our latest progress on this project.
Workshop on Variability …
Revision control systems are a major means to manage versions and variants of today's software systems. An ongoing problem in these systems is how to resolve conflicts when merging independently developed revisions. Unstructured revision control systems are purely text-based and solve conflicts based on textual similarity. Structured revision control systems are tailored to specific languages and use language-specific knowledge for conflict resolution. We propose semistructured revision control systems to inherit the strengths of both classes of systems: generality and expressiveness. The idea is to provide structural information of the underlying software artifacts in the form of annotated grammars, which is motivated by recent work on software product lines. This way, a wide variety of languages can be supported and the information provided can assist the resolution of conflicts. We have implemented a preliminary tool and report on our experience with merging Java artifacts. We believe that drawing a connection between revision control systems and product lines has benefits for both fields.
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.