718 research outputs found
Exploiting Term Hiding to Reduce Run-time Checking Overhead
One of the most attractive features of untyped languages is the flexibility
in term creation and manipulation. However, with such power comes the
responsibility of ensuring the correctness of these operations. A solution is
adding run-time checks to the program via assertions, but this can introduce
overheads that are in many cases impractical. While static analysis can greatly
reduce such overheads, the gains depend strongly on the quality of the
information inferred. Reusable libraries, i.e., library modules that are
pre-compiled independently of the client, pose special challenges in this
context. We propose a technique which takes advantage of module systems which
can hide a selected set of functor symbols to significantly enrich the shape
information that can be inferred for reusable libraries, as well as an improved
run-time checking approach that leverages the proposed mechanisms to achieve
large reductions in overhead, closer to those of static languages, even in the
reusable-library context. While the approach is general and system-independent,
we present it for concreteness in the context of the Ciao assertion language
and combined static/dynamic checking framework. Our method maintains the full
expressiveness of the assertion language in this context. In contrast to other
approaches it does not introduce the need to switch the language to a (static)
type system, which is known to change the semantics in languages like Prolog.
We also study the approach experimentally and evaluate the overhead reduction
achieved in the run-time checks.Comment: 26 pages, 10 figures, 2 tables; an extension of the paper version
accepted to PADL'18 (includes proofs, extra figures and examples omitted due
to space reasons
An overview of the ciao multiparadigm language and program development environment and its design philosophy
We describe some of the novel aspects and motivations behind
the design and implementation of the Ciao multiparadigm programming system. An important aspect of Ciao is that it provides the programmer with a large number of useful features from different programming paradigms and styles, and that the use of each of these features can be turned on and off at will for each program module. Thus, a given module may be using e.g. higher order functions and constraints, while another module may be using objects, predicates, and concurrency. Furthermore, the language is designed to be extensible in a simple and modular way. Another important aspect of Ciao is its programming environment, which provides a powerful preprocessor (with an associated assertion language) capable of statically finding non-trivial bugs, verifying that programs comply with specifications, and performing many types of program optimizations. Such optimizations produce code that is highly competitive with other dynamic languages or, when the highest levéis of optimization are used, even that of static languages, all while retaining the interactive development environment of a dynamic language. The environment also includes a powerful auto-documenter. The paper provides an informal overview of the language and program development environment. It aims at illustrating the design philosophy rather than at being exhaustive, which would be impossible in the format of a paper, pointing instead to the existing literature on the system
X-Ray, UV And Optical Analysis Of Supergiants: Ï” Ori
We present a multi-wavelength (X-ray to optical) analysis, based on non-local thermodynamic equilibrium photospheric+wind models, of the B0 Ia-supergiant: Ï” Ori. The aim is to test the consistency of physical parameters, such as the mass-loss rate and CNO abundances, derived from different spectral bands. The derived mass-loss rate is MË/fâââââ⌠1.6 Ă 10â6 Mâ yrâ1 where fâ is the volume filling factor. However, the Sâiv λλ1062,1073 profiles are too strong in the models; to fit the observed profiles it is necessary to use fâ \u3c0.01. This value is a factor of 5 to 10 lower than inferred from other diagnostics, and implies MËâČ1Ă10â7 Mâ yrâ1. The discrepancy could be related to porosityâvorosity effects or a problem with the ionization of sulphur in the wind. To fit the UV profiles of Nâv and Oâvi it was necessary to include emission from an interclump medium with a density contrast (Ïcl/ÏICM) of âŒ100. X-ray emission in H/He like and Fe L lines was modelled using four plasma components located within the wind. We derive plasma temperatures from 1 Ă 106 to 7 Ă 106 K, with lower temperatures starting in the outer regions (R0 ⌠3â6 R*), and a hot component starting closer to the star (R0 âČ 2.9 R*). From X-ray line profiles we infer MË\u3c4.9 Ă 10â7 Mââyrâ1. The X-ray spectrum (â„0.1 kev) yields an X-ray luminosity LX ⌠2.0 Ă 10â7Lbol, consistent with the superion line profiles. X-ray abundances are in agreement with those derived from the UV and optical analysis: Ï” Ori is slightly enhanced in nitrogen and depleted in carbon and oxygen, evidence for CNO processed material
Multivariant Assertion-based Guidance in Abstract Interpretation
Approximations during program analysis are a necessary evil, as they ensure
essential properties, such as soundness and termination of the analysis, but
they also imply not always producing useful results. Automatic techniques have
been studied to prevent precision loss, typically at the expense of larger
resource consumption. In both cases (i.e., when analysis produces inaccurate
results and when resource consumption is too high), it is necessary to have
some means for users to provide information to guide analysis and thus improve
precision and/or performance. We present techniques for supporting within an
abstract interpretation framework a rich set of assertions that can deal with
multivariance/context-sensitivity, and can handle different run-time semantics
for those assertions that cannot be discharged at compile time. We show how the
proposed approach can be applied to both improving precision and accelerating
analysis. We also provide some formal results on the effects of such assertions
on the analysis results.Comment: Pre-proceedings paper presented at the 28th International Symposium
on Logic-Based Program Synthesis and Transformation (LOPSTR 2018), Frankfurt
am Main, Germany, 4-6 September 2018 (arXiv:1808.03326
An assertion language for constraint logic programs
In an advanced program development environment, such as that discussed in the introduction of this book, several tools may coexist which handle both the program and information on the program in different ways. Also, these tools may interact among themselves and with the user. Thus, the different tools and the user need some way to communicate. It is our design principie that such communication be performed in terms of assertions. Assertions are syntactic objects which allow expressing properties of programs. Several assertion languages have been used in the past in different contexts, mainly related to program debugging. In this chapter we propose a general language of assertions which is used in different tools for validation and debugging of constraint logic programs in the context of the DiSCiPl project. The assertion language proposed is parametric w.r.t. the particular constraint domain and properties of interest being used in each different tool. The language proposed is quite general in that it poses few restrictions on the kind of properties which may be expressed. We believe the assertion language we propose is of practical relevance and appropriate for the different uses required in the tools considered
Fluorescent and Electroactive Monoalkyl BTD-Based Liquid Crystals with Tunable Self-Assembling and Electronic Properties
We report here on a series of redox active benzothiadiazole-based luminophores ffinctionalized on one edge with a phenyl-nonyl substituent, which confers these molecules a rodlike shape and a tendency to self-assemble into layered superstructures. On the other edge, the molecules are endowed with different p-substituted phenyl rings, which allows the modulation of their redox and optical properties on the basis of the electronic nature of the terminal substituents. We have found that just one lateral alkyl chain is sufficient to induce mesomorphism in these molecules, which present nematic or smectic mesophases upon therinal treatment. Single-crystal analysis allows us to get an insight into the nature of the forces responsible for different supramolecular assemblies in these derivatives, and point to a strong contribution of the terminal groups in the different arrangements observed. The interesting redox and optical properties together with their self-assembling tendencies render these new materials interesting candidates for optoelectromcs
- âŠ