Automatic coding rule conformance checking using logic programming

  • Authors:
  • Guillem Marpons;Julio Mariño;Manuel Carro;Ángel Herranz;Juan José Moreno-Navarro;Lars-Åke Fredlund

  • Affiliations:
  • Universidad Politécnica de Madrid;Universidad Politécnica de Madrid;Universidad Politécnica de Madrid;Universidad Politécnica de Madrid;Universidad Politécnica de Madrid and IMDEA Software;Universidad Politécnica de Madrid

  • Venue:
  • PADL'08 Proceedings of the 10th international conference on Practical aspects of declarative languages
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

An extended practice in the realm of Software Engineering and programming in industry is the application of 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 - 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.