890 likes | 1.12k Vues
A Snapshot Of MSR: 2005. Daniel T. Ling Corporate Vice President Microsoft Research Microsoft Corporation. Microsoft Research 2005. Founded in 1991 Staff of 750 in over 55 areas Internationally recognized research teams Small part of overall R&D ~$6 Billion Research locations
E N D
A Snapshot Of MSR: 2005 Daniel T. Ling Corporate Vice President Microsoft Research Microsoft Corporation
Microsoft Research 2005 • Founded in 1991 • Staff of 750 in over 55 areas • Internationally recognized research teams • Small part of overall R&D ~$6 Billion • Research locations • Redmond, Washington, • San Francisco, California • Cambridge, United Kingdom • Beijing, People’s Republic of China • Mountain View, California • Bangalore, India
MSR Mission Statement • Expand the state of the art in each of the areas in which we do research • Rapidly transfer innovative technologies into Microsoft products • Ensure that Microsoft products have a future
Wide Range Of Activities • Work with product groups • Program management team • TechFest in March • Participate in Research Community • Extensive publication and conference participation • Professional service - DARPA, NSF, NRC • Strong ties with universities • Joint research projects • Extensive visitor and speaker program • Students, faculty, research scientists • Post-docs, sabbaticals, interns
Community Events • Faculty Summit • DC Tech Fair • Open Day at MSR Cambridge • 21st Century of Computing in Beijing • Workshops in specific areas • Email and Anti-Spam Conference (Stanford) • Social Computing Symposium (Redmond) • Conference on Converging Sciences (Trento, Italy) • UW / MSR Summer Institute • Data Mining, Invisible Computing, Software Tools, Specifications, Security, Testing • 2005: Biological and Computation Perspectives on Intelligent Systems; Handling Imprecise Information
Inventing The Future… • Platform Elements • Networking, Distributed systems, Operating systems • Cellphone and other Devices • Sensor networks • Security, Protection against Malware • Reinventing Software Development • Languages, tools, compilers • Data and Documents • Data Solutions for a Terabyte World • Search • Fighting SPAM • UI and Collaboration • New UI – Speech, Ink, Gesture, Natural Language • Meetings and Collaboration • Modeling of People and Groups • Media • Graphics and Multimedia • Digital Photography and Video • Science • AIDS Vaccine, Quantum Computing, Astronomy • Algorithms, Cryptography
Demo Susan Dumais Shaz Qadeer Ken Hinckley / Johnson Apacible Nebojsa Jojic Microsoft Research
Personalized Search Susan Dumais Senior Researcher Adaptive Systems and Interaction
Memory Landmarks Stuff I’ve Seen MSN-DS Search … Your Way • Stuff I’ve Seen (SIS) • Unified search over your content (mail, files, web, calendar, contacts, music, notes, rss, etc.) • Try (something like) it, MSN Desktop Search (http://toolbar.msn.com) • Memory landmarks
NewsJunkie: Pizza delivery man w/ bomb incident Friends say Wells is innocent Looking for two people Copycat case in Missouri NoveltyScore Gun disguised as cane ArticlesOrderedbyTime Search … Your Way • Stuff I’ve Seen (SIS) • Unified search over your content (mail, files, web, calendar, contacts, music, notes, rss, etc.) • Try (something like) it, MSN Desktop Search (http://toolbar.msn.com) • Memory landmarks • NewsJunkie • Monitoring ongoing news events • Identify stories that are novel, given what you’ve already read
Search … Your Way • Stuff I’ve Seen (SIS) • Unified search over your content (mail, files, web, calendar, contacts, music, notes, rss, etc.) • Try (something like) it, MSN Desktop Search (http://toolbar.msn.com) • Memory landmarks • NewsJunkie • Monitoring ongoing news events • Identify stories that are novel, given what you’ve already read • Personalized Web Search … Today’s focus
Web Search Personalized Web Search Personalized Web Search (PS) (w/ Jaime Teevan and Eric Horvitz) • Web Search • All users get the same results, independent of previous search history, current context, etc. • Personalized Web Search • Personalize search results, using rich client-side information • Personal content (e.g., MSN-DS index), activities • No profile setup or maintenance required • All profile storage and processing client-side, for improved privacy • User control over amount of personalization
Step 1: Retrieve web search results, n>>10 Step 2: Compute similarity (result, user) Step 3: Re-rank search results User Model PS: Overview
N ni (N) (ni) wi = log ri ri R R (ri+0.5)(N’-n’i-R+ri+0.5) (n’i-ri+0.5)(R-ri+0.5) (ri+0.5)(N-ni-R+ri+0.5) (ni-ri+0.5)(R-ri+0.5) wi = log wi = log PS: Theoretical Framework Score = Σtfi * wi World Client Where: N’ = N+R, ni’ = ni+ri
PS: Evaluation • How well does it work? • Rich space of algorithmic and UI possibilities • Experiment: • Participants judge top 50 results, 137 queries • User Model • No Profile < Query history < Web SIS < Recent SIS < All SIS • Document Model • Full document in results set < Snippets in results set • PS score + Web rank, even better • Internal deployment ongoing
Search … Your Way • Example systems • Stuff I’ve Seen -> MSN Desktop Search • NewsJunkie • Personalized Web Search • Questions / Comments ? • Contact information: • Susan Dumais Senior Researcher Adaptive Systems and Interaction Group sdumais@microsoft.com http://research.microsoft.com/~sdumais
Finding Concurrency Bugs in Systems Software Shaz Qadeer Software Productivity Tools
Concurrency Is Important • Critical software • Operating systems, databases, embedded software (e.g., flight control, handheld devices, cell phones) • Single-chip multiprocessors will become common • Software running on these chips will be even more concurrent
Concurrent Systems Code Is Complicated! • Shared memory between threads • Race conditions: some interleaving of concurrently enabled actions causes an error • Data races: data being read by a thread might be trashed by concurrent write of another thread • Reference counting bugs: a thread might access a resource already freed by another thread, memory leaks • IRP (I/O Request Packet) cancellation bugs: unexpected cancellation of an IRP violates the state machine of IRP
Concurrency Analysis Is Difficult (1) • Finite-data single-procedure program • n lines • m states for global data variables • 1 thread • n * m states • K threads • (n)K * m states
Concurrency analysis is difficult (2) • Finite-data program with procedures • n lines • m states for global data variables • 1 thread • Infinite number of states • Can still decide assertions in O(n * m3) • K 2 threads • Undecidable!
KISS: A Static Checker For Concurrent Software • Has found a number of concurrency errors in NT device drivers • Key new ideas • Technique to use any sequential checker to perform concurrency analysis • Current implementation on top of Static Driver Verifier • Find all errors that can manifest in a small number of context-switches
Data Races In DDK Drivers • Device extension shared among threads • Data races on device extension fields • two threads concurrently accessing a field • at least one access is a write