Using Formal Concept Analysis to Construct and Visualise Hierarchies of Socio-Technical Relations Michel Wermelinger, Yiju...
1. Motivation <ul><li>Software engineering is socio-technical activity </li></ul><ul><ul><li>Global and open source softwa...
2. General Approach <ul><li>Obtain a bipartite socio-technical network </li></ul><ul><li>Compute socio-technical concept l...
3. Example <ul><li>Eclipse IDE </li></ul><ul><ul><li>Has non-trivial social and technical structure </li></ul></ul><ul><ul...
4. Eclipse 1.0, assignees, k = 10 only 4 ‘generalists’  (2 components each) the Swiss team USA coordinating 2 Canadian tea...
5. Eclipse 3.0, assignees, k = 100 <ul><li>Used higher  k  because bug reports accumulate over time </li></ul><ul><li>Geog...
6. Eclipse 3.0, discussants,  k  = 100 <ul><li>Fewer people and components than in assignees lattice </li></ul><ul><ul><li...
7. Conclusions <ul><li>Novel application of Formal Concept Analysis </li></ul><ul><ul><li>Clustering and ordering of socio...
Upcoming SlideShare
Loading in …5
×

Using Formal Concept Analysis to Construct and Visualise Hierarchies of Socio-Technical Relations

847 views

Published on

The poster (in slide format) we presented at the New Ideas and Emerging Results track of the Int'l Conf. on Software Engineering (ICSE), 20-22 May 2009.

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
847
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Using Formal Concept Analysis to Construct and Visualise Hierarchies of Socio-Technical Relations

  1. 1. Using Formal Concept Analysis to Construct and Visualise Hierarchies of Socio-Technical Relations Michel Wermelinger, Yijun Yu The Open University, UK Markus Strohmaier Graz University of Technology, and Know-Center, Austria
  2. 2. 1. Motivation <ul><li>Software engineering is socio-technical activity </li></ul><ul><ul><li>Global and open source software development led to increased interest in and relevance of social aspects </li></ul></ul><ul><li>Need for representing socio-technical relations </li></ul><ul><li>Bipartite graphs of software artefacts and people </li></ul><ul><ul><li>Ad-hoc arc semantics, depending on relation </li></ul></ul><ul><ul><li>Ad-hoc flat layout, often hard to read </li></ul></ul><ul><ul><li>Relevant relations lost among many nodes and arcs </li></ul></ul><ul><li>Sought improvements: </li></ul><ul><ul><li>More compact, intuitive, and explicit representation </li></ul></ul><ul><ul><li>Distinguish ‘hierarchical’ importance of artefacts, people and their relations . </li></ul></ul>
  3. 3. 2. General Approach <ul><li>Obtain a bipartite socio-technical network </li></ul><ul><li>Compute socio-technical concept lattice </li></ul><ul><ul><li>Apply formal concept analysis (FCA) theory </li></ul></ul><ul><ul><li>Use free tool ConExp (Concept Explorer) </li></ul></ul><ul><ul><li>Input: bi-partite network </li></ul></ul><ul><ul><li>Output: concept lattice (1 node per concept) </li></ul></ul><ul><ul><li>A concept clusters all artefacts associated to the same people </li></ul></ul><ul><ul><li>Hierarchy is partial ordering of clusters (arc semantics: subset) </li></ul></ul><ul><li>Visualise hierarchy interactively using ConExp </li></ul><ul><li>Study different and evolving socio-technical relations </li></ul><ul><ul><li>Repeat 1.-3. for various relations and system releases </li></ul></ul>
  4. 4. 3. Example <ul><li>Eclipse IDE </li></ul><ul><ul><li>Has non-trivial social and technical structure </li></ul></ul><ul><ul><li>IBM lead allows social continuity to be traced </li></ul></ul><ul><ul><li>Bugzilla repository available </li></ul></ul><ul><li>Bi-partite socio-technical networks </li></ul><ul><ul><li>Nodes denote people p and Eclipse components c </li></ul></ul><ul><ul><li>Arc p -> c if p associated to k or more bug reports for c , for a given k </li></ul></ul><ul><ul><li>3 associations with bug reports: reporter, assignee or discussant </li></ul></ul><ul><li>Socio-technical concept lattice </li></ul><ul><ul><li>Usually, person at level n from bottom is associated to n components </li></ul></ul><ul><ul><li>Hence ‘specialists’ at bottom, ‘generalists’ at top of lattice </li></ul></ul><ul><ul><li>Each node includes all its ancestors’ people and all its descendants’ components </li></ul></ul>
  5. 5. 4. Eclipse 1.0, assignees, k = 10 only 4 ‘generalists’ (2 components each) the Swiss team USA coordinating 2 Canadian teams? most developers associated: is this largest or most complex component? only 1 developer associated: what if they leave project? the French team
  6. 6. 5. Eclipse 3.0, assignees, k = 100 <ul><li>Used higher k because bug reports accumulate over time </li></ul><ul><li>Geographical and workload distribution like release 1.0 </li></ul>Common developers: highly dependent components? only 2 ‘generalists’ (3 components each)
  7. 7. 6. Eclipse 3.0, discussants, k = 100 <ul><li>Fewer people and components than in assignees lattice </li></ul><ul><ul><li>Developers don’t discuss all reports they are assigned to </li></ul></ul>Developers discuss more components than they are assigned to: due to dependencies?
  8. 8. 7. Conclusions <ul><li>Novel application of Formal Concept Analysis </li></ul><ul><ul><li>Clustering and ordering of socio-technical relations </li></ul></ul><ul><ul><li>General tool-supported approach </li></ul></ul><ul><li>Some advantages over bi-partite graphs </li></ul><ul><ul><li>More scalable: not one node per person and artefact </li></ul></ul><ul><ul><li>More explicit: related people & artefacts in same node </li></ul></ul><ul><ul><li>More intuitive: uniform vertical layout & arc semantics </li></ul></ul><ul><li>Helps spot expertise and potential problems </li></ul><ul><ul><li>Generalist and specialist people </li></ul></ul><ul><ul><li>Artefacts with too many or too few people associated </li></ul></ul><ul><ul><li>Undesired or absent communication/coordination </li></ul></ul><ul><li>For more details, see our paper in Proc. ICSE’09 (companion volume), pp. 327-330. </li></ul>

×