The annotated C++ reference manual
The annotated C++ reference manual
A system and language for building system-specific, static analyses
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Order-sorted logic programming with predicate hierarchy
Artificial Intelligence
ACM SIGPLAN Notices
Finding application errors and security flaws using PQL: a program query language
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Automatic verification of design patterns in Java
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
A Portable Compiler-Integrated Approach to Permanent Checking
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
Extending Constructive Logic Negation with Types
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
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.