Click Here to Install Silverlight*
United StatesChange|All Microsoft Sites
Microsoft
Links

Innovation from MIDC

At Microsoft India Development Center our teams develop strategic products for Microsoft
Home
Contest Details
Archives
Harsha S
IIIT, Allahabad
 
About me
Computers and competition are what I truly enjoy, which explains why I am here – code4bill offers both of these. I am a regular competitor at TopCoder, and the weekly algorithm and design contests are a must. I love to play computer games and I’ve enjoyed countless hours playing games of almost every genre.
I also love basketball, soccer and cricket and any kind of sport or competition excites me. I’m a voracious reader and I read almost anything I can lay my hands on. I enjoy poetry as well. Apart from a daily dose of cartoons of all available newspapers, I relish reading the Reader’s Digest. I like to travel to new places and learn new languages. In fact, almost anything novel manages to hold my attention.

I haven’t planned anything for after Code4Bill – I’d rather take things as they come. I am very interested in Artificial Intelligence, especially Genetic Algorithms and Neural Networks, and I may explore some of my ideas in these areas. To say where I plan to go from here, I guess I have to use the cliché – It depends.

Personal Profile
Name: Harsha S
Date of Birth: 23rd May 1984
University: Indian Institute of Information Technology – Allahabad
School: Frank Anthony Public School, Bangalore (ISC) and Presidency School, Bangalore (ICSE)
Course: B. Tech. (IT)
Year: End of 8th semester
Achievements: Participated in the ACM World Finals 2005 at San Antonio, Texas, placed 8th in design at the TopCoder Open 2006.

Path Tracing
Overview
There may be multiple potential paths of execution in any executable. Paths can be of different granularity - at the call level or at the block level. It would be powerful tool if we could trace all (or useful) paths taken by an executing process and the order in which they were taken. This would have various applications – as a debugging aid, and to allow path-profiling based performance tuning and code coverage. In this component, we instrument binaries so that customized path tracing is possible.

Logic Requirement
We require that this component traces the paths taken in a binary, between a given start and end function. We also require path tracing at the block-level to be implemented inside desired functions. The overhead due to the tracing mechanism should be reasonable. The design should allow the deployment of instrumented binaries and later analysis of the log files to trace the paths taken.

Example of the Software Usage

An application crashes in a particular scenario and the stack dump information is not enough to debug. We instrument the binaries of the application and deploy them in the same scenario. From the path-trace produced, debugging is simplified.

Interface
A simple GUI is required to allow customized instrumentation and viewing of the path-trace.
Brain Teasers

Here are some of the questions that the code4bill contestants answered. How about trying your hand at them?
Multiply 14332 represented in base -7 with 16430 represented in base -8 and represent the output in base -9.
An array contains 9 occurrences of 0s, 8 occurrences of 1s and 7 occurrences of 2s in any order. The array is to be sorted using only swap operations. What is the minimum number of swaps needed in the worst case to sort the array?
You are given an infinite number of cookie boxes containing either 6, 9 or 400 cookies. You are allowed to use these boxes in any combination so desired. What is the maximum number of cookies that you cannot give out using the above boxes?

© 2009 Microsoft Corporation. All rights reserved. Contact Us |Terms of Use |Trademarks |Privacy Statement