NOTE: This blog post was originally hosted on Klocwork's Android blog. At some point those posts may not continue to exist. I've made every attempt to preserve the original content with only formatting changes to fit this site.

by Eric Cloninger

Hello Everyone,

I’m Eric Cloninger and I’ll be your guide to all things Android at Klocwork. This is a section of the Klocwork site that has been quiet in the past, but we’re about to take off. Please make sure that your seats are fully upright and your tray tables are in the locked position because we’re going places.

It’s no coincidence I used an airplane metaphor. I love to travel. I know the Flight Attendant routine by heart. I love seeing new places and meeting people. I can read the train schedule and order off the menu in 30 countries, but I don’t know how to say “stranger” in any of them.

I live and work in a small town in Oklahoma (long story). Once or twice a month I leave my cave, get on an airplane, and go somewhere. Sometimes it’s a developer conference, sometimes it’s a customer site, and sometimes I go to headquarters. All the time, my phone is my connection to work, my family, and the world outside of airports and car rental lots. I couldn’t live this nomadic life without a reliable communication device.

I’ve been working on mobile devices and creating development tools since 1996. As a developer, I created tools for the Palm OS at both Metrowerks and Palm. As a product manager, I’ve guided engineering teams at Wind River and Motorola. My most recent work at Motorola was to create a set of Eclipse tools for improving the Android development process. The source code for these tools and the build scripts are now in the Android Open Source Project for anyone to build and use.

One of the tools I designed at Motorola was an analyzer for Android applications called App Validator. This tool examined the layouts and resources of an Android app against its manifest and analyzed the compiled Java to look for coding practices that could lead to danger. While the Motorola tool did not provide the advanced source code analysis that Insight does, the feedback we received indicates that all developers working throughout the stack could benefit from using static analysis in their daily work.

Now at Klocwork, I’m immersing myself into the Android build system and trying to figure out all the ways that Android developers would use static analysis. As you might imagine, kernel developers, framework developers, and application developers all have wildly different requirements. I’m trying to figure out where the right places are to insert the analysis and how to use knowledge of the OS to give better results.

I don’t intend to focus solely on how great Insight is and why you should be using it for Android. If you’re here, you are probably interested at least a little in static analysis for your mobile projects. Until we have more to share publicly about our Android plans, I’m going to talk about development tools in general, building the Android code base, some work I’m doing on the Eclipse open-source project, how to set up your Linux build environment, and maybe a few ways to enjoy yourself when you’re on a 10 hour flight in the middle seat at the back of an airplane.