FYI...

------------ Forwarded Message ------------
Date: Friday, September 09, 2005 11:19 AM -1000
From: Philip Johnson <[EMAIL PROTECTED]>
Subject: Software Engineering "Micro-Process" Working Group

Greetings, all,

Over the past several months I have begun to notice a convergence of interest in
characterizing and exploiting what might be termed "software engineering
micro-processes".  In contrast to traditional software engineering processes 
(waterfall,
spiral, XP, etc.) which tend to characterize development at timespans of weeks, 
months,
or years, "micro-processes" tend to characterize development at much smaller 
timespans of
days, hours, minutes, or even seconds.

Let me provide a few pointers to work that I am aware of that appears related 
to this
phenomenon:

1. Hongbing Kou (University of Hawaii) is working on a Hackystat-based system 
called
Zorro.  This system monitors developer activity in an attempt to determine 
whether or not
the developer is using Test Driven Design practices or not.  The TDD detector 
is actually
part of a more general facility called Software Development Stream Analysis 
which uses a
rule-based system to classify event streams into episodes. More details appear 
at:
<http://csdl.ics.hawaii.edu/techreports/05-03/05-03.pdf>

2. Frank Schlesinger (Free University Berlin) is working on an Eclipse-based 
system
called Electrocodeogram (ECG). ECG monitors developer activities in an effort 
to detect
patterns of developer activities that are particularly prone to defect 
creation. For
example: trial and error, cut and paste, work and interrupt and work. As I 
understand it,
the idea is to detect when programmers are doing fault-prone behaviors and give 
them
feedback. More details appear at:
<http://www.electrocodeogram.org/>

3. Sebastian Jekutsch (Free University Berlin) is working on defining a "generic
description of the micro-process of programming, a kind of vocabulary", and 
then present
the micro-process data to the programmer for self-assessment.  Frank has been 
in contact
with the Hackystat group and is interested in coordinating activities.  More 
details on
his approach appear at:
<http://projects.mi.fu-berlin.de/w/bin/view/SE/MicroprocessHome>

4. Victor Basili, Marv Zelkowitz, and Lorin Hochstein (University of Maryland) 
are
involved in a DARPA-sponsored program called HPCS, one goal of which is to 
better
characterize and understand the process of high performance computing system 
application
development.  As part of that effort, they have developed a set of 
approximately 40
"development time micro activities", such as "compiling the parallel code", 
"compiling
the serial code", "diagnose runtime error", "cache optimizations", "space 
reductions",
and so forth.

4. Larry Votta, Michael Van De Vanter, and Susan Squires (Sun Microsystems) are 
also
involved in the DARPA-sponsored effort HPCS program.  Among other things, they 
have been
carrying out case studies of professional programmers to understand the 
activities
involved in perfective maintenance of high performance computing code.

5. Mike Paulding (University of Hawaii) has worked with both the Sun 
Microsystems and
University of Maryland groups on characterizing high performance computing 
system
application development.  He has carried out two case studies (on himself) in 
an effort
to better understand the kinds of activities involved in HPCS development. More 
details
on the first case study appear at:
<http://csdl.ics.hawaii.edu/techreports/04-22/04-22.pdf>

6. Philip Johnson (University of Hawaii) has been interested in whether machine 
learning
techniques for episode discovery can be applied to support automated 
characterization of
software engineering micro-processes.  More details appear at:
<http://csdl.ics.hawaii.edu/techreports/05-05/05-05.pdf>

In summary, micro-process detection and analysis seems to be applied to: (a)
characterizing programmer behavior (i.e. doing TDD); (b) characterizing 
programmer effort
(i.e. time spent optimizing); and (c) correcting programmer behavior (i.e. that 
last
cut-and-paste is likely to create a defect if you're not careful).

So, where do we go from here?  Sebastian has stated an interest in writing a 
high-level
"vision" paper that establishes the terminology, surveys the approaches, and
characterizes the applications of micro-process detection and analysis.  I am 
interested
in participating in the writing of this vision paper, and also using it as a 
high-level
requirements specification that enables us to develop generic support within 
Hackystat
for micro-process detection and analysis.  For example, I am envisioning at 
least one new
kind of Hackystat sensor data type (microProcessEvent) for data collected by 
process and
product sensors and that can be used as input to analyses for the various 
application
domains above.

I believe that the more participation we have in developing the vision of 
software
engineering micro-processes, the better we will understand how to characterize 
and
exploit it. Thus, I would like to organize a loose working group (i.e. mailing 
list) of
researchers who are interested in this topic.   I am sending out this initial
announcement to you because I have personal knowledge of your prior efforts in 
areas
related to this work, but I am sure there are others who might be interested in
participating and solicit your help in making them aware of this initiative.

To establish this working group mailing list, I would like to follow an 
"opt-in" policy:
if you would like to be on it, please reply to this email with something similar to 
"I'm
in", and I'll add you to it. I expect this to be a low-volume mailing list with 
only a
few postings per week maximum.  Of course, you can leave it at any time, and 
only
subscribers will be able to post in order to avoid spam.  Our first activity 
will be the
development of the vision paper. Sebastian has volunteered to take the lead on 
the first
draft.

Feel free to forward this email to others who might be interested in 
participating. If
you have any comments or suggestions or pointers to additional relevent 
material, please
let me know!

Cheers,
Philip








---------- End Forwarded Message ----------

Reply via email to