- Shift Left Academy
Innovation is at the heart of GrammaTech. We are constantly pushing the boundaries of software research – from software assurance and software integrity to cyber-security threat mitigation and autonomic computing. Our teams are engaged globally.
Are you interested in leading key research? Do you enjoy solving the toughest, unmet software challenges? We are always looking for new software scientists.
Why GrammaTech Research?
GrammaTech has a strong history in software engineering, developing rich technologies and tools from cutting edge software engineering techniques to enable development teams worldwide to deliver safe, secure, and more reliable software.
Are you interested in software engineering or QA careers, working alongside innovation leaders? Are you looking to join a strong technical team?
Why GrammaTech Development?
I interned at Grammatech in the summer of 2005. I had finished my fourth year of grad school, and my Ph.D. work was just beginning to come together. This work was on logical foundations for program analysis and quite far removed from the nitty-gritties of everyday software. While I loved this work, I wanted more exposure to practical program analysis. The Grammatech internship turned out to be an excellent way of getting some.
Working on the Codesonar tool, I learned quite a lot about what end users of program analysis tools actually need. I understood better the importance of good user interfaces, low false positive rates, careful performance optimizations, and tradeoffs between precision and scalability. More generally, it was inspiring to see cutting-edge academic research get transitioned to real-world use.
The summer was also excellent socially. Ithaca is beautiful in the summer, and I still vividly remember windsurfing in the Cayuga Lake, walking through the many gorges of Ithaca, and wine-tasting tours with colleagues. Some of the people I met at Grammatech continue to be friends and collaborators -- for example, David Melski, my mentor that summer, is currently a co-PI with me in a large DARPA grant.
I interned at GrammaTech during summer 2010, just after finishing my second year of grad school. I worked with Dave Melski and the GrammaTech research team on implementing a system for testing specifications of CPU semantics. Given a CPU emulator generated from the specification we wanted to test, we built a tool that could attach the emulator to a Linux process running on a real CPU, initialize the emulator's state from that of the process, and compare the states of the emulated and real CPUs after the execution of each instruction. If the states differed, that suggested a possible bug in the specification.
This project gave me the opportunity to learn about abstract interpretation from some of the world's experts (and I also got to do some fun systems hacking!).
While I was in Ithaca for the summer, I also took a class at Cornell, and I fondly remember biking uphill to campus for class in the morning, then barreling downhill on my bike to go to work afterward. I really enjoyed the summer I spent at GrammaTech, and I enthusiastically recommend interning there.
I interned in GrammaTech in 2004 after finishing one year of graduate school. The internship was not just instrumental in deciding the research direction for my thesis, but also for deciding the kind of research I would do in the rest of my career.
The internship was on improving the scalability of one of GrammaTech’s product that was based on the theory of pushdown systems. The internship involved studying and improving the theory at the same as observing its effect on the design and implementation of a commercial product.
My mentor, Dave encouraged taking the time read up on the problem and pursue new ideas. It was the best research experience I could hope for, early in my graduate career. Much of my thesis revolves around pushdown systems. Even though I have moved on from this topic since, my research continues to have the flavor of developing theory that can be made very practical for the benefit of real users.