Publications

A Graph-based Theory to Analyze App Soundness Properties

Published in Under Progress, 2021

Apps are specific programs; however, the existing theories used with programs are insufficient to study app. This paper justifies the need for a theory applicable to apps, introduces it, and uses it to assert app soundness properties.

Download here

Parsing Natural-Language based Software Requirements into Code Segments

Published in Under Progress, 2020

In order to transform software requirements into code, we first need to identify and refine the existing ambiguities. In this paper, we introduce a systematic approach towards detecting ambiguities that depends on two key elements: a grammar that specifies the unambiguous syntax, and second, an NLP model to map software requirements to its terminal symbols.

Download here

A Survey on Machine Programming Techniques

Published in Under Progress, 2020

In this survey we review and classify the research on machine programming. We are specifically interested in the research that takes a description of code and generates software. We introduce a taxonomy with 5 dimensions and use it to classify the existing research. For each class, we look at the dominantly used approaches and go over several examples of using them in machine programming.’

Download here

Industrialized Growth in Developing Economies

Published in , 2017

This thesis provides a model ofgrowth and debt accumulation for developing countries aiming to overhaul their economies through industrialization. The core of the model is an infant R&D sector that allocates labor to generate knowledge and uses the knowledge to generate machinery used across the economy. This sector is initially subsidized and trade protected. The subsidy and protection will be relieved after the R&D sector reaches a self-sufficient production level where the cost of producing machinery is less than its marginal productivity in the other sectors. Based on this model, I try to answer two key questions: first, how much subsidy should be applied to the machinery prices to maximize the output of the economy, and second what growth level is attainable in a such an economy.

Download here

To share or not to share storage in Mesh Networks: A System Throughput Perspective

Published in IEEE, 22nd International Conference on Advanced Information Networking and Applications-Workshops (aina workshops 2008), 2008

While the cost per megabyte of storage is economical, sharing storage might be expensive because delivery of a clip occupying the shared storage requires bandwidth. This is especially true for mesh networks where devices are constrained by the radio-range and bandwidth of their wireless networking card. Assuming a device, termed a peer, is configured with a mass storage device, it may share either all, a fraction, or none of its storage. When a peer does not shares its storage, it stores clips with the objective to enhance a local criterion such as number of clip requests serviced using its mass storage device. When a peer shares its storage, it may store clips to optimize a global metric such as the total number of devices that may display their clips simultaneously, termed system throughput. Using this global metric, we show the following surprising result: the throughput of certain mesh networks is enhanced when …

Download here

An Evaluation of Two Policies for Placement of Continuous Media in Multi-hop Wireless Networks

Published in Proceedings of the Twelfth International Conference on Distributed Multimedia Systems, 2006

This paper focuses on a greedy data placement strategy for a mesh network of peer-to-peer devices that collaborate to stream continuous media, audio and video clips. The greedy placement strategy, termed Simple, strives to maximize the number of references served by the local storage of a peer. We analyze two policies to realize this placement: Frequency-based and Byte-hit. The first sorts clips based on their access frequency, assigning the frequently accessed clips to each node. Byte-hit computes the frequency of access to each byte of a clip, sorts clips based on this value, and assigns those with the highest byte-hit value to each node. Both have the same complexity and almost identical implementations. A simulation study shows Byte-hit is superior to Frequency-based for two reasons. First, it maximizes the number of peers that can simultaneously display their referenced clips. Second, it is more robust to error in access frequencies. In all our experiments, Byte-hit performs almost identical to the optimal placement strategy.

Download here

A case for a mobility based admission control policy

Published in ACM, In Proceedings of the 10th International Conference on Distributed Multimedia Systems, 2004

Ad hoc networks of wireless devices such as Car-to_cat Peer-to-Peer Networks (C2P2) are an emerging technology. Entertainment applications that manipulate continuous media, audio and video clips. push the limits of these networks due to their stringent requirements. These challenges are magnified by environmental characteristics such as dynamic wireless network connections, mobility, multi-hop nature of network connections, mobility, multi-hop nature of the network and the possible lack of fixed infrastructure. In these networks, an intelligent admission control policy enhances Quality of Service (QoS) observed by the users of the system. This paper makes the case for a decentralized Mobility based ADmission Control (MADC) policy. We develop QoS utility models to quantify the performance of the policy with an environment that employs no admission control. Obtained results show conclusively that MADC provides orders of magnitude improvement when compare with no admission control.

Download here

Near Optimal Number of Replicas for Continuous Media in Ad-hoc Networks of Wireless Devices

Published in ACM, Multimedia Information Systems, 2004

This study investigates replication of data in a novel streaming architecture consisting of ad-hoc networks of wireless devices. One application of these devices is home-to-home (H2O) entertainment systems where a device collaborates with others to provide each household with on-demand access to a large selection of audio and video clips. These devices are configured with a substantial amount of storage and may cache several clips for future use. A contribution of this study is a technique to compute the number of replicas for a clip based on the square-root of the product of bandwidth required to display clips.

Download here

An evaluation of alternative continuous media replication techniques in wireless peer-to-peer networks

Published in ACM, Proceedings of the 3rd ACM international workshop on Data engineering for wireless and mobile access, 2003

This study investigates a novel streaming architecture consisting of home-to-home online (H2O) devices that collaborate to provide on-demand access to a large selection of audio and video clips. An H2O device consists of a high bandwidth wireless communication component, a powerful processor, and gigabytes of storage. This study investigates three families of replication strategies for a H2O cloud. We evaluate these using analytical models. The obtained results demonstrate the superiority of one strategy that determines the number of replicas for a clip i based on (a) the bandwidth required to display clip i> proportional to the bandwidth required by the other clips in the database, and (b) the square root of the frequency of access to the clips.

Download here