849 research outputs found

    ‘Urbanisation of Everybody’, Institutional Imperatives, and Social Transformation in Pakistan

    Get PDF
    Cultural change and social transformation are essential elements of the process of development. They complement and sustain economic growth. Economic historians acknowledge that the rise of the West from poverty to wealth was as much the result of improvements in trade, savings, investment and productivity as of emerging norms of thrift, trust, specialisation, rationality and contractual relations [Rosenberg and Birdzell (1986)]. In fact, it would not be an exaggeration to say that economic development is essentially a phenomenon of cultural change. The recognition of the role of cultural and social factors in economic growth has led to a subtle revision of the terminology from ‘economic development’ to the adjectiveless term ‘development’ or the fully spelled out title of economic and social development. Yet this acknowledgement has remained largely on the conceptual plane. It has not been translated into policies and programmes to deliberately set the direction of cultural change and define the alignment of social organisation. Development strategies have, by and large, treated social and cultural factors as exogenous variables. This is true of development planning in general and in particular of its practice in Pakistan. In fifty years of economic planning in Pakistan, little attention has been paid to the social and cultural aspects of development. This paper argues that the neglect of social and cultural factors has created an institutional lag between spatial, economic and technological sectors on the one hand and the cultural, social and political institutions, on the other. Pakistan is predominantly an urbanised society spatially and demographically, but its social institutions and cultural ethos remain rooted in traditions of rural origins.

    An Assessment of Pakistan’s Urban Policies, 1947–1997

    Get PDF
    What public policies and programmes have been followed in dealing with mounting urban crisis in Pakistan over the past 50 years? This question has been addressed in the present article. Pakistan’s urban policies fall in three distinct phases, corresponding to evolving political and economic regimes. Yet, they show a fundamental continuity in that they have been driven by ‘plots and public works’ strategy. Pakistan has not been lacking in ‘up-to-date’ policies and programmes. Its urban policies have resulted in notable achievements and pervasive failures. The paper assesses both the achievements and shortfalls and identifies private interests that have benefited at the cost of public welfare.

    Uncovering Bugs in Distributed Storage Systems during Testing (not in Production!)

    Get PDF
    Testing distributed systems is challenging due to multiple sources of nondeterminism. Conventional testing techniques, such as unit, integration and stress testing, are ineffective in preventing serious but subtle bugs from reaching production. Formal techniques, such as TLA+, can only verify high-level specifications of systems at the level of logic-based models, and fall short of checking the actual executable code. In this paper, we present a new methodology for testing distributed systems. Our approach applies advanced systematic testing techniques to thoroughly check that the executable code adheres to its high-level specifications, which significantly improves coverage of important system behaviors. Our methodology has been applied to three distributed storage systems in the Microsoft Azure cloud computing platform. In the process, numerous bugs were identified, reproduced, confirmed and fixed. These bugs required a subtle combination of concurrency and failures, making them extremely difficult to find with conventional testing techniques. An important advantage of our approach is that a bug is uncovered in a small setting and witnessed by a full system trace, which dramatically increases the productivity of debugging

    Dynamic and Static Properties of Accoustic Waves in Gases

    Get PDF

    Canadian towns and villages : an economic profile, 1981

    Get PDF
    viii, 41 p

    Faster Algorithms for Weighted Recursive State Machines

    Full text link
    Pushdown systems (PDSs) and recursive state machines (RSMs), which are linearly equivalent, are standard models for interprocedural analysis. Yet RSMs are more convenient as they (a) explicitly model function calls and returns, and (b) specify many natural parameters for algorithmic analysis, e.g., the number of entries and exits. We consider a general framework where RSM transitions are labeled from a semiring and path properties are algebraic with semiring operations, which can model, e.g., interprocedural reachability and dataflow analysis problems. Our main contributions are new algorithms for several fundamental problems. As compared to a direct translation of RSMs to PDSs and the best-known existing bounds of PDSs, our analysis algorithm improves the complexity for finite-height semirings (that subsumes reachability and standard dataflow properties). We further consider the problem of extracting distance values from the representation structures computed by our algorithm, and give efficient algorithms that distinguish the complexity of a one-time preprocessing from the complexity of each individual query. Another advantage of our algorithm is that our improvements carry over to the concurrent setting, where we improve the best-known complexity for the context-bounded analysis of concurrent RSMs. Finally, we provide a prototype implementation that gives a significant speed-up on several benchmarks from the SLAM/SDV project

    GPUVerify: A Verifier for GPU Kernels

    Get PDF
    We present a technique for verifying race- and divergence-freedom of GPU kernels that are written in mainstream ker-nel programming languages such as OpenCL and CUDA. Our approach is founded on a novel formal operational se-mantics for GPU programming termed synchronous, delayed visibility (SDV) semantics. The SDV semantics provides a precise definition of barrier divergence in GPU kernels and allows kernel verification to be reduced to analysis of a sequential program, thereby completely avoiding the need to reason about thread interleavings, and allowing existing modular techniques for program verification to be leveraged. We describe an efficient encoding for data race detection and propose a method for automatically inferring loop invari-ants required for verification. We have implemented these techniques as a practical verification tool, GPUVerify, which can be applied directly to OpenCL and CUDA source code. We evaluate GPUVerify with respect to a set of 163 kernels drawn from public and commercial sources. Our evaluation demonstrates that GPUVerify is capable of efficient, auto-matic verification of a large number of real-world kernels

    Context-Bounded Analysis For Concurrent Programs With Dynamic Creation of Threads

    Full text link
    Context-bounded analysis has been shown to be both efficient and effective at finding bugs in concurrent programs. According to its original definition, context-bounded analysis explores all behaviors of a concurrent program up to some fixed number of context switches between threads. This definition is inadequate for programs that create threads dynamically because bounding the number of context switches in a computation also bounds the number of threads involved in the computation. In this paper, we propose a more general definition of context-bounded analysis useful for programs with dynamic thread creation. The idea is to bound the number of context switches for each thread instead of bounding the number of switches of all threads. We consider several variants based on this new definition, and we establish decidability and complexity results for the analysis induced by them

    The design and implementation of a verification technique for GPU Kernels

    Get PDF
    We present a technique for the formal verification of GPU kernels, addressing two classes of correctness properties: data races and barrier divergence. Our approach is founded on a novel formal operational semantics for GPU kernels termed synchronous, delayed visibility (SDV) semantics, which captures the execution of a GPU kernel by multiple groups of threads. The SDV semantics provides operational definitions for barrier divergence and for both inter- and intra-group data races. We build on the semantics to develop a method for reducing the task of verifying a massively parallel GPU kernel to that of verifying a sequential program. This completely avoids the need to reason about thread interleavings, and allows existing techniques for sequential program verification to be leveraged. We describe an efficient encoding of data race detection and propose a method for automatically inferring the loop invariants that are required for verification. We have implemented these techniques as a practical verification tool, GPUVerify, that can be applied directly to OpenCL and CUDA source code. We evaluate GPUVerify with respect to a set of 162 kernels drawn from public and commercial sources. Our evaluation demonstrates that GPUVerify is capable of efficient, automatic verification of a large number of real-world kernels

    An evaluation of the integrated rural development programme

    Get PDF
    corecore