@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.