Using Static Analysis For Software Defect Detection
Google engEDU
1 hr 3 min - Jul 6, 2006
Google TechTalks
July 6, 2006
William Pugh
ABSTRACT
I’ll talk about some of my experience in using and expanding static analysis tools for defect detection. The FindBugs tool developed at the Univ. of Maryland is now being widely used, including inside Google.
I’ll give an overview of FindBugs, show some of the kinds of errors we routinely find in production code, discuss the methodology we use for enhancing and expanding FindBugs and some of the recent additions to it, discuss ways of incorporating FindBugs into your development process (such as being able to get a report of all the warnings introduced since the last release of your software), and talk about the future of static analysis, including things such as a new Java JSR to provide standard annotations for things such as @NonNull and @Tainted. Read the rest of this entry »
Sphere: Related ContentAdvanced Topics in Programming Languages: Java Puzzlers, Episode VI
Google engEDU
1 hr 14 min - Jul 23, 2007
Google Tech Talks
July 23, 2007
ABSTRACT
Java Puzzlers, Episode VI: The Phantom-Reference Menace/Attack of the Clone/Revenge of the Shift.
Josh Bloch and special guest star Bill Pugh present yet another installment in the continuing saga of Java Puzzlers, consisting of eight more programming puzzles for your entertainment and enlightenment. The game show format keeps you on your toes while the puzzles teach you about the subtleties of the Java programming language and its core libraries. Anyone with a working knowledge of the language will be able to understand the puzzles, but even the most seasoned veterans will be challenged. The lessons you take from this session are directly applicable to your programs and designs. Some of the jokes may even be funny. If you loathed Episodes I–V, you’ll detest Episode VI. Come early, because overripe fruit will, as usual, be given to the first 50 attendees. This is a repeat of a talk given at Google in May and at JavaOne 2007. Read the rest of this entry »
Update on the Natural Programming Project
Google engEDU
1 hr 8 min - Sep 26, 2007
Google Tech Talks
September 26, 2007
ABSTRACT
The Natural Programming Project is working on making programming languages and environments easier to learn, more effective, and less error prone. We are taking a human-centered approach, by first studying how people perform their tasks, and then designing languages and environments that take into account people’s natural tendencies. We focus on all kinds of programmers: professional programmers, novice programmers who are trying to learn to be experts, and "end-user programmers" who are people who program because they must to achieve their "real jobs." This talk will update my talk to Google from October 27, 2005, and cover the exciting progress we have made since then. After briefly reviewing our old work on designing languages for novices, our new systems and studies will be presented. We have a new version of the the Whyline tool, which allows programmers to directly ask "why" and "why not" questions of their Java programs and get a visualization of the answers. The previous version for Alice decreased debugging time by a factor of 8 and increased programmer productivity by 40%, and pilot studies of the new version suggest a factor of two improvement in time. Other new work helps programmers keep track of their "working sets," since our research showed that programmers spend about 38% of their time navigating around code. Most of coding today is making use of APIs, and we have evaluated a number of APIs and design patterns using HCI techniques, to reveal how to make their easier to use for programmers. We also have a brand new study of the practices and problems for Interaction Designers working on interactive behaviors. Read the rest of this entry »
Sphere: Related ContentOSS Speaker Series - Java on Guice: Dependency Injection, the Java Way
Google engEDU
1 hr 18 min - Jun 5, 2007
Google Tech Talks
June 5, 2007
ABSTRACT
Guice is a new open-source dependency-injection framework for Java 5. It’s small, fast, and typesafe. It doesn’t require you to write XML, and it is already in use in several Google projects. Come learn how Guice can help make your applications simpler and easier to test. Read the rest of this entry »
Sphere: Related ContentAdvanced Topics in Programming Languages: A Lock-Free Hash Table
Google engEDU
59 min - Mar 28, 2007
Google Tech Talks
March 28, 2007
ABSTRACT
I present a lock-free concurrent Hash Table implementation with better single-thread performance than most Hash Tables, and better multi-thread performance than all other implementations I tried. I demonstrate scaling up to 768 CPUs even with high mutation rates. I show correctness by looking at the problem in a very different light than the usual "happens-before" / memory-order / fencing style of thinking.
Speaker: Dr. Cliff Click
Dr. Cliff Click, Azul Systems. Chief JVM Architect, Distinguished Engineer With more than twenty-five years experience developing compilers Cliff serves as Azul Systems’ Chief JVM Architect. Cliff joined Azul in 2002 from Sun Microsystems where he was the architect and lead developer of the HotSpot Server Compiler, a technology that has delivered dramatic improvements in Java performance since its inception. Previously he was with Motorola where he helped deliver industry leading SpecInt2000 scores on PowerPC chips, and before that he researched compiler technology at HP Labs. Cliff has been writing optimizing compilers and JITs for over 15 years. He is invited to speak regularly at industry and academic conferences, and has published many papers about HotSpot technology. Cliff holds a PhD in Computer Science from Rice University. Read the rest of this entry »
Sphere: Related Content