Wednesday, August 24, 2011

DANSAS 2011 trip summary

Dermot Cochran and I attended DANSAS 2011 last week at SDU in Odense.

There was a healthy turnout of DK static analysis folks, particularly from Aarhus. I think that ITU was somewhat underrepresented though (hint hint).

The talks ranged in topic considerably and mainly provided a way for people to get to know what others were interested in lately, what new topics were popping up in the area, etc.

Zhendong Su from UC Davis gave an invited talk about dynamic and static program analysis for secure web applications. It was fairly pragmatic and straight-forward, but shows how focusing on a new problem with old techniques can really pay off.

Kevin Millikin, one of the authors of the V8 JavaScript compiler at Google (and an Aarhus PhD graduate from Olivier) gave the final talk about Crankshaft, their new compiler that does some static analysis of JavaScript. Again, this is all about doing great engineering and applying compiler and static analysis techniques that are 10-20 years old to modern problems and making a huge impact.

All in all I enjoyed this year's (and last year's) DANSAS and plan on going back to continue to make connections, see what people are up to, and help the community thrive.

Labels:

Wednesday, April 20, 2011

Microsoft Research Software Summit trip report

On Wednesday to Friday of last week I attended Microsoft Research's first European Software Summit in Paris. Basically Microsoft Research (MSR henceforth) invited about 150 high-profile researchers that they work with, want to work with, want to influence, etc. to come to Paris on their nickel and hob-nob for a few days.

The main themes were in areas in which Europe and MSR are both strong and doing novel stuff: multicore/parallelism, semantic computing, (empirical or rigorous) software engineering, web-scale data-driven research, cloud and services, verification, natural user interaction, tool-centric pedagogy, bug and malware detection, reconfigurable computing, and open source (!).

Keynotes came from Ken Wood, Tony Hey, and my friends Wolfram Schulte and Brendan Eich.

There were workshops on the role of funding agencies and industrial research in promoting CS education, SAT/SMT solvers, and sexy types, tutorials on Microsoft's .NET Gadgeteer and the future of F#, and panels on verification in the embedded application industry and speculations about software research in 20 years.

What did I learn?

  1. MSR continues to do outstanding work and hire really great (and surprising) folks while Microsoft proper continues to tell tall tales about Open Source. An example of a new surprising person working at MSR: I met Peter Lee who is now the managing director of MSR Redmond (!) rather than returning to CMU after his stint at DARPA.
  2. I'll be investigating a couple of new technologies from MSR for research and teaching. For research, I'll be looking into FORMULA, a unified framework for specifying DSLs and model transformations. I'll also be looking into the new plugin architecture for their Z3 solver that we have used for several years. For teaching, I'll be looking into augmenting my current use Code Contracts and PEX with FORMULA, Gadgeteer, VCC, and F#. I'll also definitely be contributing to RISE4FUN.
  3. Microsoft has a new competitor to Google Scholar called Academic Search. It claims that MSR is the #1 place to do CS in the world over the past ten years.
  4. Mario Campolargo (principle scientific officer for the EU commission DG INFSO) promises that the new EU Framework program will be simpler, more rationalized, more flexible, etc. I won't hold my breath though.
  5. Alain Chesnais (President of the ACM) is a nice guy and says good-but-balanced things about the connection between a professional organization like the ACM and MSR and the funding agencies.
  6. Brendan Eich showed me some new stuff going on inside of the Mozilla Foundation. They continue to hire PhDs to do interesting empirical software engineering and tool-centric formal methods applied to dynamic languages. He also name-dropped me in his keynote, which was a nice nod.
  7. Tom Ball (MSR), Ganesh Gopalkrishnan (Utah), and others have developed a very nice course package for parallel programming call PPCP. Good stuff.
  8. Andy Gordon (MSR) continues to blow me away. Their new F7 type checker (F# with refinement types) that was presented at POPL'11 is amazing.
  9. Denmark was represented by myself, Kim Larsen, Olivier Danvy, and Anne Elisabeth Haxthausen, the latter of whom I had never met.
  10. I met a bunch of other folks face-to-face for the first time that I have known online for some time (some over a decade!) including several of the aforementioned folks and Nikolaj Bjorner, Jean-Marc Jézéquel, Ben Livshits, Conor McBride, Erik Meijer, Manuel Serrano, and Don Syme. (Yes, events like these are about networking!)

Labels: , , , , , , , , , , , ,

Thursday, February 25, 2010

Beta release of Votail

The first beta release of Votail is now available. Votail is an implementation of Ireland's method of Proportional Representation by Single Transferable Vote (PRSTV). The functional requirements derived from Irish electoral law are specified using Business Object Notation (BON) and the Java Modeling Language (JML). Formal methods have been used to verify the correctness of the software.

Wednesday, February 24, 2010

Choosing a Supervisor, part 8

What kind of collaborator is your potential supervisor? Are most of their research papers written with their PhD students, with colleagues within their own university, with researchers elsewhere, or by themselves? Is their name the last name listed on every paper that comes out of their research group, or are they first authors on several? The answer to these questions gives you indirect evidence as to which type of collaborator they are.
Personally, I try to find a nice balance between these different strategies, avoiding the "my name goes on every paper because it is my research grant" approach that some supervisors demand. Some papers from my group are solely authored by yours truly (e.g., "Formally Counting Electronic Votes (But Still Only Trusting Paper)""); others are co-written by nearly every member of my research group because everyone pitched in and helped, each finding a facet that fit their strengths and interests (" CLOPS: A DSL for Command Line Options").
But not all supervisors work this way. In all honesty, some supervisors, due to over-commitment or neglect, only meet with their students once a quarter, even when their students are begging for supervision. Some you have to book a month in advance for a half and hour, and even then you are not guaranteed that they show up.
Others have an open door policy and, even though they have very full agendas, make time for their students whenever they are needed. I try to be this latter kind of supervisor, but on rare occasion I feel like the former.
The kind of supervisor that is always "missing" is actually a good supervisor for some kinds of PhD students. Hard-working, independent students who like to drill down on a topic for weeks or months in between taking breaths of air with nudges from their supervisor work well in such groups. But if you are the hand-holding type that wants lots of face-to-face time with your supervisor, or you do not really know what you love to do and are good at in research, I would suggest you stay away.

Labels: , ,

Tuesday, February 23, 2010

Choosing a Supervisor, part 7

11. Attitude toward IP and Technology Transfer
Some researchers focus entirely on "pure" research, where one follows the research to its very end, damn the consequences or application. Others enjoy "applied" research, where the use and utility of the research is under direct consideration, and often guides, and sometimes even terminates, the work. These agenda extremes are extremely valuable, and we perform both in my research group.
But for research to see the light of day---for it to be in the hands of governments, companies or, dare I say it, the "public," research needs a evangelist, a support network, and a trusted base of experts. This is where those dreaded words, to some, like "spin-offs," "licensing," "copyright," "trademark," "patent," "lawyer," "venture capitalist," and more come to the fore.
What is your, and your potential supervisor's attitude toward Intellectual Property (IP), both with regards to the law and the state of practice, and what are your attitudes toward Technology Transfer (i.e., moving research from a lab to a real company)? Should research be publicly funded, open, and available to all immediately, whatever its use, utility, value, or impact? Should research be co-financed by public or private corporations, with explicit commercialization aims? Something in-between?
Does your supervisor know the state of software patents in the EU? Process patents in the USA? How and when to conduct a patent search? How to write, a better yet, obtain patent from the USPTO? Do they know how copyright law impacts scientific writing? Programming? Do they know when to choose a GPL, a BSD, or an X11-style license, and why?
Does your supervisor sit on any corporate boards? Are they a founder of a startup? Is that company still running? Did it raise a significant amount of capital? Attract a following? Make an impact? Are you interested in someday commercializing research?
Does any of this matter to you at all? If not, why not?

Labels: , ,