Brazilian Symposium on Programming Languages (SBLP 2011)

Brazilian Symposium on Programming Languages (SBLP 2011)

Science of Computer Programming ( ) – Contents lists available at ScienceDirect Science of Computer Programming journal homepage: www.elsevier.com...

227KB Sizes 0 Downloads 49 Views

Science of Computer Programming (

)



Contents lists available at ScienceDirect

Science of Computer Programming journal homepage: www.elsevier.com/locate/scico

Preface

Brazilian Symposium on Programming Languages (SBLP 2011) The study of programming languages has never been more relevant for software development. Program generation and transformation, including domain-specific languages, are at the core of modern model-driven development. Multiple programming paradigms and styles are now available to software developers, including functional, object-oriented, aspectoriented, real-time, service-oriented, multithreaded, parallel, and distributed programming. Their study requires new formal semantics and theoretical foundations, including denotational, operational, algebraic and categorical approaches. New techniques are also required for program analysis and verification, including type systems, static analysis and abstract interpretation. Finally, research in programming language design and implementation is required through which new programming models, programming language environments, compilation and interpretation techniques can be made available to developers. The Brazilian Symposium on Programming Languages (SBLP) is an annual venue for researchers and practitioners interested in the fundamental principles and innovations in the design and implementation of programming languages and systems. Its 15th edition was held in São Paulo, Brazil, between September 26th and 30th, 2011, and attracted 28 submissions, of which 12 were accepted for presentation. This special issue includes four of the five articles that the programme committee selected for further revision and significant extension to a journal version. They all underwent a thorough review process, with at least one international referee and a referee who had not reviewed the original submission to the symposium. ‘‘On the Use of Feature-Oriented Programming for Evolving Software Product Lines - A Comparative Study’’, by Gabriel Ferreira, Felipe Gaia, Eduardo Figueiredo and Marcelo de Almeida Maia, analyses how modularity mechanisms of featureoriented programming and change propagation behave in the context of evolving software product lines (SPLs). It presents an open benchmark for the evaluation of evolving SPLs, a qualitative and quantitative data analysis framework and an extensive data analysis of collected metrics using the benchmark and the framework. ‘‘Making Refactoring Safer Through Impact Analysis’’, by Rohit Gheyi, Melina Mongiovi, Gustavo Soares, Leopoldo Teixeira and Paulo Borba, puts forward a tool (SafeRefactorImpact) for checking whether an object-oriented or aspect-oriented transformation is behavior preserving. The tool generates a test suite for the methods impacted by the transformation and performs a change impact analysis using Safira (a change impact analyzer also developed by the authors) to identify the impacted methods. ‘‘The Syntax and Semantics of a Domain-Specific Language for Flow-Network Design’’, by Assaf Kfoury, uses a domainspecific language (DSL) for inductively defining flow networks, i.e., for assembling flow networks from small components to produce arbitrarily large ones with interchangeable functionally-equivalent parts. A denotational semantics and a type theory are provided for this DSL, the latter giving rise to a system of formal annotations that enforce desirable properties of flow networks as invariants across their interfaces. ‘‘From Regexes to Parsing Expression Grammars’’, by Sérgio Medeiros, Fabio Mascarenhas and Roberto Ierusalimschy, presents a new formalization of regular expressions that uses natural semantics and a transformation that converts a given regular expression into an equivalent parsing expression grammar (PEG), that is, a PEG that matches the same strings that the regular expression matches in a Perl-compatible regex implementation. The proposed transformation provides a clear computational model that helps to estimate the efficiency of regex-based matchers, and a basis for specifying provably correct optimizations for them. We are grateful to Science of Computer Programming for allowing us to publish this collection of papers, and Bas van Vlijmen in particular for his help throughout the editorial process. We are also grateful to all Program Committee members of SBLP 2011 and reviewers involved in selecting the papers included in this special issue.

0167-6423/$ – see front matter © 2014 Elsevier B.V. All rights reserved. http://dx.doi.org/10.1016/j.scico.2014.01.001

2

Preface / Science of Computer Programming (

)



Christiano Braga ∗ Universidade Federal Fluminense, Brazil E-mail address: [email protected]. José Luiz Fiadeiro Royal Holloway University of London, UK 31 December 2013 Available online xxxx ∗ Corresponding editor.