Tuesday, September 7, 2010

JavaOne 2010 Abstract of the Day #3: Defective Java Code: Mistakes That Matter

UPDATE (Presentation Canceled): Todd pointed out that Bill Pugh has sent out a Twitter message stating that he will not be presenting at JavaOne 2010 "since I am a visiting scientist at Google, and for other reasons."  See the feedback comments below for additional details.  While not explicitly stated, I assume this Tweet references the "Defective Java Code" presentation I highlighted in this post, but that it also applies to the "Java Puzzlers: Scraping the Bottom of the Barrel" (S314408) presentation scheduled to be co-presented with Josh Bloch. At this time, I'm leaning toward taking advantage of this available slot to attend either "JavaFX Graphics" (S313960) or the Panel Session "Showdown at the Java Virtual Machine Corral" (S313946).  Because this presentation is apparently canceled (at least by Tweet), I am going to use my previous highlighting of 97 Things Every Programmer Should Know presentation as the third of my series of highlighted JavaOne 2010 presentations.

The third JavaOne 2010 presentation that I have chosen to highlight is "Defective Java Code: Mistakes That Matter" (S314504).  This presentation by Bill Pugh is currently scheduled to begin at 4:45 pm on Wednesday, September 22, in Grand Ballroom B of Hilton San Francisco.  William Pugh is a six-time JavaOne Rock Star and is a professor in the Computer Science department at the University of Maryland.  His work with FindBugs (project lead) makes him uniquely qualified for a presentation of Java bugs and defects.  Here is the text of the abstract for this presentation:
This talk will describe programming mistakes or puzzlers found in production code and discuss lessons learned about how to construct high-quality software. While there are many types of mistakes, some mistakes are much more common than others. And for various reasons, many blatant errors in code never cause any problems in production. This session is intended for intermediate to advanced Java developers and will cover: 
* The Java language and API puzzlers encountered in production code
* Techniques such as dynamic instrumentation, logging tricks, and using FindBugs (or other static analysis tools) to detect serious coding mistakes
* Ways to effectively apply these techniques to find the mistakes that matter
I think the selection of this topic is more evidence of this year's JavaOne's commitment to core Java topics.  That being said, Pugh gave a very similarly titled presentation last year.  That presentation, "Defective Java Code: Mistakes That Matter" (TS-5335), is still available in PDF form as of this writing.  The abstract from last year's (2009) presentation reads:
[2009] Drawing lessons from the FindBugs static analysis tool and eight months at Google as a visiting scientist, this session's speaker discusses programming mistakes that cause real problems in practice and presents techniques for preventing and/or catching these mistakes early. He discusses some of the elements of the Java programming language, libraries, and IDEs that can cause problems and offers lessons learned from them, such as the dangers of trusting refectoring tools. He also talks about mistakes that can be found with static analysis and problems that have been identified by defect postmortems and dynamic techniques. [2009] 
Last year's presentation was heavily based on Pugh's experiences as a "visiting scientist at Google" for ten months.  So, even if Google is not present at JavaOne 2010, its presence will still be felt.


Todd said...

Unfortunately, it seems that Bill is not presenting at JavaOne this year due to the Google/Oracle lawsuit. At least, that is what he said on Twitter a week or so ago.

Dustin said...


Thanks for the heads-up. As you stated, Bill's Twitter message does state that he will not be presenting at JavaOne 2010 because he is "a visiting scientist at Google, and for other reasons." This will be the first presentation on my agenda affected by the Google withdrawal from JavaOne. I'm surprised that this has not yet been reflected in Schedule Builder.

Thanks again for the updated information. It's definitely disappointing, but good to know.