@comment{{This file has been generated by bib2bib 1.95}}
@comment{{Command line: /usr/bin/bib2bib -c 'author : "Marpons"'}}
@unpublished{gm-imdea2011, tipoactividad = {Cursos, seminarios y tutoriales}, internacional = {yes}, author = {Guillem Marpons}, title = {Layered Coding Rule Definition and Enforcing Using {LLVM}}, note = {Talk at {IMDEA} Software, Theory Lunch}, revisores = {no}, abstract = {Coding rules are used in industry to enforce good software practices that improve software reliability and maintainability. Some examples of standard rule sets are {MISRA-C/C++} and High Integrity C++. In a previous work we developed a framework to formalize coding rules as logic programs, that can be later run on a knowledge base of the program to inspect. In order to formalize all the rules in standard sets the knowledge base needs to contain information about the program that ranges from syntactic to undecidable semantic properties. As many of the complex properties that coding rules depend upon (or approximations to them) are computed by static analyzers present in the literature, we aim at reusing them presenting their result in a uniform way that can be easily understood and combined by engineers responsible for defining new rules. In fact, some of those analyzes are implemented in modern compilers, but their results are almost exclusively applied to optimization. In this talk we present initial work on trying to use the {LLVM} compiling infrastructure (http://llvm.org) for enriching our program facts base with pointer aliasing information, and how this information can be used to define and enforce actual coding rules.}, organization = {The {IMDEA} Software Institute, Spain}, address = {Montegancedo Science and Technology Park, Madrid, Spain}, month = {April 26}, year = 2011, pdf = {http://babel.ls.fi.upm.es/~gmarpons/pubs/IMDEAtheoryLunch2011LayeredAnalysis.pdf} }
@article{DBLP:journals_entcs_Marpons-UceroMCHFMP09, author = {Guillem Marpons and Julio Mariño and Manuel Carro and {Ángel} Herranz and Lars-{\AA}ke Fredlund and {Juan José {Moreno-Navarro}} and {Álvaro} Polo}, title = {A Coding Rule Conformance Checker Integrated into {GCC}}, journal = {ENTCS}, volume = 248, year = 2009, month = {August 5}, pages = {149-159}, url = {http://dx.doi.org/10.1016/j.entcs.2009.07.065}, bibsource = {DBLP, http://dblp.uni-trier.de}, tipoactividad = {Artículos en revistas}, internacional = {yes}, abstract = {Coding rules are often used in industry to foster best practices when coding software and to avoid the many hazardous constructions present in languages such as C or C++. Predictable, reliable tools are needed to automatically measure adherence to these practices, as manually checking for compliance is cumbersome. Moreover, due to the wide range of possible coding rule sets, easy of customization is a need in order for these tools to be of practical use. With this aim in mind, we present an extension of the GNU Compiler Collection (GCC) that flags those code fragments that do not conform to coding rules belonging to a given set. These sets of coding rules can be defined using a high-level declarative language based on logic programming, thereby making it possible to easily check code for conformance with respect to rules addressing the particular needs of a project, company, or application area.}, issn = {1571-0661} }
@inproceedings{crisp_tutorial_08, tipoactividad = {Cursos, seminarios y tutoriales}, internacional = {yes}, author = {Guillem Marpons}, title = {Tutorial: {GGCC} Coding Rules with {CRISP}}, descripcion = {Tutorial sobre el lenguaje de definición de reglas de codificación CRISP, impartido a todos los socios industriales del proyecto Global GCC.}, pdf = {http://www.ggcc.info/files/CRISPtutorial20080910.pdf}, booktitle = {Global GCC Project Seminar}, year = 2008, address = {MANDRIVA S.A., 43, rue d'Aboukir, 75002 Paris, France}, month = {September 10} }
@inproceedings{crisp_action_cost, tipoactividad = {Conferencias invitadas en congresos}, internacional = {yes}, author = {Guillem Marpons}, title = {Checking Coding Rules in {OO} Languages Using {CRISP}}, descripcion = {Charla impartida a los miembros de la acción COST ic0701 sobre el lenguaje de definición de reglas de codificación CRISP.}, pdf = {http://babel.ls.fi.upm.es/~gmarpons/pubs/COSTaction08CRISPpresentation.pdf}, booktitle = {COST Action IC0701 2nd Meeting}, year = 2008, address = {Madrid, Spain}, month = {December} }
@inproceedings{marpons08:_codin_rule_confor_check_integ_into_gcc, tipoactividad = {Ponencias en congresos}, internacional = {no}, revisores = {yes}, author = {Guillem Marpons and Julio Mariño and Manuel Carro and {Ángel} Herranz and Lars-{\AA}ke Fredlund and Juan José {Moreno-Navarro} and {Álvaro} Polo}, title = {A Coding Rule Conformance Checker Integrated into {GCC}}, abstract = { Coding rules are often used in industry for codifying software best practices and avoiding the many hazardous constructions present in languages such as C or C++. Predictable and customisable tools are needed to automatically measure adherence to these practices. Many of the properties about software needed for rule conformance analysis are calculated by modern compilers. We present an extension of the GNU Compiler Collection (GCC) that flags those code fragments that do not conform to a given set of rules. The user can define coding rules using a high-level declarative language based on logic programming. }, booktitle = {VIII Jornadas sobre Programación y Lenguajes, {PROLE} 2008}, pages = {245--249}, address = {Gijón, Spain}, editor = {Jesús M. {Almendros Jiménez} and María José {Suárez-Cabal}}, month = {October 7--10}, year = 2008, isbn = {978-84-612-5819-2}, pdf = {http://babel.ls.fi.upm.es/~gmarpons/pubs/PROLE08Codingrules.pdf} }
@inproceedings{marpons08:_addin_codin_rule_check_capab, tipoactividad = {Ponencias en congresos}, internacional = {yes}, revisores = {yes}, author = {Guillem Marpons and Julio Mariño and {Álvaro} Polo}, title = {Adding Coding Rule Checking Capabilities to the {GCC} Toolchain}, abstract = {Coding rules, which codify software best practices by constraining the set of ``admissible'' programs, are often used in industry to increase program reliability and maintainability. We present a tool that seamlessly integrates coding rule checking capabilities into the main development work-flow. In the proposed framework, the necessary source code features are extracted from the GCC compilation process. In this way, both compiler infrastructure and compilation stages can be reused. The coding rules themselves are defined using a high-level declarative language. }, booktitle = {Proceedings of the {GCC} Developers' Summit 2008}, address = {Ottawa, Canada}, month = {June 17--19}, year = 2008, editor = {Andrew J. Hutton and C. Craig Ross and John W. Lockhart}, pages = {43--54}, pdf = {http://ols.fedoraproject.org/GCC/Reprints-2008/marpons-reprint.pdf} }
@inproceedings{marpons08:_autom_codin_rule_confor_check, tipoactividad = {Ponencias en congresos}, internacional = {yes}, revisores = {yes}, title = {Automatic Coding Rule Conformance Checking Using Logic Programming}, author = {Guillem Marpons and Julio {Mari{\~n}o-Carballo} and Manuel Carro and {Ángel} Herranz and Juan Jos{\'e} {Moreno-Navarro} and Lars-{\AA}ke Fredlund}, abstract = {An extended practice in the realm of Software Engineering and programming in industry is the application of \emph{coding rules}. Coding rules are customarily used to constrain the use (or abuse) of certain programming language constructions. However, these rules are usually written using natural language, which is intrinsically ambiguous and which may complicate their use and hinder their automatic enforcement. This paper presents some early work aiming at defining a framework to formalise and check for coding rule conformance using logic programming. We show how a certain class of rules -- \emph{structural} rules -- can be reformulated as logic programs, which provides both a framework for formal specification and also for automatic conformance checking using a Prolog engine. Some examples of rules belonging to actual, third-party coding rule sets are discussed, along with the corresponding Prolog code. Experimental data regarding the practicality and impact of their application to real-life software projects is presented and discussed. }, booktitle = {Practical Aspects of Declarative Languages, 10th International Symposium, {PADL} 2008}, publisher = {Springer}, year = 2008, month = {January 7--8}, address = {San Francisco {CA}, {USA}}, volume = 4902, editor = {Paul Hudak and David Scott Warren}, isbn = {978-3-540-77441-9}, pages = {18--34}, series = {Lecture Notes in Computer Science}, url = {http://dx.doi.org/10.1007/978-3-540-77442-6_3} }
@techreport{xmc:2007:_study_of_exist_codin_rule, tipoactividad = {Otras publicaciones}, internacional = {yes}, author = {Julio Mariño and {Ángel} Herranz and Lars-{\AA}ke Fredlund and Manuel Carro and V{\'i}ctor {Pablos-Ceruelo} and Guillem Marpons and Juan José {Moreno-Navarro}}, title = {Study of existing coding rule formalisms and compendium of common hazards. {U}se of Coding Rules in Software Industry}, descripcion = {Estudio de los formalismos existentes para reglas de codificación, relación de riesgos de software más comunes y resultados de encuesta a socios del proyecto {GlobalGCC}.}, institution = {Facultad de Informática, Universidad Politécnica de Madrid}, year = 2007, address = {Boadilla del Monte, Madrid, Spain}, month = nov, annote = {Deliverable for the {GlobalGCC} Project} }
@inproceedings{marpons:2007:wlpe, tipoactividad = {Ponencias en congresos}, internacional = {yes}, author = {Guillem Marpons and Julio Mari{\~n}o and {Ángel} Herranz and Lars-{\AA}ke Fredlund and Manuel Carro and Juan Jos{\'e} {Moreno-Navarro}}, title = {Automatic Coding Rule Conformance Checking Using Logic Programs}, abstract = { Coding rules are customarily used to constrain the use (or abuse) of certain constructions in a programming language. Standard coding rule sets exist that target different languages and application domains. However, these rules are usually written using a natural language, which is intrinsically ambiguous, and which may hinder their automatic application. This short paper presents some early work aiming at defining a framework to formalise and check for coding rule conformance using logic programming. We show how a certain class of rules -- \emph{structural} rules -- can be reformulated as logic programs. Some real examples, including Prolog code formalising them, are shown and discussed. }, revisores = {yes}, booktitle = {17th Workshop on Logic-based methods in Programming Environments, {WLPE} 2007}, pages = 47, url = {http://arxiv.org/abs/0711.0344}, year = 2007, editor = {Patricia Hill and Vim Vanhoof}, address = {Porto, Portugal}, month = sep }
@article{marpons:2007:corr, author = {Guillem Marpons and Julio Mari{\~n}o and {Ángel} Herranz and Lars-{\AA}ke Fredlund and Manuel Carro and Juan Jos{\'e} {Moreno-Navarro}}, abstract = { Coding rules are customarily used to constrain the use (or abuse) of certain constructions in a programming language. Standard coding rule sets exist that target different languages and application domains. However, these rules are usually written using a natural language, which is intrinsically ambiguous, and which may hinder their automatic application. This short paper presents some early work aiming at defining a framework to formalise and check for coding rule conformance using logic programming. We show how a certain class of rules -- \emph{structural} rules -- can be reformulated as logic programs. Some real examples, including Prolog code formalising them, are shown and discussed. }, title = {Automatic Coding Rule Conformance Checking Using Logic Programs}, journal = {CoRR}, volume = {abs/0711.0344}, year = 2007, month = nov, url = {http://arxiv.org/abs/0711.0344}, bibsource = {DBLP, http://dblp.uni-trier.de} }
@misc{marpons:2007:sas, tipoactividad = {Otras publicaciones}, internacional = {yes}, abstract = { This short paper presents some early work in the context of an European project aiming at defining a framework to formalise and check for coding rule conformance using logic programming. We show how a certain class of rules -- \emph{structural} rules -- can be reformulated as logic programs. This provides both a framework for formal specification and also for automatic conformance checking using a Prolog engine. }, revisores = {yes}, author = {Guillem Marpons and Julio Mariño and {Ángel} Herranz and Lars-{\AA}ke Fredlund and Manuel Carro and Juan José {Moreno-Navarro}}, title = {Towards Checking Coding Rule Conformance Using Logic Programming}, month = aug, year = 2007, note = {Poster at the 14th International Static Analysis Symposium, SAS 2007}, address = {Kongens Lyngby, Denmark}, pdf = {http://babel.ls.fi.upm.es/~gmarpons/pubs/SAS07CodingrulesPoster.pdf} }
@inproceedings{DBLP:conf_icsr_ColnetMM06, author = {Dominique Colnet and Guillem Marpons and Frederic Merizen}, title = {Reconciling Subtyping and Code Reuse in Object-Oriented Languages: Using {\tt inherit} and {\tt insert} in {S}mart{E}iffel, the {GNU} {E}iffel Compiler}, abstract = {SmartEiffel has been enjoying two different mechanisms to express subtyping and implementation inheritance for one year. After large scale practical tests and thanks to user feedback, this paper finalises the new typing policy of SmartEiffel, which combines two forms of multiple inheritance with genericity in one statically-checked, object-oriented language. Having two forms of inheritance allows the designer to capture more design decisions in the source code. It is now straightforward to share reusable code between otherwise unrelated types. The new mechanism allows to reuse code from an existing class without polluting the reuser's interface. It also enables an elegant implementation of some design patterns. Furthermore, this mechanism helps compilers to statically remove more dynamic dispatch code. It can also be used to add a no-penalty and no-risk multiple-inheritance-like construct to a single-inheritance language such as Java.}, pages = {203-216}, url = {http://dx.doi.org/10.1007/11763864_15}, editor = {Maurizio Morisio}, booktitle = {Reuse of Off-the-Shelf Components, Proceedings of the 9th International Conference on Software Reuse, ICSR 2006}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = 4039, year = 2006, month = {June 12--15}, address = {Torino, Italy}, isbn = {3-540-34606-6} }
This file was generated by bibtex2html 1.95.