|
|
|
ADVANCED DEVELOPMENT AND PROTOTYPING
|
|
overview
The Advanced Development and Prototyping Group (ADP) is a group of software engineers with the charter of building systems that bring research ideas to life in realistic environments. The group helps research groups with prototyping and technology transfer, as well as initiates its own projects that have longer term scope and often span multiple research areas. Some of the longer term projects we are involved in are: (1) using combinations of static analysis and information retrieval to make it easier to understand and debug large, evolving software systems, and (2) robust techniques for determining the geographic locations given textual queries. We do publish, typically in collaboration with researchers, but our heart is in building real systems at near production quality and scale.
|
|
people
|
|
|
|
Joseph Joy |
Tanuja Joshi |
Gopal Srinivasa
|
Vibhuti Sengar |
Mohit Gupta |
Robin Anil |
|
|
josephj |
i-tjoshi |
gopalsr |
vibhutis |
v-mgupta |
t-roanil |
|
| Development Manager |
Technical Consultant |
Research SDE |
Research SDE |
Developer |
Intern |
|
Former members:
Yamini Kannan
Sean Blagsvedt
Vibhore Goyal
Nitin Vats |
|
projects
Building verifiable systems: Improving the process of building software, particularly systems software, to enhance the static and dynamic verifiability of software
Members:
Joseph Joy, Gopal Srinivasa,
Sriram Rajamani (RSE), Shankar Shastry (IDC), plus many others…
Semi-structured search : Domain-specific search over semi-structured data, such as looking for similar code snippets across source code and binary versions, or estimating the geographic location referred to in text such as a postal address.
Members: Joseph Joy,
Tanuja Joshi,
Vibhuti Sengar
Simulating load balancing algorithms: Developing tools to simulate the performance of load-balancing algorithms in distributed systems.
Members: Gopal Srinivasa,
John MacCormick (SVC), Joseph Joy
Web-based collaboration frameworks: Developing tools and frameworks to simplify the process of collaboration over the Internet
Members: Joseph Joy,
Krishna Mehra (RSE),
Gopal Srinivasa
Virtual India: Developing online mapping technologies and providing mechanisms that enable a richer expression of content that has a strong geographic component. Visit this link for more information.
Members: Joseph Joy,
Gopal Srinivasa
|
|
publications
-
Robust location search from text queries. Vibhuti Sengar, Tanuja Joshi, Joseph M. Joy, Samarth Prakash, Kentaro Toyama. To appear in ACM GIS '07: 15th ACM International Symposium on Advances in Geographic Information Systems, November 2007
-
Programming Asynchronous layers with CLARITY.
Prakash Chandrashekaran, Chris Conway, Joseph M. Joy and Sriram K. Rajamani.To appear in FSE '07: 15th Annual Symposium on Foundations of Software Engineering, September 2007
-
Synergy: A new algorithm for property checking.
Bhargav S. Gulavani, Thomas A. Henzinger, Yamini Kannan, Aditya V. Nori and Sriram K. Rajamani.
FSE '06: 14th Annual Symposium on Foundations of Software Engineering, November 2006
|
|
Copyright notice:
This material is presented to ensure timely dissemination of
scholarly and technical work. Copyright and all rights therein
are retained by authors or by other copyright holders. All
persons copying this information are expected to adhere to the
terms and constraints invoked by each author's copyright. In
most cases, these works may not be reposted without the explicit
permission of the copyright holder.
|
|
careers
The ADP team is hiring Research Software Design Engineers (RSDEs). RSDEs have the opportunity to execute on their own ideas, publish academic papers, and drive interactions with product teams to transfer technologies into future products. The typical RSDE has an MS or PhD in CS followed by several years of experience in industry, where they have gained the experience of taking significant features from architecture through ship and deployment. You should have an overriding passion for technology. You must love to actually code, stand by the systems you build, and thrive on seeing what you build actually used. You must be able to adapt to new technologies, always obtaining a deep understanding of the platforms on which you build. You must be independent, creative and self-driven.
We’re looking for people with the following areas of expertise:
-
Languages, Compilers and IDE. Strong programming languages and algorithms background. Solid understanding of the underlying platforms, languages and compilers. Should be passionate about improving the state of the art of software engineering.
- Systems. Strong knowledge of system architectures, kernel-mode programming and Windows device driver model. Experience with mobile or embedded system programming is a plus. Should be passionate about low-level systems programming and interfacing the OS with new kinds of hardware.
- Desktop Application Development. Win32 APIs, C++, COM. UI skills, application install/uninstall, shell integration, configuration management and other aspects of full-fledged application development. Should be passionate about the end-user experience.
- Client-side Web Application Development. DHTML, JavaScript, Silverlight, XML web services. Ability to put these technologies together “AJAX-style” to build innovative functionality on top of multiple web services and web sites. Should be enthusiastic about pushing the state of the art of the client-side web experience.
- Databases and Services. Strong system background in databases. In-depth programming knowledge of SQL, Asp.Net and related system internals. Prior experience building scalable web services with large, clustered back-end databases is highly desirable. A keen desire to develop interesting applications around very large geographic and multi-lingual data sets.
Contact
To send us your resume, please email: josephj*at*microsoft.com
|
|
|
|