<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>chez michel &#187; research</title>
	<atom:link href="http://michel.wermelinger.ws/chezmichel/category/research/feed/" rel="self" type="application/rss+xml" />
	<link>http://michel.wermelinger.ws/chezmichel</link>
	<description>a self-explanatory site</description>
	<lastBuildDate>Wed, 11 Jan 2012 14:13:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>My research in a nutshell</title>
		<link>http://michel.wermelinger.ws/chezmichel/2010/09/my-research-in-a-nutshell/</link>
		<comments>http://michel.wermelinger.ws/chezmichel/2010/09/my-research-in-a-nutshell/#comments</comments>
		<pubDate>Mon, 20 Sep 2010 16:30:09 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[research]]></category>

		<guid isPermaLink="false">http://michel.wermelinger.ws/chezmichel/?p=553</guid>
		<description><![CDATA[We were asked to produce slides for the video wall in the entrance of our building, in order to convey our research to visitors in a visual and succinct way. Here are the ones I produced with colleagues (click on &#8216;menu&#8217; to view full screen):]]></description>
			<content:encoded><![CDATA[<p>We were asked to produce slides for the video wall in the entrance of our building, in order to convey our research to visitors in a visual and succinct way. Here are the ones I produced with colleagues (click on &#8216;menu&#8217; to view full screen):</p>
<p><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=id=2779341&amp;doc=crcslides-091226152247-phpapp01" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><param name="wmode" value="transparent" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=id=2779341&amp;doc=crcslides-091226152247-phpapp01" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355" wmode="transparent"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://michel.wermelinger.ws/chezmichel/2010/09/my-research-in-a-nutshell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Top downloads</title>
		<link>http://michel.wermelinger.ws/chezmichel/2010/04/top-downloads/</link>
		<comments>http://michel.wermelinger.ws/chezmichel/2010/04/top-downloads/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 09:02:39 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[research]]></category>

		<guid isPermaLink="false">http://michel.wermelinger.ws/chezmichel/?p=546</guid>
		<description><![CDATA[Some pleasant news yesterday: two of my co-authored papers are among the 15 most downloaded papers from our institutional open access repository during March. The first is our CSMR&#8217;10 paper about an empirical study investigating whether bad identifiers somehow relate to less good code quality (more details in a previous blog entry). The paper was [...]]]></description>
			<content:encoded><![CDATA[<p>Some pleasant news yesterday: two of my co-authored papers are among the 15 most downloaded papers from our <a href="http://oro.open.ac.uk" target="_blank">institutional open access repository</a> during March. <a href="http://oro.open.ac.uk/19224/" target="_blank">The first</a> is our CSMR&#8217;10 paper about an empirical study investigating whether bad identifiers somehow relate to less good code quality (more details in a <a href="http://michel.wermelinger.ws/chezmichel/2010/01/identifier-quality-and-code-quality/" target="_blank">previous blog entry</a>). The paper was already among the 15 most downloaded during February. <a href="http://oro.open.ac.uk/20144/" target="_blank">The other paper</a> is about how to better track the impact of code clones throughout the history of a system, and will be presented at the software clone workshop at ICSE in May.</p>
]]></content:encoded>
			<wfw:commentRss>http://michel.wermelinger.ws/chezmichel/2010/04/top-downloads/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Identifier Quality and Code Quality</title>
		<link>http://michel.wermelinger.ws/chezmichel/2010/01/identifier-quality-and-code-quality/</link>
		<comments>http://michel.wermelinger.ws/chezmichel/2010/01/identifier-quality-and-code-quality/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 21:58:57 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[research]]></category>

		<guid isPermaLink="false">http://michel.wermelinger.ws/chezmichel/?p=527</guid>
		<description><![CDATA[Our PhD student Simon Butler has been looking at whether there is some relation between poor identifiers (e.g. that are too short or don&#8217;t use dictionary words) and code quality. The hypothesis is that poor identifiers may reflect less than optimal understanding of the problem or of the domain and in turn may impact on [...]]]></description>
			<content:encoded><![CDATA[<p>Our PhD student Simon Butler has been looking at whether there is some relation between poor identifiers (e.g. that are too short or don&#8217;t use dictionary words) and code quality. The hypothesis is that poor identifiers may reflect less than optimal understanding of the problem or of the domain and in turn may impact on the program&#8217;s understanding during maintenance. All this may thus lead to code quality problems: potential bugs, convoluted code, etc.</p>
<p>Simon had a short paper at the Working Conf. on Reverse Engineering (WCRE) last October, presenting his first study on open source Java applications. The paper was quite well received, from what he told us. Simon&#8217;s talk was the only non-invited talk the WCRE steering committee chair twittered about, and it was mentioned the next day by Nicolas Anquetil during his most influential paper talk.</p>
<p>Simon has meanwhile enlarged the depth and breadth of the study: he did the analysis at method level (before it was at class level), he compared naming quality with more code quality metrics, and he also compared it with a readability metric. He also did a statistical analysis to see if some naming problems (e.g. not using dictionary words) could be used as a light-weight test to point to methods with readability and quality problems. The paper we submitted to the European Conf. on Software Maintenance and Reengineering (CSMR) was accepted and today we uploaded to our institutional open access repository the <a href="http://oro.open.ac.uk/19224/" target="_blank">camera-ready version</a> that, from past experience, will take some months to show up in IEEE Xplore.</p>
]]></content:encoded>
			<wfw:commentRss>http://michel.wermelinger.ws/chezmichel/2010/01/identifier-quality-and-code-quality/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Architectural Evolution of Eclipse</title>
		<link>http://michel.wermelinger.ws/chezmichel/2009/10/the-architectural-evolution-of-eclipse/</link>
		<comments>http://michel.wermelinger.ws/chezmichel/2009/10/the-architectural-evolution-of-eclipse/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 10:06:52 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[research]]></category>

		<guid isPermaLink="false">http://michel.wermelinger.ws/chezmichel/?p=489</guid>
		<description><![CDATA[// Load the Visualization API and the individual visualization libraries google.load('visualization', '1', {'packages':['columnchart','linechart']}); // Set a callback to run when the API is loaded. google.setOnLoadCallback(getData); // Get a sub-table from a Google spreadsheet function getView(select, source, callback) { var query = new google.visualization.Query(source); query.setQuery(select); query.send(callback); } // get and draw all the views var major [...]]]></description>
			<content:encoded><![CDATA[<p><script src="http://www.google.com/jsapi" type="text/javascript"></script><br />
<script type="text/javascript">
  // Load the Visualization API and the individual visualization libraries
  google.load('visualization', '1', {'packages':['columnchart','linechart']});	
  // Set a callback to run when the API is loaded.	
  google.setOnLoadCallback(getData);
  // Get a sub-table from a Google spreadsheet
  function getView(select, source, callback) {
    var query = new google.visualization.Query(source);
    query.setQuery(select);
    query.send(callback);
  }
  // get and draw all the views
  var major = 'http://spreadsheets.google.com/pub?key=tn5nFYKuPbgD-sL25juM-IQ';
  var milestones = 'http://spreadsheets.google.com/pub?key=t54eHKWeiMlHtP1bELzIEnA';
  function getData() {
    getView('select A, C-C, 0-C, D, E, F-F, F label 0-C "Unforced deletions", C-C "Forced deletions", D "Kept", E "Previous", F-F "Forced additions", F "Unforced additions"', major, 
                function (reply) { draw(reply, 'size', 'bar', {title:'Size Evolution', titleY:'Plugins'}); });
    getView('select A, C-C, 0-C, D, E, F-F, F label 0-C "Unforced deletions", C-C "Forced deletions", D "Kept", E "Previous", F-F "Forced additions", F "Unforced additions"', milestones, 
                function (reply) { draw(reply, 'size', 'bar', {titleY:'Plugins', legend:'none'}); });
    getView('select A, 0-H, 0-G, I, J, K, L label 0-G "Unforced deletions", 0-H "Forced deletions", I "Kept", J "Previous", K "Forced additions", L "Unforced additions"', major, 
                function (reply) { draw(reply, 'complexity', 'bar', {title:'Complexity Evolution (static)', titleY: 'Static Dependencies'}); });
    getView('select A, 0-N, 0-M, O, P, Q, R label 0-M "Unforced deletions", 0-N "Forced deletions", O "Kept", P "Previous", Q "Forced additions", R "Unforced additions"', major, 
                function (reply) { draw(reply, 'complexity', 'bar', {title:'Complexity Evolution (dynamic)', titleY:'Dynamic Dependencies', legend:'none'}); });    
    getView('select A, 0-T, 0-S, U, V, W, X label 0-S "Unforced deletions", 0-T "Forced deletions", U "Kept", V "Previous", W "Forced additions", X "Unforced additions"', major, 
                function (reply) { draw(reply, 'complexity', 'bar', {title:'Complexity Evolution (overall)', titleY:'Dependencies'}); });    
    getView('select A, 0-T, 0-S, U, V, W, X label 0-S "Unforced deletions", 0-T "Forced deletions", U "Kept", V "Previous", W "Forced additions", X "Unforced additions"', milestones, 
                function (reply) { draw(reply, 'complexity', 'bar', {titleY:'Dependencies', legend:'none'}); });    
    getView('select A, (I+J+K+L)/(D+E+F), (O+P+Q+R)/(D+E+F),  (U+V+W+X)/(D+E+F)  label (I+J+K+L)/(D+E+F) "Static", (O+P+Q+R)/(D+E+F) "Dynamic", (U+V+W+X)/(D+E+F) "Overall"', major,
                function (reply) { draw(reply, 'cohesion', 'line', {title:'Cohesion Evolution', titleY: 'Dependencies per Plugin', colors:['lime', 'green', ' olive']}); });
    getView('select A, 0-Z, 0-Y, AA, AB, AC, AD label 0-Y "Unforced Deleted", 0-Z "Forced Deleted", \
                 AA "Kept", AB "Previous", AC "Forced added", AD "Unforced added"', major, 
                function (reply) { draw(reply, 'coupling', 'bar', {title:'Coupling Evolution', titleY: 'External Dependencies'}); });
    getView('select A, 0-AF, 0-AE, AG, AH, AI, AJ label 0-AE "Unforced Deleted", 0-AF "Forced Deleted", \
                 AG "Kept", AH "Previous", AI "Forced added", AJ "Unforced added"', major, 
                function (reply) { draw(reply, 'ext_pts', 'bar', {title:'Extension Point Evolution (absolute)', titleY:'Extension Points'}); });
    getView('select A, (AG+AH+AI+AJ)/(D+E+F) label (AG+AH+AI+AJ)/(D+E+F) "Extension Points per Plugin"', major, 
                function (reply) { draw(reply, 'ext_pts', 'line', {title:'Extension Point Evolution (ratio)', titleY:'Extension Points per Plugin', legend:'none', colors:['olive']}); });
    getView('select A, 0-AL, 0-AK, AM, AN, AO, AP label 0-AK "Unforced Deleted", 0-AL "Forced Deleted", \
                 AM "Kept", AN "Previous", AO "Forced added", AP "Unforced added"', major, 
                function (reply) { draw(reply, 'unused_ext_pts', 'bar', {title:'Unused Extension Point Evolution (absolute)', titleY:'Unused Extension Points'}); });
    getView('select A, (AM+AN+AO+AP)/(AG+AH+AI+AJ) label (AM+AN+AO+AP)/(AG+AH+AI+AJ) "Unused Extension Point percentage"', major, 
                function (reply) { draw(reply, 'unused_ext_pts', 'line', {title:'Unused Extension Point Evolution (ratio)', titleY:'% Unused Extension Points', legend:'none', colors:['olive']}); });
  }
  // types of charts used and how often
  var charts = {bar:0, area:0, line:0};
  // draw returned data within given container using given chart type
  function draw(reply, container, chart, options) {
    if (reply.isError()) {
      alert('Error in query: ' + reply.getMessage() + '\n' + reply.getDetailedMessage());
      return;
    }
    var data = reply.getDataTable();
    var diagram;
    if (chart == 'bar')
      diagram = new google.visualization.ColumnChart(document.getElementById(container));
    else
      diagram = new google.visualization.LineChart(document.getElementById(container));
    if (options.height == undefined) options.height = 300;
    if (options.legend == undefined) options.legend = 'bottom';
    if (options.isStacked == undefined) options.isStacked = true;
    if (options.titleX == undefined) options.titleX = 'Releases';
    if (options.colors == undefined) options.colors = ['orange', 'red', 'dodgerblue', 'deepskyblue', 'orange', 'red'];
    diagram.draw(data, options);
  }
</script></p>
<p>In our paper at the 2008 International Conference on Software Maintenance, my colleague Yijun Yu and I presented an analysis of the evolution of the plugin-based Eclipse SDK architecture. The aim was to see whether some systematic architectural change process was followed and if commonly prescribed design guidelines (like increasing cohesion and decreasing coupling) were followed. Towards that end we collected several metrics (number of plugins, number of dependencies, etc.) and plotted them over various releases of different types (major release, maintenance release, etc.).</p>
<p>We have now analysed a few more Eclipse releases, did more measurements (on extension points) and refined others (distinguishing between forced and unforced changes), and decided to make the data public, by putting the metrics on Google spreadsheets and using <a href="http://code.google.com/apis/visualization/">Google Visualization</a> to show the evolution of the measurements. One spreadsheet (<a href="http://spreadsheets.google.com/pub?key=tn5nFYKuPbgD-sL25juM-IQ" target="_blank">HTML</a>, <a href="http://spreadsheets.google.com/pub?key=tn5nFYKuPbgD-sL25juM-IQ&#038;output=csv">CSV</a>, <a href="http://spreadsheets.google.com/pub?key=tn5nFYKuPbgD-sL25juM-IQ&#038;output=xls">Excel</a>, <a href="http://spreadsheets.google.com/pub?key=tn5nFYKuPbgD-sL25juM-IQ&#038;output=ods">OpenOffice</a>) contains the metrics for major and maintenance releases from 1.0 to 3.5.1, the other (<a href="http://spreadsheets.google.com/pub?key=t54eHKWeiMlHtP1bELzIEnA" target="_blank">HTML</a>, <a href="http://spreadsheets.google.com/pub?key=t54eHKWeiMlHtP1bELzIEnA&#038;output=csv">CSV</a>, <a href="http://spreadsheets.google.com/pub?key=t54eHKWeiMlHtP1bELzIEnA&#038;output=xls">Excel</a>, <a href="http://spreadsheets.google.com/pub?key=t54eHKWeiMlHtP1bELzIEnA&#038;output=ods">OpenOffice</a>) has the metrics for the milestones and release candidates of releases 3.2 and 3.3. You&#8217;re free to use the data for your own purposes, provided you acknowledge where you got it from, e.g. by providing the URL of this post. Our Javascript code to obtain the charts from the spreadsheets is open source: just use your browser&#8217;s &#8216;show page source&#8217; feature! In that way you can reverse engineer what the headings in the spreadsheets columns mean, but an easier way is to just contact us <img src='http://michel.wermelinger.ws/chezmichel/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  We next present the results, but they will only make sense if you first <a href="http://oro.open.ac.uk/11975/" target="_blank">read the paper</a>. <span id="more-489"></span></p>
<p>We use mostly stacked bar charts, with each segment showing a particular subset of the total number of items (plugins, extension points or dependencies). The segments are stacked, from bottom to top, as follows: unforced deletions, forced deletions, items kept since the first release, items kept from the previous but not the first release, forced additions, unforced additions. In general, a change is considered unforced if it is by choice, and forced if it is due to another change. For example, the unforced deletion of a plugin forces the deletion of all its extension points and dependencies. Clicking on a bar segment will say precisely what value is being plotted for what release and what kind of change.</p>
<p>We use line charts to show ratios or other values. Again, it is possible to click on a data point to obtain its precise value, instead of guessing it from the y-axis.</p>
<p>The first charts show the evolution of Eclipse&#8217;s size, as measured by the number of plugins. We consider all additions and deletions as unforced, because they are architectural choices. We can see that the set of plugins remains constant during maintenance releases, i.e. additions and deletions are only observed at major releases. A look at the interim milestones and release candidates reveals that most of those changes occur in milestones, although some also occur in the later release candidates. (Note that in this case, the number of kept plugins is with regard to the first release in the sequence, i.e. 3.1.)</p>
<div id="size"></div>
<p>The next charts plot the changes to complexity, measured as the number of dependencies between plugins. We distinguish between static and dynamic dependencies (see the paper for what those terms mean in our context). The overall complexity is the union of both, i.e. a dynamic and a static dependency between the same pair of plugins count as one overall dependency between that pair. A forced addition or deletion of a dependency is associated to the creation or removal of at least one of the involved plugins, i.e. the addition (resp. deletion) of a dependency between two plugins is called unforced if both plugins already existed (resp. still remain). Again, we see that dependencies change mostly during milestones and remain the same during maintenance, except for a few deletions in 3.3.1.  </p>
<div id="complexity"></div>
<p>Overall, the biggest changes were in releases 3.0 (almost doubled the complexity while retaining the size) and 3.4 (almost doubled the size). Only 3.1 presents a decrease in complexity. If we now compute directly from the spreadsheet the cohesion, measured as the dependency-to-plugin ratio, we note it&#8217;s remarkably constant except for the increase at 3.0 and decrease at 3.4. </p>
<div id="cohesion"></div>
<p>The next chart shows the changes to coupling, measured as the number of external dependencies, i.e. between an Eclipse SDK plugin and a 3rd-party component. All external dependencies are static. We can see that coupling was drastically reduced in 3.0, with all existing external dependencies being replaced by new ones. The paper explains what happened.</p>
<div id="coupling"></div>
<p>We also measured the number of extension points provided by the Eclipse SDK and how it changed over time. The addition (deletion) of an extension point is considered forced if the plugin that provides the extension point has been created (resp. removed) simultaneously. We first show the absolute, then the relative number of extension points. We note that most extension points are added to already existing plugins. Hence, new plugins have few or no extension points, leading to a decrease in the average number of extension points per plugin.</p>
<div id="ext_pts"></div>
<p>Also interesting is to see how many unused extension points there are, i.e. whether the SDK is &#8216;eating its own food&#8217; or providing extension points mostly for 3rd-party plugins. The addition of an unused extension is considered to be forced if it is due to the deletion of a dynamic dependency (and hence the extension point became unused). The deletion of an unused extension point is forced if due to the deletion of the corresponding plugin. We note that most additions are unforced and for external plugins, because the percentage of unused extension points is constantly rising. Release 3.5 removed a large part of the plugins with unused extension points. </p>
<div id="unused_ext_pts"></div>
]]></content:encoded>
			<wfw:commentRss>http://michel.wermelinger.ws/chezmichel/2009/10/the-architectural-evolution-of-eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Online Computing MPhil</title>
		<link>http://michel.wermelinger.ws/chezmichel/2009/03/online-computing-mphil/</link>
		<comments>http://michel.wermelinger.ws/chezmichel/2009/03/online-computing-mphil/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 10:06:51 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[research]]></category>

		<guid isPermaLink="false">http://michel.wermelinger.ws/chezmichel/?p=281</guid>
		<description><![CDATA[Our new part-time online MPhil in Computing, starting in October 2009, is now accepting registrations. It uses the Open University&#8217;s virtual learning environment (an extension of Moodle) and a virtual campus on Second Life. More details at the MPhil&#8217;s website.]]></description>
			<content:encoded><![CDATA[<p>Our new part-time online MPhil in Computing, starting in October 2009, is now accepting registrations. It uses the Open University&#8217;s virtual learning environment (an extension of Moodle) and a virtual campus on Second Life. More details at the <a href="http://virtualmphil.open.ac.uk/" target="_blank">MPhil&#8217;s website</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://michel.wermelinger.ws/chezmichel/2009/03/online-computing-mphil/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Department research highlights</title>
		<link>http://michel.wermelinger.ws/chezmichel/2009/03/department-research-highlights/</link>
		<comments>http://michel.wermelinger.ws/chezmichel/2009/03/department-research-highlights/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 14:27:13 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[research]]></category>

		<guid isPermaLink="false">http://michel.wermelinger.ws/chezmichel/?p=273</guid>
		<description><![CDATA[The third issue of our department&#8217;s bi-annual research highlights newletter is now available. It features our amazing climb up the ladder of the UK-wide Research Assessment Exercise, our major grants, publications and event organisation in the past 6 months. It&#8217;s certainly a welcome reminder of how well we&#8217;re doing, a nice little morale booster in [...]]]></description>
			<content:encoded><![CDATA[<p>The third issue of our department&#8217;s bi-annual research highlights newletter is <a href="http://sead1.open.ac.uk/ResearchWiki/News?action=AttachFile&amp;do=get&amp;target=CRH-Issue3.pdf" target="_blank">now available</a>. It features our amazing climb up the ladder of the UK-wide Research Assessment Exercise, our major grants, publications and event organisation in the past 6 months. It&#8217;s certainly a welcome reminder of how well we&#8217;re doing, a nice little morale booster in these financially troubled times (as if the funding cuts to the Equivalent and Lower level Qualifications students weren&#8217;t already <a href="http://www.ukwatch.net/article/labour_makes_massive_cuts_in_higher_education" target="_blank">bad enough for the Open University</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://michel.wermelinger.ws/chezmichel/2009/03/department-research-highlights/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Managing assumptions</title>
		<link>http://michel.wermelinger.ws/chezmichel/2009/02/managing-assumptions/</link>
		<comments>http://michel.wermelinger.ws/chezmichel/2009/02/managing-assumptions/#comments</comments>
		<pubDate>Sat, 07 Feb 2009 16:43:38 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[research]]></category>

		<guid isPermaLink="false">http://michel.wermelinger.ws/chezmichel/?p=174</guid>
		<description><![CDATA[The industrial experience paper my MSc student Ireo and I submitted to the ICSE workshop on Sharing and Reusing Architectural Knowledge was accepted! The reviewers asked us to clarify the scope of the assumption management approach we present (i.e. whether it&#8217;s confined to agile development and architectural knowledge) and to expand on the lessons learned [...]]]></description>
			<content:encoded><![CDATA[<p>The industrial experience paper my MSc student Ireo and I submitted to the ICSE workshop on <a href="http://www.cs.rug.nl/~paris/SHARK2009/" target="_blank">Sharing and Reusing Architectural Knowledge</a> was accepted! The reviewers asked us to clarify the scope of the assumption management approach we present (i.e. whether it&#8217;s confined to agile development and architectural knowledge) and to expand on the lessons learned from it. We will address this, but meanwhile you can read the <a href="http://michel.wermelinger.ws/chezmichel/wp-content/uploads/ostacchini09shark-submitted.pdf">submitted version</a>.</p>
<p>I&#8217;m very pleased with Ireo&#8217;s efforts and with the strategy followed to get a publication out of his work. <span id="more-174"></span>Our MSc students are all part-time and off-site (i.e. they don&#8217;t come to campus). Hence, it&#8217;s a bit difficult to get them to write a paper once the dissertation is submitted. They go through various intermediate assignments, which build up to the final dissertation submission in March. The last assignment consists of the last dissertation draft and of the first version of an extended abstract of the thesis. The word limit imposed on the abstract is rather constraining for a paper. Moreover, the abstract&#8217;s second and final version is submitted <em>after</em> the actual dissertation. Asking a student to then expand the abstract into a paper is therefore pointless, from their perspective, because the work is over and there is no academic incentive (e.g. a better grade) for them to write a paper.</p>
<p>The strategy we followed was to have Ireo send me versions of the extended abstract well before the last assignment, and gradually expand it into a paper. This helped him stengthen and streamline the narrative (context, method, results, conclusions) for his last dissertation draft. The deadlines of the workshop were also quite convenient, with the submission date two weeks after the last assignment, and the notification date well before the dissertation submission. In this way, the paper could benefit from what had been written for the last assignment, and the final dissertation and extended abstract can benefit from the reviewers&#8217; comments. I like when everything falls into place!</p>
]]></content:encoded>
			<wfw:commentRss>http://michel.wermelinger.ws/chezmichel/2009/02/managing-assumptions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visualising Social Hierarchies of Developers</title>
		<link>http://michel.wermelinger.ws/chezmichel/2009/01/visualising-social-hierarchies-of-developers/</link>
		<comments>http://michel.wermelinger.ws/chezmichel/2009/01/visualising-social-hierarchies-of-developers/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 23:49:33 +0000</pubDate>
		<dc:creator>mw</dc:creator>
				<category><![CDATA[research]]></category>

		<guid isPermaLink="false">http://michel.wermelinger.ws/chezmichel/?p=166</guid>
		<description><![CDATA[Some good news arrived just before the day ends: the paper we submitted to the New Ideas and Emerging Results track of the Int&#8217;l Conf. on Software Engineering was accepted! It&#8217;s about applying formal concept analysis to get automatically a intuitive visual &#8216;hierarchy&#8217; of developers , and how one might want to use the hierarchy, [...]]]></description>
			<content:encoded><![CDATA[<p>Some good news arrived just before the day ends: the paper we submitted to the <a href="http://www.cs.uoregon.edu/events/icse2009/calls/NIER/" target="_blank">New Ideas and Emerging Results</a> track of the Int&#8217;l Conf. on Software Engineering was accepted! It&#8217;s about applying formal concept analysis to get automatically a intuitive visual &#8216;hierarchy&#8217; of developers , and how one might want to use the hierarchy, e.g. to find out who may replace a developer who is about to leave the project.</p>
<p>We illustrate the approach by relating developers and Eclipse bugs and then showing the hierarchy of bug fixers and discussants, aggregated by component. Developers towards the top of the hierarchy are generalists (involved in more components), those at the bottom are specialists (involved in just one component).</p>
<p>The reviewers had some questions about technical details of our example, and about the potential of the approach — good points to take care for the final version. Meanwhile, you can read the <a href="http://michel.wermelinger.ws/chezmichel/wp-content/uploads/wermelinger09icse.pdf">submitted version.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://michel.wermelinger.ws/chezmichel/2009/01/visualising-social-hierarchies-of-developers/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

