Skip to main content

Showing 1–19 of 19 results for author: Hill, P M

Searching in archive cs. Search in all archives.
.
  1. arXiv:2212.13933  [pdf, ps, other

    cs.PL

    Coding Guidelines and Undecidability

    Authors: Roberto Bagnara, Abramo Bagnara, Patricia M. Hill

    Abstract: The C and C++ programming languages are widely used for the implementation of software in critical systems. They are complex languages with subtle features and peculiarities that might baffle even the more expert programmers. Hence, the general prescription of language subsetting, which occurs in most functional safety standards and amounts to only using a "safer" subset of the language, is partic… ▽ More

    Submitted 28 December, 2022; originally announced December 2022.

    Comments: 12 pages, 5 figures, 1 table

    MSC Class: 68N15 ACM Class: F.3.1; D.3.0

  2. arXiv:2112.12823  [pdf, other

    cs.PL cs.SE

    A Rationale-Based Classification of MISRA C Guidelines

    Authors: Roberto Bagnara, Abramo Bagnara, Patricia M. Hill

    Abstract: MISRA C is the most authoritative language subset for the C programming language that is a de facto standard in several industry sectors where safety and security are of paramount importance. While MISRA C is currently encoded in 175 guidelines (coding rules and directives), it does not coincide with them: proper adoption of MISRA C requires embracing its preventive approach (as opposed to the "bu… ▽ More

    Submitted 23 December, 2021; originally announced December 2021.

    Comments: 12 pages, 2 figures

    MSC Class: 68N15 ACM Class: F.3.1; D.3.0

  3. arXiv:2003.06893  [pdf, other

    cs.PL cs.SE

    BARR-C:2018 and MISRA C:2012: Synergy Between the Two Most Widely Used C Coding Standards

    Authors: Roberto Bagnara, Michael Barr, Patricia M. Hill

    Abstract: The Barr Group's Embedded C Coding Standard (BARR-C:2018, which originates from the 2009 Netrino's Embedded C Coding Standard) is, for coding standards used by the embedded system industry, second only in popularity to MISRA C. However, the choice between MISRA C:2012 and BARR-C:2018 needs not be a hard decision since they are complementary in two quite different ways. On the one hand, BARR-C:2018… ▽ More

    Submitted 15 March, 2020; originally announced March 2020.

    Comments: 14 pages, 1 figure

    MSC Class: 68N15 ACM Class: F.3.1; D.3.0

  4. arXiv:1809.00821  [pdf, ps, other

    cs.PL

    The MISRA C Coding Standard and its Role in the Development and Analysis of Safety- and Security-Critical Embedded Software

    Authors: Roberto Bagnara, Abramo Bagnara, Patricia M. Hill

    Abstract: The MISRA project started in 1990 with the mission of providing world-leading best practice guidelines for the safe and secure application of both embedded control systems and standalone software. MISRA C is a coding standard defining a subset of the C language, initially targeted at the automotive sector, but now adopted across all industry sectors that develop C software in safety- and/or securi… ▽ More

    Submitted 4 September, 2018; originally announced September 2018.

    Comments: 19 pages, 1 figure, 2 tables

    MSC Class: 68N15 ACM Class: F.3.1; D.3.0

  5. arXiv:1610.07914  [pdf, other

    cs.SE cs.PL

    The ACPATH Metric: Precise Estimation of the Number of Acyclic Paths in C-like Languages

    Authors: Roberto Bagnara, Abramo Bagnara, Alessandro Benedetti, Patricia M. Hill

    Abstract: NPATH is a metric introduced by Brian A. Nejmeh in [13] that is aimed at overcoming some important limitations of McCabe's cyclomatic complexity. Despite the fact that the declared NPATH objective is to count the number of acyclic execution paths through a function, the definition given for the C language in [13] fails to do so even for very simple programs. We show that counting the number of acy… ▽ More

    Submitted 10 March, 2024; v1 submitted 25 October, 2016; originally announced October 2016.

    Comments: 62 pages, 10 figures, 7 tables

    MSC Class: 68N30 ACM Class: D.2.8; D.2.5

  6. arXiv:0904.1783  [pdf, ps, other

    cs.CG

    Exact Join Detection for Convex Polyhedra and Other Numerical Abstractions

    Authors: Roberto Bagnara, Patricia M. Hill, Enea Zaffanella

    Abstract: Deciding whether the union of two convex polyhedra is itself a convex polyhedron is a basic problem in polyhedral computations; having important applications in the field of constrained control and in the synthesis, analysis, verification and optimization of hardware and software systems. In such application fields though, general convex polyhedra are just one among many, so-called, numerical ab… ▽ More

    Submitted 10 August, 2009; v1 submitted 11 April, 2009; originally announced April 2009.

    Comments: 36 pages, 4 figures

    ACM Class: F.2.2

  7. arXiv:0705.4618  [pdf, ps, other

    cs.DS cs.CG cs.LO

    An Improved Tight Closure Algorithm for Integer Octagonal Constraints

    Authors: Roberto Bagnara, Patricia M. Hill, Enea Zaffanella

    Abstract: Integer octagonal constraints (a.k.a. ``Unit Two Variables Per Inequality'' or ``UTVPI integer constraints'') constitute an interesting class of constraints for the representation and solution of integer problems in the fields of constraint programming and formal analysis and verification of software and hardware systems, since they couple algorithms having polynomial complexity with a relativel… ▽ More

    Submitted 1 June, 2007; v1 submitted 31 May, 2007; originally announced May 2007.

    Comments: 15 pages, 2 figures

  8. arXiv:cs/0703116  [pdf, ps, other

    cs.PL cs.LO

    On the Design of Generic Static Analyzers for Modern Imperative Languages

    Authors: Roberto Bagnara, Patricia M. Hill, Andrea Pescetti, Enea Zaffanella

    Abstract: The design and implementation of precise static analyzers for significant fragments of modern imperative languages like C, C++, Java and Python is a challenging problem. In this paper, we consider a core imperative language that has several features found in mainstream languages such as those including recursive functions, run-time system and user-defined exceptions, and a realistic data and mem… ▽ More

    Submitted 28 June, 2007; v1 submitted 23 March, 2007; originally announced March 2007.

    Comments: 72 pages

    ACM Class: F.3.1; F.3.2

  9. arXiv:cs/0701122  [pdf, ps, other

    cs.CG cs.MS

    Applications of Polyhedral Computations to the Analysis and Verification of Hardware and Software Systems

    Authors: Roberto Bagnara, Patricia M. Hill, Enea Zaffanella

    Abstract: Convex polyhedra are the basis for several abstractions used in static analysis and computer-aided verification of complex and sometimes mission critical systems. For such applications, the identification of an appropriate complexity-precision trade-off is a particularly acute problem, so that the availability of a wide spectrum of alternative solutions is mandatory. We survey the range of appli… ▽ More

    Submitted 11 April, 2008; v1 submitted 19 January, 2007; originally announced January 2007.

    Comments: 51 pages, 11 figures

    ACM Class: D.2.4; F.3.1

  10. arXiv:cs/0612085  [pdf, ps, other

    cs.MS cs.PL

    The Parma Polyhedra Library: Toward a Complete Set of Numerical Abstractions for the Analysis and Verification of Hardware and Software Systems

    Authors: Roberto Bagnara, Patricia M. Hill, Enea Zaffanella

    Abstract: Since its inception as a student project in 2001, initially just for the handling (as the name implies) of convex polyhedra, the Parma Polyhedra Library has been continuously improved and extended by joining scrupulous research on the theoretical foundations of (possibly non-convex) numerical abstractions to a total adherence to the best available practices in software development. Even though i… ▽ More

    Submitted 18 December, 2006; originally announced December 2006.

    Comments: 38 pages, 2 figures, 3 listings, 3 tables

    Report number: Quaderno 457 ACM Class: G.4; D.2.4

  11. arXiv:cs/0607101  [pdf, ps, other

    cs.PL

    Deriving Escape Analysis by Abstract Interpretation: Proofs of results

    Authors: Patricia M. Hill, Fausto Spoto

    Abstract: Escape analysis of object-oriented languages approximates the set of objects which do not escape from a given context. If we take a method as context, the non-escaping objects can be allocated on its activation stack; if we take a thread, Java synchronisation locks on such objects are not needed. In this paper, we formalise a basic escape domain e as an abstract interpretation of concrete states… ▽ More

    Submitted 28 July, 2006; v1 submitted 24 July, 2006; originally announced July 2006.

    ACM Class: F.2

  12. arXiv:cs/0412043  [pdf, ps, other

    cs.PL

    Widening Operators for Weakly-Relational Numeric Abstractions (Extended Abstract)

    Authors: Roberto Bagnara, Patricia M. Hill, Elena Mazzi, Enea Zaffanella

    Abstract: We discuss the divergence problems recently identified in some extrapolation operators for weakly-relational numeric domains. We identify the cause of the divergences and point out that resorting to more concrete, syntactic domains can be avoided by researching suitable algorithms for the elimination of redundant constraints in the chosen representation.

    Submitted 10 December, 2004; originally announced December 2004.

    ACM Class: F.3.2

  13. arXiv:cs/0404055  [pdf, ps, other

    cs.PL

    Finite-Tree Analysis for Constraint Logic-Based Languages: The Complete Unabridged Version

    Authors: Roberto Bagnara, Roberta Gori, Patricia M. Hill, Enea Zaffanella

    Abstract: Logic languages based on the theory of rational, possibly infinite, trees have much appeal in that rational trees allow for faster unification (due to the safe omission of the occurs-check) and increased expressivity (cyclic terms can provide very efficient representations of grammars and other useful objects). Unfortunately, the use of infinite rational trees has problems. For instance, many of… ▽ More

    Submitted 27 April, 2004; v1 submitted 26 April, 2004; originally announced April 2004.

    Comments: 89 pages, 1 table

    ACM Class: F.3.2

  14. arXiv:cs/0401022  [pdf, ps, other

    cs.PL

    Enhanced sharing analysis techniques: a comprehensive evaluation

    Authors: Roberto Bagnara, Enea Zaffanella, Patricia M. Hill

    Abstract: Sharing, an abstract domain developed by D. Jacobs and A. Langen for the analysis of logic programs, derives useful aliasing information. It is well-known that a commonly used core of techniques, such as the integration of Sharing with freeness and linearity information, can significantly improve the precision of the analysis. However, a number of other proposals for refined domain combinations… ▽ More

    Submitted 26 January, 2004; originally announced January 2004.

    Comments: 43 pages, 10 tables, to appear on "Theory and Practice of Logic Programming"

    ACM Class: F.3.2

  15. arXiv:cs/0401021  [pdf, ps, other

    cs.PL

    A correct, precise and efficient integration of set-sharing, freeness and linearity for the analysis of finite and rational tree languages

    Authors: Patricia M. Hill, Enea Zaffanella, Roberto Bagnara

    Abstract: It is well-known that freeness and linearity information positively interact with aliasing information, allowing both the precision and the efficiency of the sharing analysis of logic programs to be improved. In this paper we present a novel combination of set-sharing with freeness and linearity information, which is characterized by an improved abstract unification operator. We provide a new ab… ▽ More

    Submitted 26 January, 2004; originally announced January 2004.

    Comments: 35 pages, 1 table, to appear on "Theory and Practice of Logic Programming"

    ACM Class: F.3.2

  16. arXiv:cs/0109060  [pdf, ps, other

    cs.PL

    Branching: the Essence of Constraint Solving

    Authors: Antonio J. Fernandez, Patricia M. Hill

    Abstract: This paper focuses on the branching process for solving any constraint satisfaction problem (CSP). A parametrised schema is proposed that (with suitable instantiations of the parameters) can solve CSP's on both finite and infinite domains. The paper presents a formal specification of the schema and a statement of a number of interesting properties that, subject to certain conditions, are satisfi… ▽ More

    Submitted 24 September, 2001; originally announced September 2001.

    Comments: 18 pages, 2 figures, Proceedings ERCIM Workshop on Constraints (Prague, June 2001)

    ACM Class: D.3.3; D.3.2

  17. arXiv:cs/0102030  [pdf, ps, other

    cs.PL

    Soundness, Idempotence and Commutativity of Set-Sharing

    Authors: Patricia M. Hill, Roberto Bagnara, Enea Zaffanella

    Abstract: It is important that practical data-flow analyzers are backed by reliably proven theoretical results. Abstract interpretation provides a sound mathematical framework and necessary generic properties for an abstract domain to be well-defined and sound with respect to the concrete semantics. In logic programming, the abstract domain Sharing is a standard choice for sharing analysis for both practi… ▽ More

    Submitted 27 February, 2001; originally announced February 2001.

    Comments: 48 pages

    ACM Class: F.3.2

  18. arXiv:cs/0101025  [pdf, ps, other

    cs.PL

    Decomposing Non-Redundant Sharing by Complementation

    Authors: Enea Zaffanella, Patricia M. Hill, Roberto Bagnara

    Abstract: Complementation, the inverse of the reduced product operation, is a technique for systematically finding minimal decompositions of abstract domains. File' and Ranzato advanced the state of the art by introducing a simple method for computing a complement. As an application, they considered the extraction by complementation of the pair-sharing domain PS from the Jacobs and Langen's set-sharing do… ▽ More

    Submitted 23 January, 2001; originally announced January 2001.

    Comments: To appear on Theory and Practice of Logic Programming. 30 pages, 4 figures

    ACM Class: F.3.2

  19. arXiv:cs/0006033  [pdf, ps, other

    cs.LO cs.PL

    Verifying Termination and Error-Freedom of Logic Programs with block Declarations

    Authors: Jan-Georg Smaus, Patricia M. Hill, Andy King

    Abstract: We present verification methods for logic programs with delay declarations. The verified properties are termination and freedom from errors related to built-ins. Concerning termination, we present two approaches. The first approach tries to eliminate the well-known problem of speculative output bindings. The second approach is based on identifying the predicates for which the textual position of… ▽ More

    Submitted 23 June, 2000; originally announced June 2000.

    Comments: to be published in Theory and Practice of Logic Programming, 40 pages, 10 figures

    ACM Class: F.3.1; D.3.2