Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2635868.2635914acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Focus-shifting patterns of OSS developers and their congruence with call graphs

Published: 11 November 2014 Publication History

Abstract

Developers in complex, self-organized open-source projects often work on many different files, and over time switch focus between them. Shifting focus can have impact on the software quality and productivity, and is thus an important topic of investigation. In this paper, we study focus shifting patterns (FSPs) of developers by comparing trace data from a dozen open source software (OSS) projects of their longitudinal commit activities and file dependencies from the projects call graphs. Using information theoretic measures of network structure, we find that fairly complex focus-shifting patterns emerge, and FSPs in the same project are more similar to each other. We show that developers tend to shift focus along with, rather than away from, software dependency links described by the call graphs. This tendency becomes weaker as either the interval between successive commits, or the organizational distance between committed files (i.e. directory distance), gets larger. Interestingly, this tendency appears stronger with more productive developers. We hope our study will initiate interest in further understanding of FSPs, which can ultimately help to (1) improve current recommender systems to predict the next focus of developers, and (2) provide insight into better call graph design, so as to facilitate developers' work.

References

[1]
C. Y. Baldwin and K. B. Clark. Design Rules: The Power of Modularity. MIT Press, 2000.
[2]
E. T. Barr, C. Bird, P. C. Rigby, A. Hindle, D. M. German, and P. Devanbu. Cohesive and isolated development with branches. In FASE, pages 316–331. Springer, 2012.
[3]
S. Bates and S. Horwitz. Incremental program testing using program dependence graphs. In POPL, pages 384–396. ACM, 1993.
[4]
C. Bird, N. Nagappan, H. Gall, B. Murphy, and P. Devanbu. Putting it all together: Using socio-technical networks to predict failures. In ISSRE, pages 109–119. IEEE, 2009.
[5]
C. Bird, N. Nagappan, B. Murphy, H. Gall, and P. Devanbu. Don’t touch my code!: examining the effects of ownership on software quality. In FSE, pages 4–14. ACM, 2011.
[6]
C. Bird, D. Pattison, R. D’Souza, V. Filkov, and P. Devanbu. Latent social structure in open source projects. In FSE, pages 24–35. ACM, 2008.
[7]
K.-Y. Cai and B.-B. Yin. Software execution processes as an evolving complex network. Information Sciences, 179(12):1903–1928, 2009.
[8]
M. Cataldo and J. D. Herbsleb. Coordination breakdowns and their impact on development productivity and software failures. IEEE Transactions on Software Engineering, 39(3):343–360, 2013.
[9]
M. Cataldo, A. Mockus, J. A. Roberts, and J. D. Herbsleb. Software dependencies, work dependencies, and their impact on failures. IEEE Transactions on Software Engineering, 35(6):864–878, 2009.
[10]
M. Cataldo, P. A. Wagstrom, J. D. Herbsleb, and K. M. Carley. Identification of coordination requirements: implications for the design of collaboration and awareness tools. In CSCW, pages 353–362. ACM, 2006.
[11]
D. Centola. The spread of behavior in an online social network experiment. Science, 329(5996):1194–1197, 2010.
[12]
D. Cherney, T. Denton, and A. Waldron. Linear Algebra. University of California Davis, 2013.
[13]
L. Dabbish, C. Stuart, J. Tsay, and J. Herbsleb. Social coding in GitHub: transparency and collaboration in an open software repository. In CSCW, pages 1277–1286. ACM, 2012.
[14]
N. R. Draper and H. Smith. Applied Regression Analysis 2nd ed. New York John Wiley and Sons, 1981.
[15]
J. Feller and B. Fitzgerald. Understanding Open Source Software Development. Addison-Wesley London, 2002.
[16]
W. Harrison. An entropy-based measure of software complexity. IEEE Transactions on Software Engineering, 18(11):1025–1029, 1992.
[17]
J. D. Herbsleb. Global software engineering: The future of socio-technical coordination. In Future of Software Engineering, pages 188–198. IEEE Computer Society, 2007.
[18]
J. D. Herbsleb, A. Mockus, and J. A. Roberts. Collaboration in software engineering projects: A theory of coordination. In ICIS, 2006.
[19]
E. Hill, L. Pollock, and K. Vijay-Shanker. Exploring the neighborhood with dora to expedite software maintenance. In ASE, pages 14–23. ACM, 2007.
[20]
I. Jolliffe. Principal Component Analysis. Wiley Online Library, 2005.
[21]
S. H. Kan. Metrics and Models in Software Quality Engineering. Addison-Wesley Longman Publishing Co., Inc., 2002.
[22]
M. Kersten and G. C. Murphy. Using task context to improve programmer productivity. In FSE, pages 1–11. ACM, 2006.
[23]
A. J. Ko, B. A. Myers, M. J. Coblenz, and H. H. Aung. An exploratory study of how developers seek, relate, and collect relevant information during software maintenance tasks. IEEE Transactions on Software Engineering, 32(12):971–987, 2006.
[24]
J. Lawrance, C. Bogart, M. Burnett, R. Bellamy, K. Rector, and S. D. Fleming. How programmers debug, revisited: An information foraging theory perspective. IEEE Transactions on Software Engineering, 39(2):197–215, 2013.
[25]
A. MacCormack, J. Rusnak, and C. Y. Baldwin. Exploring the structure of complex software designs: An empirical study of open source and proprietary code. Management Science, 52(7):1015–1030, 2006.
[26]
C. Mao. Structure visualization and analysis for software dependence network. In GrC, pages 439–444. IEEE, 2011.
[27]
T. J. McCabe. A complexity measure. IEEE Transactions on Software Engineering, (4):308–320, 1976.
[28]
A. Mockus and D. M. Weiss. Predicting risk of software changes. Bell Labs Technical Journal, 5(2):169–180, 2000.
[29]
C. R. Myers. Software systems as complex networks: Structure, function, and evolvability of software collaboration graphs. Physical Review E, 68(4):046116, 2003.
[30]
T. H. Nguyen, B. Adams, and A. E. Hassan. Studying the impact of dependency network measures on software quality. In ICSM, pages 1–10. IEEE, 2010.
[31]
G. Palla, A.-L. Barabási, and T. Vicsek. Quantifying social group evolution. Nature, 446(7136):664–667, 2007.
[32]
D. Posnett, R. D’Souza, P. Devanbu, and V. Filkov. Dual ecological measures of focus in software development. In ICSE, pages 452–461. IEEE, 2013.
[33]
F. Rahman and P. Devanbu. Ownership, experience and defects: a fine-grained study of authorship. In ICSE, pages 491–500. ACM, 2011.
[34]
M. P. Robillard. Automatic generation of suggestions for program investigation. In ACM SIGSOFT Software Engineering Notes, volume 30, pages 11–20. ACM, 2005.
[35]
M. P. Robillard, W. Coelho, and G. C. Murphy. How effective developers investigate source code: An exploratory study. IEEE Transactions on Software Engineering, 30(12):889–903, 2004.
[36]
G. Rothermel and M. J. Harrold. A safe, efficient regression test selection technique. ACM Transactions on Software Engineering and Methodology, 6(2):173–210, 1997.
[37]
Z. M. Saul, V. Filkov, P. Devanbu, and C. Bird. Recommending random walks. In FSE, pages 15–24. ACM, 2007.
[38]
A. Serebrenik and M. van den Brand. Theil index for aggregation of software metrics values. In ICSM, pages 1–9. IEEE, 2010.
[39]
C. Song, Z. Qu, N. Blumm, and A.-L. Barabási. Limits of predictability in human mobility. Science, 327(5968):1018–1021, 2010.
[40]
K. Ulrich. The role of product architecture in the manufacturing firm. Research Policy, 24(3):419–440, 1995.
[41]
B. Vasilescu, A. Serebrenik, and M. van den Brand. You can’t control the unfamiliar: A study on the relations between aggregation techniques for software metrics. In ICSM, pages 313–322. IEEE, 2011.
[42]
Q. Xuan, F. Du, L. Yu, and G. Chen. Reaction-diffusion processes and metapopulation models on duplex networks. Physical Review E, 87(3):032809, 2013.
[43]
Q. Xuan and V. Filkov. Building it together: synchronous development in OSS. In ICSE, pages 222–233. ACM, 2014.
[44]
Q. Xuan, M. Gharehyazie, P. T. Devanbu, and V. Filkov. Measuring the effect of social communications on individual working rhythms: A case study of open source software. In Social Informatics, pages 78–85. IEEE, 2012.
[45]
A. Zaidman, B. Van Rompaey, A. van Deursen, and S. Demeyer. Studying the co-evolution of production and test code in open source and industrial developer test processes through repository mining. Empirical Software Engineering, 16(3):325–364, 2011.
[46]
X. Zheng, D. Zeng, H. Li, and F. Wang. Analyzing open-source software systems as complex networks. Physica A: Statistical Mechanics and its Applications, 387(24):6190–6200, 2008.
[47]
T. Zimmerman, N. Nagappan, K. Herzig, R. Premraj, and L. Williams. An empirical study on the relation between dependency neighborhoods and failures. In ICST, pages 347–356. IEEE, 2011.
[48]
T. Zimmermann and N. Nagappan. Predicting defects using network analysis on dependency graphs. In ICSE, pages 531–540. ACM, 2008. Introduction Related Work Research Questions Methodology FSN and FDN Layered Networks Measures of Network Structure Multiple Linear Regression and Orthogonal Decomposition Results and Discussion RQ1: Shifting Focus along Call Links RQ2: Comparing FSPs within and between Projects RQ3: File Organization and FSPs RQ4: FSPs and Productivity RQ5: Structural Effects on Productivity Threats to Validity Conclusions Acknowledgments References

Cited By

View all
  • (2021)Subgraph Networks With Application to Structural Feature Space ExpansionIEEE Transactions on Knowledge and Data Engineering10.1109/TKDE.2019.295775533:6(2776-2789)Online publication date: 1-Jun-2021
  • (2020)An Empirical Study of Multi-discussing Pattern in Open-Source Software DevelopmentProceedings of the 12th Asia-Pacific Symposium on Internetware10.1145/3457913.3457914(1-10)Online publication date: 1-Nov-2020
  • (2020)NES-TL: Network Embedding Similarity-Based Transfer LearningIEEE Transactions on Network Science and Engineering10.1109/TNSE.2019.29423417:3(1607-1618)Online publication date: 1-Jul-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
FSE 2014: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering
November 2014
856 pages
ISBN:9781450330565
DOI:10.1145/2635868
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 November 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Markov entropy
  2. Time-series
  3. layered network
  4. sequence analysis
  5. structural complexity

Qualifiers

  • Research-article

Conference

SIGSOFT/FSE'14
Sponsor:

Acceptance Rates

Overall Acceptance Rate 17 of 128 submissions, 13%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)1
Reflects downloads up to 10 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2021)Subgraph Networks With Application to Structural Feature Space ExpansionIEEE Transactions on Knowledge and Data Engineering10.1109/TKDE.2019.295775533:6(2776-2789)Online publication date: 1-Jun-2021
  • (2020)An Empirical Study of Multi-discussing Pattern in Open-Source Software DevelopmentProceedings of the 12th Asia-Pacific Symposium on Internetware10.1145/3457913.3457914(1-10)Online publication date: 1-Nov-2020
  • (2020)NES-TL: Network Embedding Similarity-Based Transfer LearningIEEE Transactions on Network Science and Engineering10.1109/TNSE.2019.29423417:3(1607-1618)Online publication date: 1-Jul-2020
  • (2019)Socio-technical work-rate increase associates with changes in work patterns in online projectsProceedings of the 41st International Conference on Software Engineering10.1109/ICSE.2019.00099(936-947)Online publication date: 25-May-2019
  • (2019)Robustness Analysis of Bipartite Task Assignment Networks: A Case Study in Hospital Logistics SystemIEEE Access10.1109/ACCESS.2019.29142587(58484-58494)Online publication date: 2019
  • (2019)Reconstructing commuters network using machine learning and urban indicatorsScientific Reports10.1038/s41598-019-48295-x9:1Online publication date: 13-Aug-2019
  • (2019)Cross-project code clones in GitHubEmpirical Software Engineering10.1007/s10664-018-9648-z24:3(1538-1573)Online publication date: 1-Jun-2019
  • (2018)Social Synchrony on Complex NetworksIEEE Transactions on Cybernetics10.1109/TCYB.2017.269699848:5(1420-1431)Online publication date: May-2018
  • (2018)Modern Food Foraging Patterns: Geography and Cuisine Choices of Restaurant Patrons on YelpIEEE Transactions on Computational Social Systems10.1109/TCSS.2018.28196595:2(508-517)Online publication date: Jun-2018
  • (2018)Multi-Discussing across Issues in GitHub: A Preliminary Study2018 25th Asia-Pacific Software Engineering Conference (APSEC)10.1109/APSEC.2018.00055(406-415)Online publication date: Dec-2018
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media