Upload
anitasarma
View
172
Download
2
Tags:
Embed Size (px)
Citation preview
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))1)
Managing)Socio>Technical)Dependencies)in)Distributed)So6ware)Development)
Anita&Sarma&
University&of&Nebraska,&Lincoln&
July&2015&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))2)
SATToSE)2015)
General&Chair:&Tom$Mens$Program&Chair:&Anya$Helene$Bagge$&
Current&Research&Group:&
&&
&
&
&
&
&
&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))3)
CoordinaKon)
RAF&Leuchars&Airshow&2013,&Martyn&Edward,&Flickr&&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))4)
Dependencies)
Dependency,,&&&&&&&&&&&&&&&&&&&&,Flickr&&
Cleidson&R.&B.&de&Souza,&David&F.&Redmiles:&The&Awareness&Network,&To&Whom&Should&I&Display&My&AcSons?&And,&&Whose&AcSons&Should&I&Monitor?&IEEE&Trans.&SoUware&Eng.&37(3):&325Y340&(2011)&
Marcelo&Cataldo,&James&D.&Herbsleb,&Kathleen&M.&Carley:&SocioYtechnical&congruence:&a&framework&for&assessing&the&impact&of&&technical&and&work&dependencies&on&soUware&development&producSvity.&ESEM&2008:&2Y11&&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))5)
Parallel)Work)
parallel&worlds,&Alosh&Benne^&,&Flickr&&
Cleidson&R.&B.&de&Souza,&David&F.&Redmiles,&LiYTe&Cheng,&David&R.&Millen,&John&F.&Pa^erson:&How&a&good&soUware&pracSce&thwarts&collaboraSon:&the&mulSple&roles&of&APIs&&in&soUware&development.&SIGSOFT&FSE&2004:&221Y230&
Dewayne&E.&Perry,&Harvey&P.&Siy,&Lawrence&G.&Vo^a:&Parallel&changes&in&largeYscale&soUware&development:&an&observaSonal&case&study.&&ACM&Trans.&SoUw.&Eng.&Methodol.&10(3):&308Y337&(2001)&&Yuriy&Brun,&Reid&Holmes,&Michael&D.&Ernst,&David&Notkin:&Crystal:&precise&and&unobtrusive&conflict&warnings.&SIGSOFT&FSE&2011:&444Y447&
Anita&Sarma,&David&F.&Redmiles,&André&van&der&Hoek:&Palandr:&Early&DetecSon&of&Development&Conflicts&Arising&from&Parallel&Code&Changes.&IEEE&Trans.&SoUware&Eng.&38(4):&889Y908&(2012)&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))6)
Conflicts)in)Distributed)So6ware)Development)
! Direct)Conflicts:&&Two&developers&edit&the&same&file&concurrently&(Merge&conflicts)&
&
! Indirect)Conflicts:&&Conflicts&arising&because&of&changes&in&one&file&affecSng&changes&in&another&(Build&&&Test&conflicts,&and&other&breaking&changes)&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))7)
! Merge&conflicts:&8%&to&19%&&
! Build&conflicts:&2%&to&15%&&! Test&conflicts:&6%&to&35%&&
Conflicts)in)Distributed)So6ware)Development)Merge) Build) Test)
Project) #Merges) #conflicts) #)conflicts) #)Res.)Days)Avg)(Med)))
#)conflicts) #)Res.)Days)Avg)(Med)))
#)conflicts))
#)Res.)Days)Avg)(Med)))
Perl& 185& 74&(40%)& 14&(8%)& 23&(10)& 4&(2%)& 0.7&(1)& 56&(30%)& 31&(14)&
Storm& 88& 39&(44%)& 17&(19%)& 6&(2)& 9&(10%)& 5&(8)& 13&(15%)& 8&(3)&
Jenkins& 505& 204&(54%)& 68&(14%)& 23&(4)& 74&(15%)& 5&(2)& 28&(6%)& 7&(2)&
Voldemort& 380& 170&(34%)& 55&(15%)& 20&(4)& 16&(4%)& 2&(0.75)& 133&(35%)& 6&(4)&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))8)
CommunicaKon)
Resilience,&Dens&Leonis&,&Flickr&&
Marcelo&Cataldo,&Audris&Mockus,&Jeffrey&A.&Roberts,&James&D.&Herbsleb:&SoUware&Dependencies,&Work&Dependencies,&and&Their&Impact&on&Failures.&&IEEE&Trans.&SoUware&Eng.&35(6):&864Y878&(2009)&
James&D.&Herbsleb,&Audris&Mockus:&An&Empirical&Study&of&Speed&and&CommunicaSon&in&Globally&Distributed&SoUware&Development.&IEEE&Trans.&SoUware&Eng.&29(6):&481Y494&(2003)&
Sabrina&Marczak,&Ban&AlYAni,&David&F.&Redmiles,&Rafael&Prikladnicki:&The&Interplay&among&Trust,&Risk,&and&Reliance&in&Global&Systems&Engineering&&Teams.&ICGSE&2014:&46Y55&
Patrick&Wagstrom,&Subhajit&Da^a:&Does&laStude&hurt&while&longitude&kills?&geographical&and&temporal&separaSon&in&a&large&scale&soUware&development&project.&ICSE&2014:&199Y210&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))9)
Interdependency)
Challenge,&Just&me,&Aline&,&Flickr&&
Anita&Sarma,&Ban&AlYAni,&Erik&Trainer,&Roberto&Silveira&Silva&Filho,&Isabella&A.&da&Silva,&&David&F.&Redmiles,&André&van&der&Hoek:&ConSnuous&CoordinaSon&Tools&and&their&EvaluaSon.&CollaboraSve&&SoUware&Engineering&2010:&153Y178&
Adrian&Bachmann,&ChrisSan&Bird,&Foyzur&Rahman,&Premkumar&T.&Devanbu,&Abraham&Bernstein:&The&missing&links:&bugs&and&bugYfix&commits.&SIGSOFT&FSE&2010:&97Y106&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))10)
CoordinaKon)Tools)Can)Help)
Photo&by&www.gotcredit.com)on&Flickr&&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))11)
CoordinaKon)Paradigms)
ConSnuous&coordinaSon,&collaboraSve&architecture,&
seamless&development&environments,&
Asynchronous&communicaSon& Access&to&common&set&of&arSfacts,&isolated&workspaces&and&version&control&
Parallel&development,&roles&and&access&rights&
Passive&awareness&of&development&acSviSes&and&developers,&manage&informaSon&overload&
T&ask&allocaSon&and&assignment&
CommunicaSon&archival&along&with&arSfacts&
CollocaSon&benefits&to&distributed&development&
OrganizaSonal&memory,&knowledge&acquisiSon&and&
disseminaSon,&relaSons&navigaSon&
Prescribed&and&defined&&coordinaSon&support&
Advanced&conflict&detecSon&
Fine&grained&versioning,&conflict&resoluSon&
Instant&Messaging,&monitoring&changes&
to&arSfacts&
ArSfact&Management&CommunicaSon& Task&Management&
Anita&Sarma,&David&F.&Redmiles,&André&van&der&Hoek:&Categorizing&the&Spectrum&of&CoordinaSon&Technology.&IEEE&Computer&43(6):&61Y67&(2010)&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))12)
CoordinaKon)Paradigms)
ConSnuous&coordinaSon,&collaboraSve&architecture,&
seamless&development&environments,&
Asynchronous&communicaSon& Access&to&common&set&of&arSfacts,&isolated&workspaces&and&version&control&
Parallel&development,&roles&and&access&rights&
Passive&awareness&of&development&acSviSes&and&developers,&manage&informaSon&overload&
T&ask&allocaSon&and&assignment&
CommunicaSon&archival&along&with&arSfacts&
CollocaSon&benefits&to&distributed&development&
OrganizaSonal&memory,&knowledge&acquisiSon&and&
Prescribed&and&defined&&coordinaSon&support&
Advanced&conflict&detecSon&
Fine&grained&versioning,&conflict&resoluSon&
Instant&Messaging,&monitoring&changes&
to&arSfacts&
ArSfact&Management&CommunicaSon& Task&Management&
disseminaSon,&relaSons&navigaSon&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))13)
CoordinaKon)Paradigms)
ConSnuous&coordinaSon,&collaboraSve&architecture,&
seamless&development&environments,&
Asynchronous&communicaSon& Access&to&common&set&of&arSfacts,&isolated&workspaces&and&version&control&
Parallel&development,&roles&and&access&rights&
Passive&awareness&of&development&acSviSes&and&developers,&manage&informaSon&overload&
T&ask&allocaSon&and&assignment&
CommunicaSon&archival&along&with&arSfacts&
Communication&
CollocaSon&benefits&to&distributed&development&
OrganizaSonal&memory&knowledge&acquisiSon&and&
Prescribed&and&defined&&coordinaSon&support&
Artifact Management& Task Management&
Advanced&conflict&detecSon&
Fine&grained&versioning,&conflict&resoluSon&
Instant&Messaging,&monitoring&changes&
to&arSfacts& disseminaSon,&relaSons&navigaSon&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))14)
Examples)of)CoordinaKon)Tools)
ConSnuous&coordinaSon,&collaboraSve&architecture,&
seamless&development&environments,&
Asynchronous&communicaSon& Access&to&common&set&of&arSfacts,&isolated&workspaces&and&version&control&
Parallel&development,&roles&and&access&rights&
Passive&awareness&of&development&acSviSes&and&developers,&manage&informaSon&overload&
T&ask&allocaSon&and&assignment&
CommunicaSon&archival&along&with&arSfacts&
CollocaSon&benefits&to&distributed&development&
OrganizaSonal&memory,&knowledge&acquisiSon&and&
Prescribed&and&defined&&coordinaSon&support&
Advanced&conflict&detecSon&
Fine&grained&versioning,&conflict&resoluSon&
Instant&Messaging,&monitoring&changes&
to&arSfacts&
ArSfact&Management&CommunicaSon& Task&Management&
disseminaSon,&relaSons&navigaSon&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))15)
Tesseract)
! Interactive and explorative environment to correlate and understand the complex relationships among: – code (artifacts) – communication records – tasks (bug reports) – time
[ICSE&2009]&
Anita&Sarma,&Larry&Maccherone,&Patrick&Wagstrom,&James&D.&Herbsleb:&Tesseract:&InteracSve&visual&exploraSon&of&socioYtechnical&relaSonships&in&soUware&development.&ICSE&2009:&23Y33&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))16)
Tesseract)Screenshot)
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))17)
Filtered)ArKfact)Network)
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))18)
Cross>Linked)Displays)
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))19)
Results)
! Seasoned&developers&create&a&model&of&ST&dependencies&
! Useful&for&onboarding&and&experSse&finding&– externalizing&the&network&
! Useful&in&finding&gaps&in&communicaSon&(managers)&
! Open&quesSons&– what&other&types&of&relaSonships&might&be&useful?&
– should&users&be&allowed&to&drive&these&invesSgaSons?&– how&will&such&invesSgaSons&scale&–&computaSon&and&cogniSve?&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))20)
DOMINOES)–)Exploratory)Data)Analysis)
! Explore&relaSonships&in&soUware&repositories&! Use&matrices&to&represent&relaSonships&
! Combine&matrices&through&linear&operaSons&
X X =
(A) (D) (AT) (CR)
a11 … a1k
an1 … ank
d11 … d1k
dk1 … dkk
a11 … a1n
ak1 … akn
cr11 … cr1n
crn1 … crnn
Concept
Files changed together
Developer modified files
Transpose of developer
modified files
Who needs to coordinate with
whom
[Cataldo&et&al.,&2006]&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))21)
DOMINOES)–)Matrices)
! Basic&Sles&– [class|method],&[commit|method],&[developer|commit],&[bug|commit]&
! Derived&Sles&– [developer|method],&[bug|method]&
– [method|method],&[class|class],&[developer|developer]&
– …&! Allows&invesSgaSons&of:&&
– experSse&breadth&of&a&developer&– latent&team&structure&
– predicSng&conflicts&– predicSng&bugginess&of&a&project&– …&
Jose&Ricardo&da&Silva&Jr.,&Esteban&Clua,&Leonardo&Murta,&Anita&Sarma:&MulSYPerspecSve&Exploratory&Analysis&of&SoUware&Development&Data.&InternaSonal&Journal&of&SoUware&Engineering&and&Knowledge&Engineering&25(1):&51Y68&(2015)&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))22)
DOMINOES)UI)
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))23)
Examples)of)CoordinaKon)Tools)
ConSnuous&coordinaSon,&collaboraSve&architecture,&
seamless&development&environments,&
Asynchronous&communicaSon& Access&to&common&set&of&arSfacts,&isolated&workspaces&and&version&control&
Parallel&development,&roles&and&access&rights&
Passive&awareness)of)development)acKviKes)and&developers,&manage&informaSon&overload&
T&ask&allocaSon&and&assignment&
CommunicaSon&archival&along&with&arSfacts&
CollocaSon&benefits&to&distributed&development&
OrganizaSonal&memory,&knowledge&acquisiSon&and&
Prescribed&and&defined&&coordinaSon&support&
Advanced&conflict&detecSon&
Fine&grained&versioning,&conflict&resoluSon&
Instant&Messaging,&monitoring&changes&
to&arSfacts&
ArSfact&Management&CommunicaSon& Task&Management&
disseminaSon,&relaSons&navigaSon&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))24)
Palanar))
! Monitor&ongoing&changes&in&remote&workspace&
! IdenSfy&potenSal&conflicts&– merge&conflicts&(direct&conflicts)&
– conflicts&arising&from&dependency&violaSon&(indirect&conflicts)&
! NoSfy&developers&of&emerging&conflicts&
Anita&Sarma,&David&F.&Redmiles,&André&van&der&Hoek:&Palandr:&Early&DetecSon&of&Development&Conflicts&Arising&from&Parallel&Code&Changes.&IEEE&Trans.&SoUware&Eng.&38(4):&889Y908&(2012)&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))25)
Palanar)) [ICSE&2003,&ASE&2007,&FSE&2008,&TSE&2012]&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))26)
Other)Workspace)Awareness)Tools)
! Current&tools&(Conflict&miSgaSon):&– CollabVS&[Dewan&et&al.,&ECSCW’07]&
– FastDash&[Biehl&et&al.,&CHI’07&]&– Crystal&[Brun&et&al.&FSE’11]&– WeCode&[Guimarães&&&Rito&Silva.,&ICSE’12]&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))27)
Results)
! Conflicts&are&detected&as&they&emerge&
! Developers&undertake&acSon&upon&noScing&a&potenSal&conflict&
! CommunicaSon&Sme&increases&during&the&task&
! Open&quesSons&– how&to&promote&awareness&at&higher&levels&of&abstracSon?&
– how&can&impact&analyses&scale&to&idenSfy&behavioral&changes?&
– how&to&balance&informaSon&overload&and&InterrupSon?&&
– how&to&track&and&noSfy&about&changes&across&branches?&– …&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))28)
Examples)of)CoordinaKon)Tools)
ConSnuous&coordinaSon,&collaboraSve&architecture,&
seamless&development&environments,&
Asynchronous&communicaSon& Access&to&common&set&of&arSfacts,&isolated&workspaces&and&version&control&
Parallel&development,&roles&and&access&rights&
Passive&awareness&of&development&acSviSes&and&developers,&manage&informaSon&overload&
T&ask&allocaSon&and&assignment&
CommunicaSon&archival&along&with&arSfacts&
CollocaSon&benefits&to&distributed&development&
OrganizaSonal&memory,&knowledge&acquisiSon&and&
Prescribed&and&defined&&coordinaSon&support&
Advanced)conflict)detecKon)
Fine&grained&versioning,&conflict&resoluSon&
Instant&Messaging,&monitoring&changes&
to&arSfacts&
ArSfact&Management&CommunicaSon& Task&Management&
disseminaSon,&relaSons&navigaSon&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))29)
Cassandra)Approach)
! Obtain&task&context&(task&–&files)&! Order&of&tasks&(Developer&preferences)&
> ≠
≠
! IdenSfy&edited&files&(Fe)&
! IdenSfy&dependent&files&(Fd)&
! Analyze&tasks&for&conflicts&
&
! Formalize&constraints&– hard&constraints&(>)&– soU&constraints&(≠)&
Evaluate)Constraints)
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))30)
Constraint)EvaluaKon)
[& 4& 2& 3& 1& ]&
[& 1& 2& 3& 4& ]&
! OpSmize&SoluSon&! Match&developer&
preferences&
! Display&conflict&informaSon&&
! Display&recommended&task&order&
ReYevaluate&constraints&
SAT&
Evaluate)Constraints)(Z3))
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))31)
h^p://www.ibm.com/developerworks/java/library/jYmylyn1/&
Interface)–)Mylyn))
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))32)
Interface)–)Mylyn)Plugin)
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))33)
Constraint)EvaluaKon)
[& 4& 2& 3& 1& ]&
[& 1& 2& 3& 4& ]&
> ≠
≠
&&&&
&&&&
! OpSmize&SoluSon&! Match&developer&
preferences&
! Relax&constraints&
! Display&conflict&informaSon&&
! Display&recommended&task&order&
ReYevaluate&constraints&
ReYevaluate&constraints&
SAT& UnSAT&
Evaluate)Constraints)(Z3))
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))34)
Results)
! Cassandra&successful&in&– scheduling&conflict&minimal&tasks&&
– 50%Y97%&conflicts&avoided,&less&than&3&minutes&
– opSmizing&based&on&developer&preferences&
– sensiSvity&of&task&context&(Fe)&precision&
! Open&QuesSons&– what&factors&can&be&used&to&relax&constraints?&– how&can&we&automate&effort&esSmaSon?&
– can&we&schedule&tasks&across&development&stages?&
– …&
BakhSar&Khan&Kasi,&Anita&Sarma:&Cassandra:&proacSve&conflict&minimizaSon&through&opSmized&task&scheduling.&ICSE&2013:&732Y741&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))35)
Road)Ahead)
The&Road&Ahead,&jayvan,&Flickr&&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))36)
Future)DirecKons)for)CoordinaKon)Tools)
ConSnuous&coordinaSon,&collaboraSve&architecture,&
seamless&development&environments,&
Asynchronous&communicaSon& Access&to&common&set&of&arSfacts,&isolated&workspaces&and&version&control&
Parallel&development,&roles&and&access&rights&
Passive&awareness&of&development&acSviSes&and&developers,&manage&informaSon&overload&
T&ask&allocaSon&and&assignment&
CommunicaSon&archival&along&with&arSfacts&
CollocaSon&benefits&to&distributed&development&
OrganizaSonal&memory,&knowledge&acquisiSon&and&
Prescribed&and&defined&&coordinaSon&support&
Advanced&conflict&detecSon&
Fine&grained&versioning,&conflict&resoluSon&
Instant&Messaging,&monitoring&changes&
to&arSfacts&
ArSfact&Management&CommunicaSon& Task&Management&
disseminaSon,&relaSons&navigaSon&
Computer)Science)and)Engineering,)UNL)So6ware)Quality)Research)Empirically>based)
e2.unl.edu))37)
Future)DirecKons)for)CoordinaKon)Tools)
ConSnuous&coordinaSon,&collaboraSve&architecture,&
seamless&development&environments,&
Asynchronous&communicaSon& Access&to&common&set&of&arSfacts,&isolated&workspaces&and&version&control&
Parallel&development,&roles&and&access&rights&
Passive&awareness&of&development&acSviSes&and&developers,&manage&informaSon&overload&
T&ask&allocaSon&and&assignment&
CommunicaSon&archival&along&with&arSfacts&
CollocaSon&benefits&to&distributed&development&
OrganizaSonal&memory,&knowledge&acquisiSon&and&
Prescribed&and&defined&&coordinaSon&support&
Advanced&conflict&detecSon&
Fine&grained&versioning,&conflict&resoluSon&
Instant&Messaging,&monitoring&changes&
to&arSfacts&
ArSfact&Management&CommunicaSon& Task&Management&
disseminaSon,&relaSons&navigaSon&
We&also&need&to&coordinate&across&different&development&stages!&
What&about&End&Users?&They&coordinate&asynchronously&
With&use&of&social&media&on&the&rise,&how&does&it&affect&the&communicaSon&strand?&
Move&from&individual&tools&and&(small)&empirical&studies&to&create&theories&of&coordinaSon&&