6,173 research outputs found

    C to O-O Translation: Beyond the Easy Stuff

    Full text link
    Can we reuse some of the huge code-base developed in C to take advantage of modern programming language features such as type safety, object-orientation, and contracts? This paper presents a source-to-source translation of C code into Eiffel, a modern object-oriented programming language, and the supporting tool C2Eif. The translation is completely automatic and supports the entire C language (ANSI, as well as many GNU C Compiler extensions, through CIL) as used in practice, including its usage of native system libraries and inlined assembly code. Our experiments show that C2Eif can handle C applications and libraries of significant size (such as vim and libgsl), as well as challenging benchmarks such as the GCC torture tests. The produced Eiffel code is functionally equivalent to the original C code, and takes advantage of some of Eiffel's object-oriented features to produce safe and easy-to-debug translations

    Feasibility study of an Integrated Program for Aerospace-vehicle Design (IPAD) system. Volume 6: Implementation schedule, development costs, operational costs, benefit assessment, impact on company organization, spin-off assessment, phase 1, tasks 3 to 8

    Get PDF
    A baseline implementation plan, including alternative implementation approaches for critical software elements and variants to the plan, was developed. The basic philosophy was aimed at: (1) a progressive release of capability for three major computing systems, (2) an end product that was a working tool, (3) giving participation to industry, government agencies, and universities, and (4) emphasizing the development of critical elements of the IPAD framework software. The results of these tasks indicate an IPAD first release capability 45 months after go-ahead, a five year total implementation schedule, and a total developmental cost of 2027 man-months and 1074 computer hours. Several areas of operational cost increases were identified mainly due to the impact of additional equipment needed and additional computer overhead. The benefits of an IPAD system were related mainly to potential savings in engineering man-hours, reduction of design-cycle calendar time, and indirect upgrading of product quality and performance

    The institutional character of computerized information systems

    Get PDF
    We examine how important social and technical choices become part of the history of a computer-based information system (CB/SJ and embedded in the social structure which supports its development and use. These elements of a CBIS can be organized in specific ways to enhance its usability and performance. Paradoxically, they can also constrain future implementations and post-implementations.We argue that CBIS developed from complex, interdependent social and technical choices should be conceptualized in terms of their institutional characteristics, as well as their information-processing characteristics. The social system which supports the development and operation of a CBIS is one major element whose institutional characteristics can effectively support routine activities while impeding substantial innovation. Characterizing CBIS as institutions is important for several reasons: (1) the usability of CBIS is more critical than the abstract information-processing capabilities of the underlying technology; (2) CBIS that are well-used and have stable social structures are more difficult to replace than those with less developed social structures and fewer participants; (3) CBIS vary from one social setting to another according to the ways in which they are organized and embedded in organized social systems. These ideas are illustrated with the case study of a failed attempt to convert a complex inventory control system in a medium-sized manufacturing firm

    Language history : A tale of two countries

    Get PDF
    This paper looks at the relationships between industry computer languages and those taught in universities. By considering the differences between two of the first countries to embrace programmable computers (USA and Australia) we find patterns that seem culturally independent. History shows a set of recurring problems for academics in choosing languages. This study shows that academics should be informed by history when making those decisions.2nd IFIP Conference on the History of Computing and EducationRed de Universidades con Carreras en Informática (RedUNCI

    Cracking the Code: How to Prevent Copyright Termination From Upending the Proprietary and Open Source Software Markets

    Get PDF
    Computer software is protected by copyright law through its underlying code, which courts have interpreted as constituting a “literary work” pursuant to the Copyright Act. Prior to including software as copyrightable subject matter, Congress established a termination right which grants original authors the ability to reclaim their copyright thirty-five years after they have transferred it. Termination was intended to benefit up-and-coming authors who faced an inherent disadvantage in the market when selling the rights to their works. In the near future, many software works will reach the thirty-five-year threshold, thus presenting courts with a novel application of termination to computer software. Software’s inclusion as copyrightable subject matter has long been seen as a poor fit when compared to other copyrightable works, such as music, movies, and art. This perceived difference will soon be exacerbated because termination poses unique threats as applied to software, primarily due to the functional aspects of software that are necessarily incidental to the protected code. Problems stemming from termination will manifest differently in the two primary software markets known as proprietary software and open source software. Independent contractors may be able to terminate copyrights held in software they had previously written for a business’s proprietary ownership, whereas, in the context of open source software, exercise of termination could make void perpetual licensing agreements that serve as the foundation for the open source movement. While statutory and common law exceptions to termination, such as the work made for hire doctrine, may mitigate the effects of termination, the degree to which the doctrines may do so has yet to be determined. This Note argues that the harmful effects of termination as applied to proprietary software can be resolved through a novel interpretation of the work made for hire provision of the Copyright Act. Additionally, the harmful effects of termination on open source software can be avoided if Congress adopts a legislative amendment creating a compulsory licensing system for open source works

    Programming language trends : an empirical study

    Get PDF
    Predicting the evolution of software engineering technology trends is a dubious proposition. The recent evolution of software technology is a prime example; it is fast paced and affected by many factors, which are themselves driven by a wide range of sources. This dissertation is part of a long term project intended to analyze software engineering technology trends and how they evolve. Basically, the following questions will be answered: How to watch, predict, adapt to, and affect software engineering trends? In this dissertation, one field of software engineering, programming languages, will be discussed. After reviewing the history of a group of programming languages, it shows that two kinds of factors, intrinsic factors and extrinsic factors, could affect the evolution of a programming language. Intrinsic factors are the factors that can be used to describe the general desigu criteria of programming languages. Extrinsic factors are the factors that are not directly related to the general attributes of programming languages, but still can affect their evolution. In order to describe the relationship of these factors and how they affect programming language trends, these factors need to be quantified. A score has been assigued to each factor for every programming language. By collecting historical data, a data warehouse has been established, which stores the value of each factor for every programming language. The programming language trends are described and evaluated by using these data. Empirical research attempts to capture observed behaviors by empirical laws. In this dissertation, statistical methods are used to describe historical programming language trends and predict the evolution of the future trends. Several statistics models are constructed to describe the relationships among these factors. Canonical correlation is used to do the factor analysis. Multivariate multiple regression method has been used to construct the statistics models for programming language trends. After statistics models are constructed to describe the historical programming language trends, they are extended to do tentative prediction for future trends. The models are validated by comparing the predictive data and the actual data

    Full Issue: Volume 3, Issue 2

    Get PDF
    The second issue in the third volume of the Swarthmore Undergraduate History Journal
    • …
    corecore