304,129 research outputs found

    Type checking cryptography implementations

    Get PDF
    Proceedings da conferĂŞncia Fundamentals of Software Engineering 2011Cryptographic software development is a challenging field: high performance must be achieved, while ensuring correctness and compliance with low-level security policies. CAO is a domain specific language designed to assist development of cryptographic software. An important feature of this language is the design of a novel type system introducing native types such as predefined sized vectors, matrices and bit strings, residue classes modulo an integer, finite fields and finite field extensions, allowing for extensive static validation of source code. We present the formalisation, validation and implementation of this type system.(undefined

    DEVELOPMENT AND IMPLEMENTATION OF A BIOINFORMATICS ONLINE DISTANCE EDUCATION LEARNING TOOL FOR AFRICA

    Get PDF
    Bioinformatics refers to the creation and advancement of algorithms, computational and statistical techniques and theories for solving formal and practical problems arising from the management and analysis of biological data. However, some parts of the African continent have not been properly sensitized to bio-scientific and computing field. Thus, there is the need for appropriate strategies of introducing the basic components of this emerging scientific field to part of the African populace through the development of an online distance education learning tool. This study involved the design of a bioinformatics online distance educative tool an implementation of the bioinformatics online distance educative tool by a programming approach. Design and implementation were done using the Borland Delphi 7 Enterprise edition within its Integrated Development Environment. The advantage of using Delphi programming language in implementing this useful bioinformatics web tool is that Delphi programming language is an object oriented programming language that has a lot of extra facilities for the enhancement of further technical functions, which ordinary HTML cannot handle. The development and use of a bioinformatics distance education software, as a teaching tool, in some African countries holds great promise for accommodating the needs of the populace, who live in cities, small towns and remote areas

    Net-distributed Co-operation Including Developing Countries, Practical Case Study - Iran

    Get PDF
    The scientific transfer of key technology features to developing countries, together with adequate competence, localisation and adaptation, is the primary purpose of the proposed investigation. It is evident that introducing high-level CAD design and detailing will improve the planning process in developing countries. Successful utilization of applied information technology for the planning process, however, depends on the user-interface of individual software. Therefore, to open the great opportunity embedded in CAD software for clients globally, the language and character-set barrier of traditional user-interfaces must be overcome. A proposal for a research program is given here to address such issue in favour of global civil engineering

    Flexible Object Layouts: enabling lightweight language extensions by intercepting slot access

    Get PDF
    International audienceProgramming idioms, design patterns and application li- braries often introduce cumbersome and repetitive boiler- plate code to a software system. Language extensions and external DSLs (domain specific languages) are sometimes introduced to reduce the need for boilerplate code, but they also complicate the system by introducing the need for lan- guage dialects and inter-language mediation. To address this, we propose to extend the structural reflec- tive model of the language with object layouts, layout scopes and slots. Based on the new reflective language model we can 1) provide behavioral hooks to object layouts that are triggered when the fields of an object are accessed and 2) simplify the implementation of state-related language exten- sions such as stateful traits. By doing this we show how many idiomatic use cases that normally require boilerplate code can be more effectively supported. We present an implementation in Smalltalk, and illustrate its usage through a series of extended examples

    People-Specific Languages: a case for automated programming language generation by reverse-engineering programmer minds

    Get PDF
    The innovation of DSLs was the recognition that each application domain has its few idiomatic patterns of language use, found often in that domain and rarely in others. Capturing these idioms in the language design makes a DSL and yields gains in productivity, reliability and maintainability. Similarly, different groups of programmers have different predominant cognitive quirks. In this article I argue that programmers are attracted to some types of languages that resonate with their quirks and reluctant to use others that grate against them. Hence the question: could we tailor or evolve programming languages to the particular personality of their users? Due to the sheer diversity of personality types, any answer should be combined with automated language generation. The potential benefits include a leap in productivity and more social diversity in software engineering workplaces. The main pitfall is the risk of introducing new language barriers between people and decreased code reuse. However this may be avoidable by combining automated language generation with shared fundamental semantic building blocks

    A Novel Approach to Mutation Operator Design for MDE Languages

    Get PDF
    Due to the increasing reliance on the software of systems, such as enterprise systems, a wide array of approaches has been found to facilitate the development of software for such systems. The growth of system complexity, however, has provoked concerns about the quality of the software. One approach that copes with complexity is model driven engineering that uses models containing only essential domain concepts, in order to represent complex systems. With some level of automation, models are then maintained by programs that are prone to error, as they are man-made. In order to find errors in programs, software engineers use mutation testing to build strong test inputs by introducing faults into the tested software using mutation operators. They then study if the introduced faults are detected by the test inputs. There have been few attempts to design mutation operators for model driven languages, which have common metamodeling language models, compared with traditional programming languages. This thesis presents an effective language-agnostic approach for mutation operator design for the rapidly emerging model driven engineering languages by considering metamodeling languages. The approach produces generic operators that can be instantiated to generate concrete ones for a given language model, which can be used to mutate program models that conform to the language model. The approach and generic operators are evaluated using empirical mutation analysis experiments over programs written in the ATL and EOL languages. The results show that the generic operators generated from the approach are instantiatable over ATL and EOL metamodels and have produced low proportions of invalid and equivalent mutants that can impact negatively on any mutation testing process. Also, the generic operators have produced useful mutants such as live and not trivially detected kinds of mutants
    • …
    corecore