Our research
Content type
+
Downloads (434)
+
Events (386)
 
Groups (149)
+
News (2549)
 
People (822)
 
Projects (1052)
+
Publications (11808)
+
Videos (5058)
Labs
Research areas
Algorithms and theory47205 (238)
Communication and collaboration47188 (182)
Computational linguistics47189 (169)
Computational sciences47190 (180)
Computer systems and networking47191 (644)
Computer vision208594 (24)
Data mining and data management208595 (33)
Economics and computation47192 (89)
Education47193 (77)
Gaming47194 (65)
Graphics and multimedia47195 (190)
Hardware and devices47196 (186)
Health and well-being47197 (68)
Human-computer interaction47198 (750)
Machine learning and intelligence47200 (672)
Mobile computing208596 (20)
Quantum computing208597 (7)
Search, information retrieval, and knowledge management47199 (591)
Security and privacy47202 (243)
Social media208598 (13)
Social sciences47203 (228)
Software development, programming principles, tools, and languages47204 (523)
Speech recognition, synthesis, and dialog systems208599 (36)
Technology for emerging markets208600 (24)
1–25 of 523
Sort
Show 25 | 50 | 100
1234567Next 
Akash Lal and Shaz Qadeer

he application of software-verification technology towards building realistic bug-finding tools requires working through several precision-scalability tradeoffs. For instance, a critical aspect while dealing with C programs is to formally define the treatment of pointers and the heap (usually termed as the “memory model”). A machine-level modeling is often intractable, whereas one that leverages high-level information (such as types) can be inaccurate. Another tradeoff is modeling integer...

Publication details
Date: 1 November 2014
Type: Inproceeding
Akash Lal and Shaz Qadeer

A goal-directed search attempts to reveal only relevant information needed to establish reachability (or unreachability) of the goal from the initial state of the program. The further apart the goal is from the initial state, the harder it can get to establish what is relevant. This paper addresses this concern in the context of programs with assertions that may be nested deeply inside its call graph—thus, far away interprocedurally from main. We present a source-to-source transformation on...

Publication details
Date: 1 October 2014
Type: Inproceeding
Publisher: Choose...
Chieh-Jan Mike Liang, Nicholas D. Lane, Niels Brouwers, Li Zhang, Börje F. Karlsson, Hao Liu, Yan Liu, Jun Tang, Xiang Shan, Ranveer Chandra, and Feng Zhao

Scalable and comprehensive testing of mobile apps is extremely challenging. Every test input needs to be run with a variety of contexts, such as: device heterogeneity, wireless network speeds, locations, and unpredictable sensor inputs. The range of values for each context, e.g. location, can be very large. In this paper we present Caiipa, a cloud service for testing apps over an expanded mobile context space in a scalable way. It incorporates key techniques to make app testing more tractable, including...

Publication details
Date: 1 September 2014
Type: Inproceeding
Publisher: ACM – Association for Computing Machinery
Chengnian SUN, Haidong Zhang, Jian-Guang LOU, Hongyu ZHANG, Qiang WANG, Siau-Cheng Khoo, and Dongmei ZHANG

In a bug tracking system (e.g. Bugzilla), the lifetime of a bug report usually consists of a sequence of revisions to itself, referred to as bug report evolution in this paper. Each revision contains changes to one or more fields in the bug report. Such evolution information is an essential indicator of software process maturity evaluation in an organization. Understanding bug report evolution is also useful for research on mining bug repositories. However, current bug tracking systems provide limited...

Publication details
Date: 1 September 2014
Type: Proceedings
Publisher: Choose...
Konstantin Korovin and Margus Veanes

Combining classical automated theorem proving techniques with theory based reasoning, such as satisfiability modulo theories, is a new approach to first-order reasoning modulo theories. Skolemization is a classical technique used to transform first-order formulas into equisatisfiable form. We show how Skolemization can benefit from a new satisfiability modulo theories based simplification technique of formulas called monadic decomposition. The technique can be used to transform a theory dependent...

Publication details
Date: 1 August 2014
Type: Inproceeding
Publisher: Springer
Chen LUO, Jian-Guang LOU, Qingwei LIN, Qiang FU, Rui DING, Dongmei ZHANG, and Zhe WANG
Publication details
Date: 1 August 2014
Type: Inproceeding
Publisher: ACM – Association for Computing Machinery
Karthick Jayaraman, Nikolaj Bjrner, Geoff Outhred, and Charlie Kaufman

Network connectivity policies are crucial for assuring the security and availability of large-scale datacenter. Managing these policies is fraught with complexity and operator errors. The difficulties are exacerbated when deploying large scale offerings of public cloud services where multiple tenants are hosted within customized isolation boundaries. In these large-scale settings it is impractical to depend on human effort or trial and error to maintain the correctness and consistency of...

Publication details
Date: 26 July 2014
Type: Technical report
Publisher: Microsoft Research
Number: MSR-TR-2014-102
Aseem Rastogi, Nikhil Swamy, Cedric Fournet, Gavin Bierman, and Panagiotis Vekris

Current proposals for adding gradual typing to JavaScript, such as Closure, TypeScript and Dart, forgo soundness to deal with issues of scale, code reuse, and popular programming patterns.

We show how to address these issues in practice while retaining soundness. We design and implement a new gradual type system, prototyped for expediency as a ‘Safe’ compilation mode for TypeScript.1 Our compiler achieves soundness by enforcing stricter static checks and embedding residual runtime checks in...

Publication details
Date: 1 July 2014
Type: Technical report
Publisher: Choose...
Number: MSR-TR-2014-99
Margus Veanes, Nikolaj Bjorner, Lev Nachmanson, and Sergey Bereg

Monadic predicates play a prominent role in many decidable cases, including decision procedures for symbolic automata. We are here interested in discovering whether a formula can be rewritten into a Boolean combination of monadic predicates. Our setting is quantifier-free formulas over a decidable background theory, such as arithmetic and we here develop a semi-decision procedure for extracting a monadic decomposition of a formula when it exists.

Publication details
Date: 1 July 2014
Type: Inproceeding
Publisher: Springer
Aleksandar Zeljic, Christoph M. Wintersteiger, and Philipp Rummer

We consider the problem of efficiently computing models for satisfiable constraints, in the presence of complex background theories such as oating-point arithmetic. Model construction has various applications, for instance the automatic generation of test inputs. It is well-known that naive encoding of constraints into simpler theories (for instance, bit-vectors or propositional logic) can lead to a drastic increase in size, and be unsatisfactory in terms of memory and runtime needed for model...

Publication details
Date: 1 July 2014
Type: Inproceeding
Publisher: Springer
Nicola Paoletti, Boyan Yordanov, Youssef Hamadi, Christoph M. Wintersteiger, and Hillel Kugler

Deciphering the developmental program of an embryo is a fundamental question in biology. Landmark papers [9,10] have recently shown how computational models of gene regulatory networks provide system-level causal understanding of the developmental processes of the sea urchin, and enable powerful predictive capabilities. A crucial aspect of the work is empirically deriving plausible models that explain all the known experimental data, a task that becomes infeasible in practice due to the inherent...

Publication details
Date: 1 July 2014
Type: Inproceeding
Publisher: Springer
Aditya V. Nori, Chung-Kil Hur, Sriram K. Rajamani, and Selva Samuel

We present a new Markov Chain Monte Carlo (MCMC) sampling algorithm for probabilistic programs. Our approach and tool, called R2, has the unique feature of employing program analysis in order to improve the efficiency of MCMC sampling. Given an input program P, R2 propagates observations in P backwards to obtain a semantically equivalent program P0 in which every probabilistic assignment is immediately followed by an observe statement. Inference is performed by a suitably modified version of the...

Publication details
Date: 1 July 2014
Type: Inproceeding
Publisher: AAAI
Lenin Ravindranath, Sharad Agarwal, Jitu Padhye, and Chris Riederer

Generations of computer programmers are taught to prefetch network objects in computer science classes. In practice, prefetching can be harmful to the user's wallet when she is on a limited or pay-per-byte cellular data plan. Many popular, professionally-written smartphone apps today prefetch large amounts of network data that the typical user may never use. We present Procrastinator, which automatically decides when to fetch each network object that an app requests. This decision is made based on...

Publication details
Date: 16 June 2014
Type: Proceedings
Publisher: ACM International Conference on Mobile Systems, Applications, and Services
Andrew Begel, Thomas Fritz, Sebastian Mueller, Serap Yigit-Elliott, and Manuela Zueger

Software developers make programming mistakes that cause serious bugs for their customers. Existing work to detect problematic software focuses mainly on post hoc identification of correlations between bug fixes and code. We propose a new approach to address this problem — detect when software developers are experiencing difficulty while they work on their programming tasks, and stop them before they can introduce bugs into the code. In this paper, we investigate a novel approach to classify the...

Publication details
Date: 4 June 2014
Type: Inproceeding
Publisher: International Conference on Software Engineering
Andrew Begel and Thomas Zimmermann

In this paper, we present the results from two surveys related to data science applied to software engineering. The first survey solicited questions that software engineers would like data scientists to investigate about software, about software processes and practices, and about software engineers. Our analyses resulted in a list of 145 questions grouped into 12 categories. The second survey asked a different pool of software engineers to rate these 145 questions and identify the most important ones to...

Publication details
Date: 1 June 2014
Type: Inproceeding
Publisher: ACM
Margus Veanes

Implementing string transformation routines, such as encoders, decoders, and sanitizers, correctly and efficiently is a difficult and error prone task. Such routines are often used in security critical settings, process large amounts of data, and must work efficiently and correctly. We introduce a new declarative language called Bex that builds on elements of regular expressions, symbolic automata and transducers, and enables a compilation scheme into C, C# or JavaScript that avoids many of the...

Publication details
Date: 1 June 2014
Type: Inproceeding
Publisher: Springer Verlag
Qiang FU, Jieming ZHU, Wenlu HU, Jian-Guang LOU, Rui DING, Qingwei LIN, Dongmei ZHANG, and Tao XIE
Publication details
Date: 1 June 2014
Type: Proceedings
Publisher: International Conference on Software Engineering
Francesco Logozzo, Shuvendu Lahiri, Manuel Fahndrich, and Sam Blackshear

We introduce Verification Modulo Versions (VMV), a new static analysis technique for reducing the number of alarms reported by static verifiers while providing sound semantic guarantees. First, VMV extracts semantic environment conditions from a base program P. Environmental conditions can either be sufficient conditions (implying the safety of P) or necessary conditions (implied by the safety of P). Then, VMV instruments a new version of the program, P', with the inferred conditions. We prove that we...

Publication details
Date: 1 June 2014
Type: Inproceeding
Publisher: ACM SIGPLAN
Rui DING, Qiang FU, Jian-Guang LOU, Qingwei LIN, Dongmei ZHANG, and Tao XIE
Publication details
Date: 1 June 2014
Type: Inproceeding
Publisher: the 44th annual IEEE/IFIP International Conference on Dependable Systems and Networks
Alexey Bakhirkin, Josh Berdine, and Nir Piterman

We propose a novel approach for computing weakest liberal safe preconditions of programs. The standard approaches, which call for either under-approximation of a greatest fixed point, or complementation of a least fixed point, are often difficult to apply successfully. Our approach relies on a different decomposition of the weakest precondition of loops. We exchange the greatest fixed point for the computation of a least fixed point above a recurrent set, instead of the bottom element. Convergence...

Publication details
Date: 1 June 2014
Type: Technical report
Publisher: Microsoft Research
Number: MSR-TR-2014-82
Nikolai Tillmann, Judith Bishop, R. Nigel Horspool, Daniel Perelman, and Tao Xie

Learning to code can be made more effective and sustainable if it is perceived as fun by the learner. Code Hunt uses puzzles that play- ers have to explore by means of clues presented as test cases. Play- ers iteratively modify their code to match the functional behaviour of secret solutions. This way of learning to code is very different to learning from a specification. It is essentially re-engineering from test cases. Code Hunt is based on the test/clue generation of Pex, a white-box test generation...

Publication details
Date: 1 June 2014
Type: Article
Publisher: ACM ICSE Workshop on Seach Based Software Testing 2014
Shaun Phillips, Thomas Zimmermann, and Christian Bird

Build, creating software from source code, is a fundamental activity in software development. Build teams manage this process and ensure builds are produced reliably and efficiently. This paper presents an exploration into the nature of build teams—how they form, work, and relate to other teams—through three multi-method studies conducted at Microsoft. We also consider build team effectiveness and find that many challenges are social, not technical: role ambiguity, knowledge sharing, communication,...

Publication details
Date: 1 June 2014
Type: Inproceeding
Publisher: ACM
Marcelo Sousa, Isil Dillig, Dimitrios Vytiniotis, Thomas Dillig, and Christos Gkantsidis
Publication details
Date: 1 June 2014
Type: Inproceeding
Publisher: ACM
Loris D'Antoni, Margus Veanes, Benjamin Livshits, and David Molnar

Tree automata and tree transducers are used in a wide range of applications in software engineering, from XML processing to language type-checking. While these formalisms are of immense practical use, they can only model finite alphabets, and since many real-world applications operate over infinite domains such as integers, this is often a limitation. To overcome this problem we augment tree automata and transducers with symbolic alphabets represented as parametric theories. Admitting infinite alphabets...

Publication details
Date: 1 June 2014
Type: Inproceeding
Publisher: ACM
Emerson Murphy-Hill, Thomas Zimmermann, and Nachiappan Nagappan

Video games make up an important part of the software industry, yet the software engineering community rarely studies video games. This imbalance is a problem if video game development differs from general software development, as some game experts suggest. In this paper we describe a study with 14 interviewees and 364 survey respondents. The study elicited substantial differences between video game development and other software development. For example, in game development, “cowboy coders” are...

Publication details
Date: 1 June 2014
Type: Inproceeding
Publisher: ACM
1–25 of 523
Sort
Show 25 | 50 | 100
1234567Next 
> Our research