About

February 23rd, 2010 Leave a comment Go to comments

How to reach me

You can contact me by email at: Larry @at@ Maccherone .dot. com

The researcher in me

My interests include Agile methodologies, software engineering, software craftsmanship, software assurance, static analysis, and processes for improvement of software quality. I also have a strong interest in information visualization and I’m passionate about coding in general which includes programming language technology and design patterns.

History

I have recently come on board Rally Software as an Agile Coach. Rally is a wonderful company with a great product and a very interesting customer base. This position is a perfect fit for me.  I love the work of visiting clients and helping them be more successful with their projects. I think of it as a continuation of the work I started with Watts Humphrey and Noopur Davis focused on helping software teams become more successful through a careful correct balance of structure and self-organization. The Rally tool is also an ideal repository holding data that will allow me to continue to explore my visualization and analysis research.

I have finished my proposal and I’m in the final stages of working on my PhD in Software Engineering at Carnegie Mellon. My research focuses on measurement patterns and visualizations with applications in software assurance, large scale software and systems engineering, and security. The work enables the creation of declarative specifications for measurement, analysis, and visualization which can then be directly executed. The declarative specification language supports the implementation of various measurement patterns and the dissertation includes a library of measurement patterns commonly used in software engineering processes along with demonstration how they can be implemented in the system. The system’s most significant contribution is that it enables the rapid evolution of the user’s measurement, analysis, and visualization system. This makes it more appropriate for environments where Agile methods are being used. It also includes a variety of features that target analysis which takes into account socio-technical relationships and dependencies (See the Tesseract paper for a description of what we mean by socio-technical relationships and dependencies). Acknowledgments to Anita Sarma and Jim Herbsleb for this aspect of the work. Acknowledgments to Watts Humphrey and Bill Scherlis for advising me on the PhD.

My most recent position prior to starting work full-time on my PhD was to serve as the Manager of Software Assurance Initiatives for the CyLab at Carnegie Mellon.  The goal of the Software Assurance Initiative is to see the development and widespread adoption of best practices, tools, and methods that provide evidence that software is built so that it does what it is supposed to do and does not exhibit unexpected exploitable behaviors.  In this role, I acted for 3 years as the principle investigator at Carnegie Mellon for the Code Assessment Methodology (CAMP) project which explored ways to gain assurance through the automated analysis of code. I also served as lead for 9 months in the pre-launch stages of of a joint effort by CyLab and the Department of Homeland Security to create an information site for developers entitled Build-Security-In. Acknowledgments to my friends at Concurrent Technology Corporation, the CERT, and in government employ for their collaboration on the CAMP and Build-Security-In projects. Acknowledgments to the sponsors and working group participants who supported the CyLab’s software assurance initiatives.

Prior to the Sustainable Computing Consortium’s merger with the CyLab, I served as its Executive Director.

My strong belief in the effectiveness of the SEI’s Team Software Process (TSP) led me to seek authorization as instructor for the Personal Software Process (PSP) instructor and coach for the TSP.  Acknowledgments to Watts Humphrey and Noopur Davis for getting me interested in TSP.

I received my bachelor’s degree in electrical engineering from Virginia Tech.  Alternating school and work semesters, I participated in a co-op program with the US Navy’s David Taylor Research Center (DTRC).  My development of an automated data acquisition and analysis system for DTRC’s ship survivability tiger team resulted in my receipt of the co-op of the year award.

While a graduate student at Virginia Tech I became the Chief Engineer and later CEO/COO of Comprehensive Computer Solutions (CCS) and over the next ten years led that organization from three employees to eighty and $20 Million per year in sales.   CCS’ rapid growth and profitability led to its selection as one of Virginia Chamber of Commerce’s Fantastic 50 companies and CCS later won the New Century Technology Council’s High Tech Company of the Year award.  CCS provides process control automation and outsourced design services to many Fortune 500 companies including GE, Ericsson, and ExxonMobile. Acknowledgments to all of the talented people I worked with at CSS and QualTrax, most of whom have moved on.

I also led the development of QualTrax, a web-based tool to manage process, quality and documentation, which is used by top organizations in pursuit of ISO/QS-9000, ISO-14000 and/or FDA 21 CFR part 11 certification.  QualTrax has over 200 clients including ExxonMobile, GE Plastics, the U.S. Navy and Palm.

Recent talks and publications

Larry Maccherone. Towards a DSL for Agile Measurement and Visualization Patterns (http://maccherone.com/publications/Towards_a_DSL_for_Agile_Measurement_Patterns.pdf). Accepted for presentation at Agile, 2009.

Larry Maccherone, Anita Sarma, Patrick Wagstrom, and Jim Herbsleb. Interactive Environment for Exploration of Project Relationships (Demo paper) (http://maccherone.com/publications/ICSE2009_Demo.pdf). ICSE, 2009.

Anita Sarma, Larry Maccherone, Patrick Wagstrom, and Jim Herbsleb. Tesseract: Interactive Visual Exploration of Socio-Technical Relationships in Software Development (http://maccherone.com/publications/icse2009_final.pdf). ICSE, 2009.

Larry Maccherone and Noopur Davis. Automated Unit Testing and the TSP (http://davissys.com/PDF/TSP%20and%20AUT.PDF). Published and Presented at the TSP Symposium 2007.

Larry Maccherone. Positive Assurance: an approach to making the assurance case (http://maccherone.com/publications/Positive_Assurance-an_approach_to_making_the_assurance_case.pdf). December 2007.

Larry Maccherone. Code Assessment Methodology Project, Comparative Evaluation – Appendix B (http://maccherone.com/publications/Comparitive_Report_Appendix_B.pdf). October 2, 2006.

Larry Maccherone (Primary Author), Others from Concurrent Technology Corporation and Carnegie Mellon’s CyLab. Code Assessment Methodology Project, Comparative Evaluation of Five Static Analysis Tools for C/C++, Designated FOUO by Department of Defense. 88 pages. October 2, 2006.

Concurrent Technology Corporation and Carnegie Mellon’s CyLab (including Larry Maccherone). Code Assessment Methodology Project, Evaluation of Static Analysis Tools, Individual Reports on Five Static Analysis Tools for C/C++. Designated FOUO by Department of Defense. 347 pages. September 1, 2006.

Larry Maccherone. Software Assurance: What do building construction and software engineering have in common? (http://maccherone.com/publications/Sofware%20Assurance%20-%20Merida%20April%202005.pdf). Keynote speech for International Congress of IT Students, MIT, Merida, Mexico. April 2005

The geek in me

My favorite development environment right now is the Adobe’s Flash platform which includes  ActionScript 3, MXML, and Flex. All of the front ends for my dissertation tools are written in this environment. The back end is mostly Java. It’s a robust platform and ecosystem but I can’t say that I actually enjoy programming in Java. On the other hand, I do enjoy programming in Python. If Python had a strong default GUI and dominant visualization framework, I might have done the dissertation tools in it. The tools for the CAMP project (see above) analysis were all done in Python.

I’m also very curios about the following platforms:

  • Pixel Bender,
  • NVidia’s CUDA and/or pyCUDA
  • Unity3D
  • The D Programming language
  • Gnome’s Genie and Vala languages
  • Haxe

BTW, my kids seem to think that geek=nerd but my definition of a “geek” is someone who is very knowledgeable and passionate about a topic well beyond the level of the average person.By this definition, most everyone is a geek about something be it knitting, 19th century literature, cricket, or whatever.

Other passions

Skiing, woodworking (especially hardscapes), photography, historical fiction, and most of all… my family. I have a wonderful wife and four lovely daughters with whom I love spending time.

 
  1. No comments yet.
  1. No trackbacks yet.

Spam Protection by WP-SpamFree