7 research outputs found

    VC2-providing awareness in off-the-shelf version control systems

    Get PDF
    Version control systems have been used to help groups of people working at the same or distributed sites to cooperatively create documents. In particular, these systems are very popular in distributed collaborative software development. However, even using these systems, users often perform concurrent changes that require manual con ict resolution. Important causes for this situation are the lack of mutual awareness and coordination, among developers, and reluctance to commit unstable modifications. The paper addresses this problem by providing a tool that integrates with offthe-shelf version control systems and monitors filesystem accesses to relevant files in order to enhance the awareness among developers. With VC2 users can be aware of uncommitted changes made by remote users; receive request to commit their own changes; be advised to update their local versions. While the final decision is always under user control, the team is made aware of the level of risk when delaying commits and updates

    Using Texture Vector Analysis to Measure Computer and Device File Similarity

    Get PDF
    Executable programs run on computers and digital devices. These programs are pre-installed by the device vendor or are downloaded or copied from a storage media. It is useful to study file similarity between executable files to verify valid updates, identify potential copyright infringement, identify malware, and detect other abuse of purchased software. An alternative to relying on simplistic methods of file comparison, such as comparing their hash codes to see if they are identical, is to identify the "texture" of files and then assess its similarity between files. To test this idea, we experimented with a sample of 23 Windows executable file families and 1,386 files. We identify points of similarity between files by comparing sections of data in their standard deviations, means, modes, mode counts, and entropies. When vectors are sufficiently similar, we calculate the offsets (shifts) between the sections to get them to align. Using analysis on these shifts, we can measure file similarity efficiently. By plotting similarity vs. time, we track the progression of similarity between files.Prepared for the Naval Postgraduate School, Monterey, CA 93943.Naval Postgraduate SchoolApproved for public release; distribution is unlimited.Approved for public release; distribution is unlimited

    Version Control Integration of Build Maintenance Tools with Formiga

    Get PDF
    The task of build maintenance consists of creating, configuring, and updating the build system of a software engineering project. A project of sufficient size and scope is likely to have some sort of build system due to the complexity and time required to create a finished product. Build maintenance has been shown to greatly increase the cost of developing software due to the common need to modify a build system at the same time as the source code. Unfortunately, there is little in the way of tool support to assist developers with build maintenance. Formiga is a build maintenance and dependency discovery tool developed by Hardt. Formiga provides support for build refactoring, dependency identification, and automatic build updating based on modifications to source code. This thesis expands upon the original Formiga tool by investigating what kind of hurdles would be involved in integrating it with a production-quality version control system. An initial implementation of version control integration is built on top of the Formiga IDE plugin. It makes use of a mock version control system to keep track of file and file dependency history. This work, while not integrating with a production-quality version control system, lays a basis on which to perform that full integration in future iterations of Formiga

    The Semantics of Version Control

    No full text

    Information repository design for software evolution

    No full text
    grantor: University of TorontoThis thesis proposes a repository-based toolset integration architecture of information repository for software evolution. It is based on the Telos repository and MBus communication protocol, which has been used in the Namima project to support program understanding, design capturing, and process management activities. The architecture is enhanced by the design of a generic schema for software configuration management (SCM) and change management that is in parallel to the integration strategy used by the Namima project. The semantics of version control and configuration management is supported in the repository through rules and attribute relations. The basic SCM functions can be implemented as transparent services to other tools. Version integration with other toolsets and models is achieved. CausalLink and VerifyLink is defined to represent automatic and manual change propagation. Formal semantics of reasoning propagation links is defined and used in change impact analysis. This design is independent of models and programming languages.M.Sc
    corecore