 |
 |
 |
|
|
| |
|
|
 |
| |
 |
|
 |
 |
 |
 |
 |
At
Microsoft India Development
Center our teams develop
strategic products for Microsoft
|
|
| |
|
|
 |
 |
|
 |
|
 |
|
 |
|
 |
|
 |
|
|
|
 |
 |
 |
 |
 |
 |
 |
| B.Tech + M.Tech, IIITM
Gwalior |
|
 |
I have completed four years of my five
year Integrated Post Graduation program (B.Tech + M.Tech) at IIITM
Gwalior. I did final years of my schooling from SMPS, Rohtak. I did
my B.Tech project in the field of Image and Video Compression, and
proposed a new zero-encoding scheme, the research paper is
under review. |
 |
 |
 |
 |
On a lighter
side, I love playing games especially Need For Speed on my friend’s
gamer PC, and am passionate about cars. Not at all a party guy,
the mere word ‘dance’ scares me, but I love
being with friends and we enjoy together in our own ways.
The whole Code4Bill experience has been great. Though it has
been only 20 days since I joined IDC as an intern, I have started
liking the work culture here. The absence of stipulated work
timings is immensely convenient and what one does in the office
is left entirely up to him or her. Emphasis lies on the results;
what matters most is you and your work. I feel that even if
one is at the bottom of the organization hierarchy, there is
nobody to command you, and there is a lot of pure intellect
to guide or help you. When it comes to the campus, the Microsoft
IDC lives up to the name. I have also been enjoying the many
recreational facilities here, which helps me unwind after a
hard day’s work.
All in all, a great experience so far, and I am looking forward
to more.
Problem Scope:
Migration of enterprise customers from one operating system
to other (e.g. from Windows XP to Windows Vista) put forward
some challenges. Like, such customer may want to maintain state
of installed applications while migrating from old to new operating
system. And it may even like to choose selectively some application
out of all for state migration. Such state includes global setting
for the application and per user preferences. An application
may use windows registry to store those settings. Analysis of
such application binaries may lead to knowledge related to registry
keys which are being accessed by that application, which may
further be useful in the application migration.
The binary may call windows registry API with some parameter
which can be statically figured out e.g. simply pass by a constant
value. Such static analysis doesn’t claim to be complete
as there may be some operations on parameters before being passed
which cannot be statically figured out e.g. some runtime input
data passed as parameter.
Steps to solve it:
| 1. |
For any call to a proc figure out high level API name
and analyze parameter being passed to this for value.
Parameter analysis would involve scenarios like: |
| |
| • |
Simple Constant being passed. |
| • |
Constant being assigned to local variable or global
variable and being passed. |
| • |
Two strings being concatenated and passed. |
| • |
Pointer analysis for actual value being passed. |
| More
scenarios may be identified at implementation time. |
|
| 2. |
Registry access data for system dlls can be put in a database
for subsequent use. For other binaries analysis may be
done as and when needed. |
End Result/Target Scenarios:
With this tool, queries regarding windows registry can be made
e.g. list all the registry key access by an application. When
such static analysis data is integrated with the run time data,
most of the environment issues should be caught much before
the actual deployment. Other scenarios may be added as the project
progresses. |
|
 |
 |
|
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
|
|
 |
 |
 |
 |
 |
 |
 |
| 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? |
|
|
 |
|
 |
|
 |
|
 |
 |
| |
|
|
 |
|
|
|
|
|