Taking the path less trodden (Formal methods and my Internship at MathWorks Inc)
-Natasha Y Jeppu
I am a final year BTech Computer Science student. I did my second year summer internship at MathWorks Inc. Bangalore. I worked on formal methods for system verification during my internship there and helped develop a library for MathWorks Simulink Design Verifier (SLDV).
I’m pretty sure all of you are quite confused by now of the words I used up here. I myself was introduced to these terms at the end of my first year, when I helped my Dad in a project at his company. The project kindled in me a liking for formal methods and I wanted to do much more in the field.
For those of you who want to know what I am talking about. “Formal methods are a particular kind of mathematically based techniques for the specification, development and verification of software and hardware systems” (yes this is from wiki :P) People design numerous systems every day, be it the cruise control system in your cars or the more safety critical autopilot systems in an aircraft. But what is important is testing the system and making it failure proof and formal methods achieves just that. MathWorks provides a tool, Simulink Design Verifier, that is used for simulating and testing your designs. So in my first year I used this tool to design a priority logic for an autopilot system. I came up with some design based on my basic knowledge of AND, OR gates and I was confident that it’ll work. I showed it to my Dad and he said “Well, let’s test it”. So he’s running my design in Simulink along with some other stuff he had added and all I’m thinking is “This has got to work, I did check it for different input cases” but wait……duh duh duhdaaaa…..”PROPERTY FALSIFIED” in bright red appears on the screen; my design was buggy afterall. And this is how I began my journey with formal methods and MathWorks.
Second half of second year and everyone was looking for an internship for the summer. I too began searching for some options. I thought “Well, I’m interested in formal methods and I know MathWorks does that so why not give it a try?”. I sought help from my very dear friend “Mr. Google” and realized that MathWorks does not offer internships for BTech students, they prefer MTech, MS or PhD. I lost all hope of getting an internship there but my parents encouraged me to still give it a try. I looked for people working on SLDV at MathWorks and sent an email with my resume and previous work requesting for an opportunity to work there. Looking at the work I had done earlier, they agreed to give me a chance. I had a technical interview over Skype where they questioned me on my knowledge of Simulink. They seemed pleased and I too was happy with my performance. The human resources department handles recruitment and internships. I kept getting mails and calls from the department informing me of the progress they were making in processing. It took a while before I got a confirmation email (as this internship was something new to their company policy) saying that they were willing to have me at MathWorks for the summer. I was thrilled!
My internship at MathWorks has been a great learning experience. First day at MathWorks (I obviously was nervous) and I felt very welcome in the organization. They assigned me a project, a seat, computer and my manager for the same. My project was based on Patterns in Property Specification and Analysis (I am not trying to show off here with high sounding words) and I was to help build a library for modeling these patterns in Simulink. I was excited to start work but at the same time was worried if I could do it right. First few days was spent getting a better understanding of the problem in hand and once I had an abstract idea of how to approach it, I started work. I had regular discussions with my manager and the library slowly started taking shape.
Now when you are busy doing something that could “Change the world” (:P) there is only one thing that drives you to move on – FOOD! The office has a separate kitchen where people have lunch. It is equipped with a fridge loaded with juice, buttermilk, coke, whatever suits your taste buds and a cupboard with biscuits, chips and other snacks. But when you crave for some hot maggi, grilled sandwiches or a creamy omelet, there comes our knight in shining armor, with a spatula for a sword (:P), the one and only Raju Anna. He is ever ready to satiate your hunger with his crisp dosas and sandwiches.
I worked for 2 months at MathWorks and it was a wonderful experience. Working at a company is something new to many of us and this internship gave me enough exposure to a job environment. Doing something that could perhaps, one day, become a tool or feature used by thousands of engineers has given me the confidence to explore new fields and dream bigger. I thank MathWorks for giving me this opportunity.
A final word of advice: Do not hesitate to try something new, something not in our syllabus. Who knows, it might be the right thing for you.
You can also read my article on ‘How to apply for Foreign Internships’