87,522 research outputs found
Trustworthy Refactoring via Decomposition and Schemes: A Complex Case Study
Widely used complex code refactoring tools lack a solid reasoning about the
correctness of the transformations they implement, whilst interest in proven
correct refactoring is ever increasing as only formal verification can provide
true confidence in applying tool-automated refactoring to industrial-scale
code. By using our strategic rewriting based refactoring specification
language, we present the decomposition of a complex transformation into smaller
steps that can be expressed as instances of refactoring schemes, then we
demonstrate the semi-automatic formal verification of the components based on a
theoretical understanding of the semantics of the programming language. The
extensible and verifiable refactoring definitions can be executed in our
interpreter built on top of a static analyser framework.Comment: In Proceedings VPT 2017, arXiv:1708.0688
The Sigma-Semantics: A Comprehensive Semantics for Functional Programs
A comprehensive semantics for functional programs is presented, which generalizes the well-known call-by-value and call-by-name semantics. By permitting a separate choice between call-by value and call-by-name for every argument position of every function and parameterizing the semantics by this choice we abstract from the parameter-passing mechanism. Thus common and distinguishing features of all instances of the sigma-semantics, especially call-by-value and call-by-name semantics, are highlighted. Furthermore, a property can be validated for all instances of the sigma-semantics by a single proof. This is employed for proving the equivalence of the given denotational (fixed-point based) and two operational (reduction based) definitions of the sigma-semantics. We present and apply means for very simple proofs of equivalence with the denotational sigma-semantics for a large class of reduction-based sigma-semantics. Our basis are simple first-order constructor-based functional programs with patterns
Recommended from our members
Reusability in software engineering
This paper surveys recent work concerning reusability in software engineering. The current directions in software reusability are discussed, and the two major approaches of reusable building blocks and reusable patterns studied. An extensive bibliography, parts of which are annotated, is included
The Sigma-Semantics: A Comprehensive Semantics for Functional Programs
A comprehensive semantics for functional programs is presented, which generalizes the well-known call-by-value and call-by-name semantics. By permitting a separate choice between call-by value and call-by-name for every argument position of every function and parameterizing the semantics by this choice we abstract from the parameter-passing mechanism. Thus common and distinguishing features of all instances of the sigma-semantics, especially call-by-value and call-by-name semantics, are highlighted. Furthermore, a property can be validated for all instances of the sigma-semantics by a single proof. This is employed for proving the equivalence of the given denotational (fixed-point based) and two operational (reduction based) definitions of the sigma-semantics. We present and apply means for very simple proofs of equivalence with the denotational sigma-semantics for a large class of reduction-based sigma-semantics. Our basis are simple first-order constructor-based functional programs with patterns
Progression and assessment in foreign languages at Key Stage 2
The teaching of primary languages has been increasing steadily, in response to the future entitlement for all Key Stage 2 (KS2) pupils aged 7-11 to learn a foreign language by 2010. However, there remain concerns about progression both within KS2 and through to secondary school and about how learners' progress is assessed. This paper presents findings on the issues of progression and assessment taken from case studies which formed part of a project funded by the then Department for Education and Skills (DfES), now the Department for Children, Schools and Families (DCSF). This project set out to evaluate 19 local authority (LA) Pathfinders in England that were piloting the introduction of foreign language learning at KS2 between 2003 and 2005. Findings revealed that there was inconsistency between schools, even within each LA Pathfinder, in the use of schemes of work and that assessment was generally underdeveloped in the majority of the Pathfinders. In order to set these findings in context, this paper examines the issues of progression and assessment in foreign language learning in England. Finally, it investigates the challenges English primary schools face in terms of progression and assessment in the light of the new entitlement and discusses implications for the future. Managing progression, both within KS2 and through to secondary school at KS3 (ages 11-14), is one of the key factors in determining the overall success of starting languages in primary school
- âŚ