﻿<?xml version="1.0" encoding="utf-8" standalone="no"?>
<rss version="2.0">
  <channel>
    <title>Microsoft Research Publications</title>
    <link>http://research.microsoft.com/apps/dp/pu/publications.aspx</link>
    <description>Keep current with all the latest Microsoft Research Publications and Technical Reports</description>
    <copyright>© 2010 Microsoft Corporation. All rights reserved.</copyright>
    <language>en-US</language>
    <lastBuildDate>Wed, 10 Feb 2010 08:00:22 GMT</lastBuildDate>
    <ttl>2880</ttl>
    <item>
      <title>A Novel Click Model and Its Applications to Online Advertising</title>
      <description>Recent advances in click model have positioned it as an attractive method for representing user preferences in web search and online advertising. Yet, most of the existing works focus on training the click model for individual queries, and cannot accurately model the tail queries due to the lack of training data. Simultaneously, most of the existing works consider the query, url and position, neglecting some other important attributes in click log data, such as the local time. Obviously, the click through rate is different between daytime and midnight. In this paper, we propose a novel click model based on Bayesian network, which is capable of modeling the tail queries because it builds the click model on attribute values, with those values being shared across queries. We called our work General Click Model (GCM) as we found that most of the existing works can be special cases of GCM by assigning different parameters. Experimental results on a largescale commercial advertisement dataset show that GCM can significantly and consistently lead to better results as compared to the state-of-the-art works.</description>
      <link>http://research.microsoft.com/apps/pubs/default.aspx?id=119092</link>
      <pubDate>Fri, 05 Feb 2010 08:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Precomputing Search Features for Fast and Accurate Query Classification</title>
      <description />
      <link>http://research.microsoft.com/apps/pubs/default.aspx?id=103337</link>
      <pubDate>Thu, 04 Feb 2010 08:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Incremental Compositional Dynamic Test Generation</title>
      <description>Dynamic test generation consists of running a program while simultaneously executing the program symbolically in order to gather constrains on inputs from conditional statements encountered along the execution. Those constraints are then systematically negated and solved with a constraint solver, generating new test inputs to exercise different execution paths of the program. This process is repeated with the goal of exercizing many program paths and finding many bugs. This search process can be made compositional by memoizing symbolic execution sub-paths as test summaries that are re-usable during the search, resulting in a search algorithm that can be exponentially faster than a non-compositional one. By construction, symbolic test summaries are ``must'' summaries guaranteeing the existence of some program executions. In this paper, we consider the problem of statically validating symbolic test summaries against code changes. Summaries that are provably still valid using a static analysis of a new program version do not need to be retested or recomputed dynamically. In the presence of small code changes, incrementality can considerably speed-up regression testing since static checking is much cheaper than dynamic checking and testing. We propose a two-phase algorithm to statically check which old test summaries are still valid for a new program version. The first phase is based on a simple analysis of the static call-flow and control-flow graph of the program. The second phase checks remaining invalidated intraprocedural test summaries against new code using verification-condition generation and automated theorem proving. We discuss challenges in validating must summaries statically and provide several checks with different guarantees. We present preliminary experimental results with three large Windows applications.</description>
      <link>http://research.microsoft.com/apps/pubs/default.aspx?id=119085</link>
      <pubDate>Mon, 01 Feb 2010 08:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Proofs from Tests</title>
      <description>We present an algorithm DASH to check if a program P satisfies a safety property \varphi. The unique feature of this algorithm is that it uses only test generation operations, and it refines and maintains a sound program abstraction as a consequence of failed test generation operations. Thus, each iteration of the algorithm is inexpensive, and can be implemented without any global may-alias information. In particular, we introduce a new refinement operator WP_\alpha that uses only the alias information obtained by symbolically executing a test to refine abstractions in a sound manner. We present a full exposition of the DASH algorithm and its theoretical properties. We have implemented DASH in a tool called YOGI that plugs into Microsoft’s Static Driver Verifier framework. We have used this framework to run YOGI on 69 Windows Vista drivers with 85 properties and find that YOGI scales much better than SLAM, the current engine driving Microsoft’s Static Driver Verifier.</description>
      <link>http://research.microsoft.com/apps/pubs/default.aspx?id=102699</link>
      <pubDate>Mon, 01 Feb 2010 08:00:00 GMT</pubDate>
    </item>
    <item>
      <title>High-quality multi-pass image resampling</title>
      <description>This paper develops a family of multi-pass image resampling algorithms that use one-dimensional filtering stages to achieve high-quality results at low computational cost. Our key insight is to perform a frequency-domain analysis to ensure that very little aliasing occurs at each stage in the multi-pass transform and to insert additional stages where necessary to ensure this. Using one-dimensional resampling enables the use of small resampling kernels, thus producing highly efficient algorithms. We compare our results with other state of the art software and hardware resampling algorithms.</description>
      <link>http://research.microsoft.com/apps/pubs/default.aspx?id=119069</link>
      <pubDate>Mon, 01 Feb 2010 08:00:00 GMT</pubDate>
    </item>
    <item>
      <title>A Sketch-Based Distance Oracle for Web-Scale Graphs</title>
      <description>We study the fundamental problem of computing distances between nodes in large graphs such as the web graph and social networks. Our objective is to be able to answer distance queries between pairs of nodes in real time. Since the standard shortest path algorithms are expensive, our approach moves the time-consuming shortest-path computation offline, and at query time only looks up precomputed values and performs simple and fast computations on these precomputed values. More specifically, during the offline phase we compute and store a small “sketch” for each node in the graph, and at query-time we look up the sketches of the source and destination nodes and perform a simple computation using these two sketches to estimate the distance.</description>
      <link>http://research.microsoft.com/apps/pubs/default.aspx?id=115785</link>
      <pubDate>Mon, 01 Feb 2010 08:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Enabling Mobile Application Mashups With Merlion</title>
      <description>We present Merlion, a system that enables end-users to build custom mobile applications by creating mashups from existing desktop applications. The original application executes on a machine running remote desktop software (such as VNC server) without any modifications. Users can utilize the Merlion Designer to select relevant visual regions of the original application and create an alternate layout that is more suitable to their circumstances (e.g. taking the screen real-estate of their mobile device into account). Once the custom application has been designed, the user can utilize the Merlion Runtime (running on the user's mobile device) to interact with their custom application. Merlion can improve user productivity by simplifying user interfaces, automate repetitive actions, make applications available across different mobile form factors, and can allow applications that work on different OS platforms to operate in concert. In this paper, we describe the design of the Merlion system, details of our initial prototype, and discussion of the benefits and challenges of our approach.</description>
      <link>http://research.microsoft.com/apps/pubs/default.aspx?id=118928</link>
      <pubDate>Mon, 01 Feb 2010 08:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Three's Company: Understanding Communication Channels in Three-way Distributed Collaboration</title>
      <description>We explore the design of a system for three-way collaboration over a shared visual workspace, specifically in how to support three channels of communication: person, reference, and task-space. In two studies, we explore the implications of extending designs intended for dyadic collaboration to three-person groups, and the role of each communication channel. Our studies illustrate the utility of multiple configurations of users around a distributed workspace, and explore the subtleties of traditional notions of identity, awareness, spatial metaphor, and corporeal embodiments as they relate to three-way collaboration.</description>
      <link>http://research.microsoft.com/apps/pubs/default.aspx?id=118779</link>
      <pubDate>Mon, 01 Feb 2010 08:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Exploring Spatialized Audio &amp; Video for Distributed Conversations</title>
      <description>Previous work has demonstrated the benefits of spatial audio conferencing over monophonic when listening to a group conversation. In this paper we examined three-way distributed conversations while varying the presence of spatial video and audio. Our results demonstrate significant benefits to adding spatialized video to an audio conference. Specifically, users perceived that the conversations were of higher quality, they were more engaged, and they were better able to keep track of the conversation. In contrast, no significant benefits were found when mono audio was replaced by spatialized audio. The results of this work are important in that they provide strong evidence for continued exploration of spatialized video, and also suggest that the benefits of spatialized audio may have less of an impact when video is also spatialized.</description>
      <link>http://research.microsoft.com/apps/pubs/default.aspx?id=118780</link>
      <pubDate>Mon, 01 Feb 2010 08:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Embodied Social Proxy: Connecting Hub-and-Satellite Teams</title>
      <description>Current business conditions have given rise to a particular kind of distributed team that is mostly collocated except for one remote member. These “hub-and-satellite” teams face the challenge of leaving the satellite colleague out-of-sight and out-of-mind. We developed a telepresence device, called an Embodied Social Proxy (ESP), which represents the satellite worker in collaborations with hub colleagues. ESP serves as a consistent video conferencing terminal for the satellite that can be moved to wherever meetings occur. Our studies of teams using ESP in their daily work show that its continuous physical presence improved the interpersonal connections between hub and satellite colleagues.</description>
      <link>http://research.microsoft.com/apps/pubs/default.aspx?id=118109</link>
      <pubDate>Mon, 01 Feb 2010 08:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Usability Guided Key-Target Resizing for Soft Keyboards</title>
      <description>Soft keyboards offer touch-capable mobile and tabletop devices many advantages such as multiple language support and room for larger displays. On the other hand, because soft keyboards lack haptic feedback, users often produce more typing errors. In order to make soft keyboards more robust to noisy input, researchers have developed key-target resizing algorithms, where underlying target areas for keys are dynamically resized based on their probabilities. In this paper, we describe how overly aggressive key-target resizing can sometimes prevent users from typing their desired text, violating basic user expectations about keyboard functionality. We propose the anchored dynamic key-target method which incorporates usability principles so that soft keyboards can remain robust to errors while respecting usability principles. In an empirical evaluation, we found that anchored dynamic key-targets significantly reduce keystroke errors, improving over the state of the art.</description>
      <link>http://research.microsoft.com/apps/pubs/default.aspx?id=118375</link>
      <pubDate>Mon, 01 Feb 2010 08:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Compositional Software Model Checking</title>
      <description />
      <link>http://research.microsoft.com/apps/pubs/default.aspx?id=118133</link>
      <pubDate>Mon, 01 Feb 2010 08:00:00 GMT</pubDate>
    </item>
    <item>
      <title>HOL-Boogie — An Interactive Prover-Backend for the Verifying C Compiler</title>
      <description>Boogie is a verification condition generator for an imperative core language. It has front-ends for the programming languages C# and C enriched by annotations in first-order logic, i.e. pre- and postconditions, assertions, and loop invariants. Moreover, concepts like ghost fields, ghost variables, ghost code and specification functions have been introduced to support a specific modeling methodology. Boogie’s verification conditions—constructed via a wp calculus from annotated programs—are usually transferred to automated theorem provers such as Simplify or Z3. This also comprises the expansion of language-specific modeling constructs in terms of a theory describing memory and elementary operations on it; this theory is called a machine/memory model. In this paper, we present a proof environment, HOL-Boogie, that combines Boogie with the interactive theorem prover Isabelle/HOL, for a specific C front-end and a machine/memory model. In particular, we present specific techniques combining automated and interactive proof methods for code verification. The main goal of our environment is to help program verification engineers in their task to “debug” annotations and to find combined proofs where purely automatic proof attempts fail.</description>
      <link>http://research.microsoft.com/apps/pubs/default.aspx?id=117854</link>
      <pubDate>Mon, 01 Feb 2010 08:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Biocharts: A Visual Formalism for Complex Biological Systems</title>
      <description>We address one of the central issues in devising languages, methods and tools for the modelling and analysis of complex biological systems, that of linking high-level (e.g. intercellular) information with lower-level (e.g. intracellular) information. Adequate ways of dealing with this issue are crucial for understanding biological networks and pathways, which typically contain huge amounts of data that continue to grow as our knowledge and understanding of a system increases. Trying to comprehend such data using the standard methods currently in use is often virtually impossible. We propose a two-tier compound visual language, which we call Biocharts, that is geared towards building fully executable models of biological systems. One of the main goals of our approach is to enable biologists to actively participate in the computational modelling effort, in a natural way. The high-level part of our language is a version of statecharts, which have been shown to be extremely successful in software and systems engineering. The statecharts can be combined with any appropriately well-defined language (preferably a diagrammatic one) for specifying the low-level dynamics of the pathways and networks. We illustrate the language and our general modelling approach using the well-studied process of bacterial chemotaxis.</description>
      <link>http://research.microsoft.com/apps/pubs/default.aspx?id=115444</link>
      <pubDate>Mon, 01 Feb 2010 08:00:00 GMT</pubDate>
    </item>
    <item>
      <title>SBotMiner: Large Scale Search Bot Detection</title>
      <description>In this paper, we study search bot traffic from search engine query logs at a large scale. Although bots that generate search traffic aggressively can be easily detected, a large number of distributed, low rate search bots are difficult to identify and are often associated with malicious attacks. We present SBotMiner, a system for automatically identifying stealthy, low-rate search bot traffic from query logs. Instead of detecting individual bots, our approach captures groups of distributed, coordinated search bots. Using sampled data from two different months, SBotMiner identifies over 123 million bot-related pageviews, accounting for 3.8% of total traffic. Our in-depth analysis shows that a large fraction of the identified bot traffic may be associated with various malicious activities such as phishing attacks or vulnerability exploits. This finding suggests that detecting search bot traffic holds great promise to detect and stop attacks early on.</description>
      <link>http://research.microsoft.com/apps/pubs/default.aspx?id=115681</link>
      <pubDate>Mon, 01 Feb 2010 08:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Griffin: Extending SSD Lifetimes with Disk-Based Write Caches</title>
      <description />
      <link>http://research.microsoft.com/apps/pubs/default.aspx?id=115352</link>
      <pubDate>Mon, 01 Feb 2010 08:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Information Needs in Bug Reports: Improving Cooperation Between Developers and Users</title>
      <description>For many software projects, bug tracking systems play a central role in supporting collaboration between the developers and the users of the software. To better understand this collaboration and how tool support can be improved, we have quantitatively and qualitatively analysed the questions asked in a sample of 600 bug reports from the MOZILLA and ECLIPSE projects. We categorised the questions and analysed response rates and times by category and project. Our results show that the role of users goes beyond simply reporting bugs: their active and ongoing participation is important for making progress on the bugs they report. Based on the results, we suggest four ways in which bug tracking systems can be improved.</description>
      <link>http://research.microsoft.com/apps/pubs/default.aspx?id=102347</link>
      <pubDate>Mon, 01 Feb 2010 08:00:00 GMT</pubDate>
    </item>
    <item>
      <title>JSMeter: Measuring JavaScript Behavior in the Wild</title>
      <description>JavaScript is widely used in web-based applications and is increasing popular with developers. So-called browser wars in recent years have focused on JavaScript performance, specifically claiming comparative results based on benchmark suites such as SunSpider and V8. In this paper we evaluate the behavior of JavaScript web applications from commercial web sites and compare this behavior with the benchmarks. We measure two specific areas of JavaScript runtime behavior: 1) functions and code and 2) events and handlers. We find that the benchmarks are not representative of many real web sites and that conclusions reached from measuring the benchmarks may be misleading. Specific common behaviors of real web sites that are underemphasized in the benchmarks include event-driven execution, instruction mix similarity, cold-code dominance, and the prevalence of short functions. We hope our results will convince the JavaScript community to develop and adopt benchmarks that are more representative of real web</description>
      <link>http://research.microsoft.com/apps/pubs/default.aspx?id=118663</link>
      <pubDate>Tue, 26 Jan 2010 08:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Local Verification of Global Invariants in Concurrent Programs</title>
      <description>We describe a practical method for reasoning about realistic concurrent programs. Our method allows global two-state invariants that restrict update of shared state. We provide simple, sufficient conditions for checking those global invariants modularly. The method has been implemented in VCC, an automatic, sound, modular verifier for concurrent C programs. VCC has been used to verify functional correctness of tens of thousands of lines of Microsoft's Hyper-V virtualization platform and of SYSGO's embedded real-time operating system PikeOS.</description>
      <link>http://research.microsoft.com/apps/pubs/default.aspx?id=118664</link>
      <pubDate>Tue, 26 Jan 2010 08:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Virtual Compass: relative positioning to sense mobile social interactions</title>
      <description>There are endless possibilities for the next generation of mobile social applications that automatically determine your social context. A key element of such applications is ubiquitous and precise sensing of the people you interact with. Existing techniques that rely on deployed infrastructure to determine proximity are limited in availability and accuracy. Techniques that rely on specific frequencies or signal processing are not supported by widely deployed mobile devices. Virtual Compass is a peer-based relative positioning system that relies solely on the hardware and operating system support available on commodity mobile handhelds. It uses Wi-Fi and Bluetooth radios to detect nearby mobile devices and places them in a two-dimensional plane. Virtual Compass simultaneously uses multiple radios and multi-hop relaying to reduce distance estimation error and increase coverage. We use adaptive scanning and out-of-band coordination to explore trade-offs between energy consumption and the latency in detecting movement. We have implemented Virtual Compass on mobile phones and laptops, and we evaluate it using a sample application that senses social interactions between Facebook friends. Our experimental evaluation shows high accuracy and low latency with modest energy consumption.</description>
      <link>http://research.microsoft.com/apps/pubs/default.aspx?id=118633</link>
      <pubDate>Mon, 25 Jan 2010 08:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>