5,350 research outputs found

    Towards Documenting and Automating Collateral Evolutions in Linux Device Drivers

    Get PDF
    Collateral evolutions are a pervasive problem in Linux device driver development, due to the frequent evolution of Linux driver support libraries and APIs. Such evolutions are needed when an evolution in a driver support library affects the library's interface, entailing modifications in all dependent device-specific code. Currently, collateral evolutions in Linux are done nearly manually. The large number of Linux drivers, however, implies that this approach is time-consuming and unreliable, leading to subtle errors when modifications are not done consistently. In this paper, we describe the development of a language-based infrastructure, Coccinelle, with the goal of documenting and automating the kinds of collateral evolutions that occur in device driver code. Because Linux programmers are accustomed to manipulating program modifications in terms of patch files, we base our language on the patch syntax, extending patches to semantic patches

    EAA483 - (BM) PENGURUSAN BINAAN. NOVEMBER 2005

    Get PDF
    pp16Reasoning about program control-flow paths is an important functionality of a number of recent program matching languages and associated searching and transformation tools. Temporal logic provides a well-defined means of expressing properties of control-flow paths in programs, and indeed an extension of the temporal logic CTL has been applied to the problem of specifying and verifying the transformations commonly performed by optimizing compilers. Nevertheless, in developing the Coccinelle program transformation tool for performing Linux collateral evolutions in systems code, we have found that existing variants of CTL do not adequately support rules that transform subterms other than the ones matching an entire formula. Being able to transform any of the subterms of a matched term seems essential in the domain targeted by Coccinelle. In this paper, we propose an extension to CTL named CTL-VW (CTL with variables and witnesses) that is a suitable basis for the semantics and implementation of the Coccinelle's program matching language. Our extension to CTL includes existential quantification over program fragments, which allows metavariables in the program matching language to range over different values within different control-flow paths, and a notion of witnesses that record such existential bindings for use in the subsequent program transformation process. We formalize CTL-VW and describe its use in the context of Coccinelle. We then assess the performance of the approach in practice, using a transformation rule that fixes several reference count bugs in Linux cod

    Improving the security of infrastructure software using Coccinelle

    Get PDF
    International audienceFinding and fixing programming errors in deployed software is often a slow, painstaking, and expensive process. In order to minimise this problem, static analysis is increasingly being adopted as a way to find programming errors before the software application is released. Coccinelle is a program matching and transfor-mation tool that makes it easy for developers to express static analysis-based software defect-finding rules and scan software source code for potential defects

    Magnetic ordering in doped coupled frustrated quantum spin-1/2 chains with 4-spin exchange

    Full text link
    The role of various magnetic inter-chain couplings has been investigated recently by numerical methods in doped frustrated quantum spin chains. A non-magnetic dopant introduced in a gapped spin chain releases a free spin-1/2 soliton. The formation of a local magnetic moment has been analyzed in term of soliton confinement. A four-spin coupling which might originate from cyclic exchange is shown to produce such a confinement. Dopants on different chains experience an effective space-extended non-frustrating pairwise spin interaction. This effective interaction between impurity-spins is long-ranged and therefore is expected to play a crucial role in the mecanism of antiferromagnetic (AF) long-range ordering (LRO) observed in spin-Peierls (SP) compounds such as CuGeO3_3 doped with non-magnetic impurities.Comment: 4 pages, 5 figures. Proc. of the 7th International Symposium of Research in High Magnetic Fields in Toulouse, France (July 2003

    A comparative analysis for the business incubators institutional and organizational change

    Get PDF
    El objetivo de este artículo es realizar un análisis comparado del cambio organizacional e institucional de dos incubadoras de empresas, una situada en Medellín, Colombia y la otra en Barcelona, España; se consideran la influencia de factores internos y externos, y la existencia, incorporación e institucionalización de políticas públicas y programas de desarrollo empresarial e innovación. En lo metodológico, se utilizó la estrategia cualitativa del estudio de caso, soportado en el análisis documental y la entrevista semiestructurada. Los principales resultados muestran que la incubadora colombiana cambió su objeto social y razón de ser por necesidad de auto-sostenibilidad financiera y por la falta de coordinación y articulación con las organizaciones del Sistema Nacional de Ciencia, Tecnología e Innovación; y la española consolidó su objeto social y amplió las capacidades organizacionales por las oportunidades que le brindó el entorno favorable del Sistema Nacional de Ciencia, Tecnología e Innovación.The objective of this article is to compare organizational and institutional change in two business incubators, one in Medellin, Colombia and another one in Barcelona, Spain; The influence of internal and external factors are both considered as well as the existence, incorporation and institutionalization of public policies as well as business and entrepreneurial programs. A qualitative case study strategy was used for developing the methodological aspect, which supported the documental analysis for the semistructuredinterview. The main results show that the Colombian incubator changed its business name because of financial self sustainability needs and lack of coordination and articulation from the NationalScience, Technology and Innovation System, while the incubator from Spain consolidated its business name broadening its organizational capacities thanks to the favorable opportunities offered by National Science, Technology and Innovation system.O objetivo deste artigo é realizar uma análise comparado da mudança organizacional e institucional de duas incubadoras de empresas, uma situada em Medellín, Colômbia e a outra em Barcelona, Espanha; se consideram a influência de fatores internos e externos, e a existência, incorporação e institucionalização depolíticas públicas e programas de desenvolvimento empresarial e inovação. No metodológico, se utilizou a estratégia qualitativa do estudo de caso, suportado na análise documental e a entrevista semiestruturada. Os principais resultados mostram que a incubadora colombiana mudou seu objeto social e razão de ser por necessidade de auto-sustentabilidade financeira e pela falta de coordenação e articulação com as organizações do Sistema Nacional de Ciência, Tecnologia e Inovação; e a espanhola consolidou seu objeto social e ampliou as capacidades organizacionais pelas oportunidades que lhe brindou o entorno favorável do Sistema Nacional de Ciência, Tecnologia e Inovação

    WYSIWIB: A Declarative Approach to Finding Protocols and Bugs in Linux Code

    Get PDF
    14 p.Research report 08/1/INFO, Ecole des Mines de NantesAlthough a number of approaches to finding bugs in systems code have been proposed, bugs still remain to be found. Current approaches have emphasized scalability more than usability, and as a result it is difficult to relate the results to particular patterns found in the source code and to control the tools to be able to find specific kinds of bugs. In this paper, we propose a declarative approach based on a control-flow based program search engine. Our approach is WYSIWIB (What You See Is Where It Bugs), since the programmer is able to express specifications for protocol and bug finding using a syntax that is close to that of ordinary C code. Search specifications, called semantic matches, can be easily tailored so as to either eliminate false positives or catch more potential bugs. We introduce our approach by describing three case studies which have allowed us to find 395 bugs

    A Comparative Study of the Formation of Aromatics in Rich Methane Flames Doped by Unsaturated Compounds

    Full text link
    For a better modeling of the importance of the different channels leading to the first aromatic ring, we have compared the structures of laminar rich premixed methane flames doped with several unsaturated hydrocarbons: allene and propyne, because they are precursors of propargyl radicals which are well known as having an important role in forming benzene, 1,3-butadiene to put in evidence a possible production of benzene due to reactions of C4 compounds, and, finally, cyclopentene which is a source of cyclopentadienylmethylene radicals which in turn are expected to easily isomerizes to give benzene. These flames have been stabilized on a burner at a pressure of 6.7 kPa (50 Torr) using argon as dilutant, for equivalence ratios (?) from 1.55 to 1.79. A unique mechanism, including the formation and decomposition of benzene and toluene, has been used to model the oxidation of allene, propyne, 1,3 butadiene and cyclopentene. The main reaction pathways of aromatics formation have been derived from reaction rate and sensitivity analyses and have been compared for the three types of additives. These combined analyses and comparisons can only been performed when a unique mechanism is available for all the studied additives

    Vision-Based Autonomous Driving: A Model Learning Approach

    Full text link
    We present an integrated approach for perception and control for an autonomous vehicle and demonstrate this approach in a high-fidelity urban driving simulator. Our approach first builds a model for the environment, then trains a policy exploiting the learned model to identify the action to take at each time-step. To build a model for the environment, we leverage several deep learning algorithms. To that end, first we train a variational autoencoder to encode the input image into an abstract latent representation. We then utilize a recurrent neural network to predict the latent representation of the next frame and handle temporal information. Finally, we utilize an evolutionary-based reinforcement learning algorithm to train a controller based on these latent representations to identify the action to take. We evaluate our approach in CARLA, a high-fidelity urban driving simulator, and conduct an extensive generalization study. Our results demonstrate that our approach outperforms several previously reported approaches in terms of the percentage of successfully completed episodes for a lane keeping task.Comment:

    Division of labour and sharing of knowledge for synchronous collaborative information retrieval

    Get PDF
    Synchronous collaborative information retrieval (SCIR) is concerned with supporting two or more users who search together at the same time in order to satisfy a shared information need. SCIR systems represent a paradigmatic shift in the way we view information retrieval, moving from an individual to a group process and as such the development of novel IR techniques is needed to support this. In this article we present what we believe are two key concepts for the development of effective SCIR namely division of labour (DoL) and sharing of knowledge (SoK). Together these concepts enable coordinated SCIR such that redundancy across group members is reduced whilst enabling each group member to benefit from the discoveries of their collaborators. In this article we outline techniques from state-of-the-art SCIR systems which support these two concepts, primarily through the provision of awareness widgets. We then outline some of our own work into system-mediated techniques for division of labour and sharing of knowledge in SCIR. Finally we conclude with a discussion on some possible future trends for these two coordination techniques
    corecore