Focus-shifting patterns of OSS developers and their congruence with call graphs
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.
Integrity signals
Registry
Cites
Statistics
Claims the paper makes
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
Developers seek information about how to use APIs, about data or control flow, and about requirements.
“These include the need for information about how to use APIs [10], about data or control flow [23,46], and about requirements [31].”
From Foraging and navigations, fundamentally: developers' predictions of value and cost (2016) · cites this paper as [46]
Cites
Jolliffe, I. T. (2005) · Wiley eBooks · doi:10.1002/0470013192.bsa501 · Cited by 14,522 · see citing works
Jolliffe, I. T. (1986) · Springer series in statistics · doi:10.1007/978-1-4757-1904-8 · Cited by 8,367 · see citing works
McCabe, T. J. (1976) · IEEE Transactions on Software Engineering · doi:10.1109/tse.1976.233837 · Cited by 6,059 · see citing works
Hahn, G. J., Draper, N. R., & Smith, H. C. (1982) · Technometrics · doi:10.2307/1267833 · Cited by 5,820 · see citing works
Design Rules: The Power of Modularity
Baldwin, C. Y., & Clark, K. B. (2000) · doi:10.7551/mitpress/2366.001.0001 · Cited by 3,504 · see citing works
Limits of Predictability in Human Mobility
Song, C., Qu, Z., Blumm, N., & Barabási, A.-L. (2010) · Science · doi:10.1126/science.1177170 · Cited by 3,234 · see citing works
Applied Regression Analysis (2nd ed).
de Carvalho, J. F., Draper, N. R., & Smith, H. (1981) · Journal of the American Statistical Association · doi:10.2307/2287608 · Cited by 3,054 · see citing works
The spread of behavior in an online social network experiment
Centola, D. (2010) · Science · doi:10.1126/science.1185231 · Cited by 2,692 · see citing works
The role of product architecture in the manufacturing firm
Ulrich, K. (2011) · Research Policy · doi:10.1016/0048-7333(94)00775-3 · Cited by 2,145 · see citing works
Quantifying social group evolution
Palla, G., Barabási, A.-Ĺ., & Vicsek, T. (2007) · Nature · doi:10.1038/nature05670 · Cited by 1,679 · see citing works
Social coding in GitHub: transparency and collaboration in an open software repository
Dabbish, L., Stuart, C., Tsay, J., & Herbsleb, J. (2012) · Proceedings of the ACM 2012 conference on Computer Supported Cooperative Work · doi:10.1145/2145204.2145396 · Cited by 999 · see citing works
Metrics and Models in Software Quality Engineering
Kan, S. H., & Thomas, B. (1994) · Cited by 813 · see citing works
MacCormack, A., Rusnak, J., & Baldwin, C. Y. (2006) · Management Science · doi:10.1287/mnsc.1060.0552 · Cited by 725 · see citing works
A safe, efficient regression test selection technique
Rothermel, G., & Harrold, M. J. (1997) · ACM Transactions on Software Engineering and Methodology · doi:10.1145/248233.248262 · Cited by 721 · see citing works
Ko, A. J., Myers, B. A., Coblenz, M. J., & Aung, H. H. (2006) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2006.116 · Cited by 685 · see citing works
Global Software Engineering: The Future of Socio-technical Coordination
Herbsleb, J. D. (2007) · Future of Software Engineering (FOSE) · doi:10.1109/fose.2007.11 · Cited by 643 · see citing works
Predicting defects using network analysis on dependency graphs
Zimmermann, T., & Nagappan, N. (2008) · Proceedings/Proceedings - International Conference on Software Engineering · doi:10.1145/1368088.1368161 · Cited by 583 · see citing works
Understanding open source software development
Feller, J., & Fitzgerald, B. F. (2002) · Cited by 501 · see citing works
Myers, C. R. (2003) · Physical review. E, Statistical physics, plasmas, fluids, and related interdisciplinary topics · doi:10.1103/physreve.68.046116 · Cited by 459 · see citing works
Using task context to improve programmer productivity
Kersten, M., & Murphy, G. C. (2006) · Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering · doi:10.1145/1181775.1181777 · Cited by 452 · see citing works
Predicting risk of software changes
Mockus, A., & Weiss, D. M. (2002) · Bell Labs Technical Journal · doi:10.1002/bltj.2229 · Cited by 431 · see citing works
Identification of coordination requirements
Cataldo, M., Wagstrom, P. A., Herbsleb, J. D., & Carley, K. M. (2006) · ACM Conference on Computer Supported Cooperative Work (CSCW) · doi:10.1145/1180875.1180929 · Cited by 400 · see citing works
Design Rules: The Power of Modularity Volume 1
Baldwin, C. Y., & Clark, K. B. (1999) · Cited by 358 · see citing works
Bird, C., Nagappan, N., Murphy, T. B., Gall, H. C., & Dévanbu, P. (2011) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/2025113.2025119 · Cited by 339 · see citing works
Latent social structure in open source projects
Bird, C., Pattison, D., D’Souza, R. M., Filkov, V., & Dévanbu, P. (2008) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/1453101.1453107 · Cited by 283 · see citing works
Self-citationSoftware Dependencies, Work Dependencies, and Their Impact on Failures
Cataldo, M., Mockus, A., Roberts, J. A., & Herbsleb, J. D. (2009) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2009.42 · Cited by 272 · see citing works
How effective developers investigate source code: an exploratory study
Robillard, M. P., Coelho, W., & Murphy, G. C. (2004) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2004.101 · Cited by 263 · see citing works
Incremental program testing using program dependence graphs
Bates, S., & Horwitz, S. (1993) · ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL) · doi:10.1145/158511.158694 · Cited by 223 · see citing works
Putting It All Together: Using Socio-technical Networks to Predict Failures
Bird, C., Nagappan, N., Gall, H. C., Murphy, T. B., & Dévanbu, P. (2009) · Proceedings/Proceedings - International Symposium on Software Reliability Engineering · doi:10.1109/issre.2009.17 · Cited by 207 · see citing works
Ownership, experience and defects
Rahman, F., & Dévanbu, P. (2011) · Proceedings/Proceedings - International Conference on Software Engineering · doi:10.1145/1985793.1985860 · Cited by 203 · see citing works
Zaidman, A., Rompaey, B. V., Arie Van Deursen, A., & Demeyer, S. (2010) · Empirical Software Engineering · doi:10.1007/s10664-010-9143-7 · Cited by 172 · see citing works
Coordination Breakdowns and Their Impact on Development Productivity and Software Failures
Cataldo, M., & Herbsleb, J. D. (2012) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2012.32 · Cited by 156 · see citing works
An entropy-based measure of software complexity
Harrison, W. A. (1992) · IEEE Transactions on Software Engineering · doi:10.1109/32.177371 · Cited by 151 · see citing works
How Programmers Debug, Revisited: An Information Foraging Theory Perspective
Lawrance, J., Bogart, C., Burnett, M., Bellamy, R., Rector, K., & Fleming, S. D. (2013) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2010.111 · Cited by 142 · see citing works
Automatic generation of suggestions for program investigation
Robillard, M. P. (2005) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/1081706.1081711 · Cited by 129 · see citing works
Exploring the neighborhood with dora to expedite software maintenance
Hill, E., Pollock, L., & Vijay‐Shanker, K. (2007) · doi:10.1145/1321631.1321637 · Cited by 117 · see citing works
Analyzing open-source software systems as complex networks
Zheng, X., Zeng, D. D., Li, H., & Wang, F. (2008) · Physica A Statistical Mechanics and its Applications · doi:10.1016/j.physa.2008.06.050 · Cited by 106 · see citing works
Studying the impact of dependency network measures on software quality
Nguyen, T., Adams, B., & Hassan, A. E. (2010) · Proceedings/Proceedings - Conference on Software Maintenance · doi:10.1109/icsm.2010.5609560 · Cited by 79 · see citing works
Cohesive and Isolated Development with Branches
Barr, E. T., Bird, C., Rigby, P. C., Hindle, A., Germán, D. M., & Dévanbu, P. (2012) · Lecture notes in computer science · doi:10.1007/978-3-642-28872-2_22 · Cited by 66 · see citing works
Software execution processes as an evolving complex network☆
Cai, K., & Yin, B. (2009) · Information Sciences · doi:10.1016/j.ins.2009.01.011 · Cited by 64 · see citing works
Saul, Z. M., Filkov, V., Dévanbu, P., & Bird, C. (2007) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/1287624.1287629 · Cited by 62 · see citing works
Self-citationDual Ecological Measures of Focus in Software Development
Posnett, D., Devanbu, P., & Filkov, V. (2013) · Cited by 61 · see citing works
Self-citationTheil index for aggregation of software metrics values
Serebrenik, A., & van den Brand, M. (2010) · Proceedings/Proceedings - Conference on Software Maintenance · doi:10.1109/icsm.2010.5609637 · Cited by 59 · see citing works
Vasilescu, B., Serebrenik, A., & van den Brand, M. (2011) · Proceedings/Proceedings - Conference on Software Maintenance · doi:10.1109/icsm.2011.6080798 · Cited by 52 · see citing works
Automatic generation of suggestions for program investigation
Robillard, M. P. (2005) · ACM SIGSOFT Software Engineering Notes · doi:10.1145/1095430.1081711 · Cited by 43 · see citing works
Collaboration In Software Engineering Projects: A Theory Of Coordination.
Herbsleb, J. D., & Roberts, J. A. (2006) · Cited by 39 · see citing works
Building it together: synchronous development in OSS
Xuan, Q., & Filkov, V. (2014) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/2568225.2568238 · Cited by 38 · see citing works
Self-citationAn Empirical Study on the Relation between Dependency Neighborhoods and Failures
Zimmerman, T., Nagappan, N., Herzig, K., Premraj, R., & Williams, L. A. (2011) · IEEE International Conference on Software Testing, Verification and Validation (ICST) · doi:10.1109/icst.2011.39 · Cited by 32 · see citing works
Xuan, Q., Gharehyazie, M., Dévanbu, P., & Filkov, V. (2012) · International Conference on Social Informatics (SocialInformatics) · doi:10.1109/socialinformatics.2012.17 · Cited by 27 · see citing works
Self-citationReaction-diffusion processes and metapopulation models on duplex networks
Xuan, Q., Du, F., Yu, L. J., & Chen, G. (2013) · Physical Review E · doi:10.1103/physreve.87.032809 · Cited by 24 · see citing works
Self-citationStructure visualization and analysis for software dependence network
Mao, C. (2011) · IEEE International Conference on Granular Computing (GrC) · doi:10.1109/grc.2011.6122637 · Cited by 4 · see citing works
Flagged first, then by citations
2 of the 53 references couldn’t be matched to a known paper.
Cited by
Sorted by citations
Some from Here, Some from There: Cross-Project Code Reuse in GitHub
Gharehyazie, M., Ray, B., & Filkov, V. (2017) · International Conference on Mining Software Repositories (MSR) · doi:10.1109/msr.2017.15 · Cited by 95 · see citing works
Self-citationReconstructing commuters network using machine learning and urban indicators
Spadon, G., de Carvalho, A. C. P. L. F., Rodrigues-Jr, J. F., & Alves, L. G. A. (2019) · Scientific Reports · doi:10.1038/s41598-019-48295-x · Cited by 81 · see citing works
The sky is not the limit: multitasking across GitHub projects
Vasilescu, B., Blincoe, K., Xuan, Q., Casalnuovo, C., Damian, D., Devanbu, P., & Filkov, V. (2016) · Proceedings of the 38th International Conference on Software Engineering · doi:10.1145/2884781.2884875 · Cited by 77 · see citing works
Self-citationJiang, J., Yang, Y., He, J., Blanc, X., & Zhang, L. (2017) · Information and Software Technology · doi:10.1016/j.infsof.2016.10.006 · Cited by 76 · see citing works
Social Synchrony on Complex Networks
Xuan, Q., Zhang, Z., Fu, C., Hu, H., & Filkov, V. (2017) · IEEE Transactions on Cybernetics · doi:10.1109/tcyb.2017.2696998 · Cited by 74 · see citing works
Self-citationSubgraph Networks With Application to Structural Feature Space Expansion
Xuan, Q., Wang, J., Zhao, M., Yuan, J., Fu, C., Ruan, Z., & Chen, G. (2019) · IEEE Transactions on Knowledge and Data Engineering · doi:10.1109/tkde.2019.2957755 · Cited by 67 · see citing works
Self-citationCoreDevRec: Automatic Core Member Recommendation for Contribution Evaluation
Jiang, J., He, J., & Chen, X. (2015) · Journal of Computer Science and Technology · doi:10.1007/s11390-015-1577-3 · Cited by 56 · see citing works
Collective transfer learning for defect prediction
Chen, J., Hu, K., Yang, Y., Liu, Y., & Xuan, Q. (2019) · Neurocomputing · doi:10.1016/j.neucom.2018.12.091 · Cited by 47 · see citing works
Self-citationTo fix or to learn? How production bias affects developers' information foraging during debugging
Piorkowski, D., Fleming, S. D., Scaffidi, C. P., Burnett, M., Kwan, I., Henley, A. Z., Macbeth, J., Hill, C., & Horvath, A. (2015) · IEEE International Conference on Software Maintenance (ICSM) · doi:10.1109/icsm.2015.7332447 · Cited by 37 · see citing works
Cross-project code clones in GitHub
Gharehyazie, M., Ray, B., Keshani, M., Zavosht, M. S., Heydarnoori, A., & Filkov, V. (2018) · Empirical Software Engineering · doi:10.1007/s10664-018-9648-z · Cited by 38 · see citing works
Self-citationForaging and navigations, fundamentally: developers' predictions of value and cost
Piorkowski, D., Henley, A. Z., Nabi, T., Fleming, S. D., Scaffidi, C., & Burnett, M. (2016) · Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering · doi:10.1145/2950290.2950302 · Cited by 38 · see citing works
Socio-Technical Work-Rate Increase Associates With Changes in Work Patterns in Online Projects
Sarker, F., Vasilescu, B., Blincoe, K., & Filkov, V. (2019) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1109/icse.2019.00099 · Cited by 21 · see citing works
Self-citationModern Food Foraging Patterns: Geography and Cuisine Choices of Restaurant Patrons on Yelp
Xuan, Q., Zhou, M., Zhang, Z., Fu, C., Xiang, Y., Wu, Z., & Filkov, V. (2018) · IEEE Transactions on Computational Social Systems · doi:10.1109/tcss.2018.2819659 · Cited by 21 · see citing works
Self-citationNES-TL: Network Embedding Similarity-Based Transfer Learning
Fu, C., Zheng, Y., Liu, Y., Xuan, Q., & Chen, G. (2019) · IEEE Transactions on Network Science and Engineering · doi:10.1109/tnse.2019.2942341 · Cited by 21 · see citing works
Self-citationConverging Work-Talk Patterns in Online Task-Oriented Communities
Xuan, Q., Dévanbu, P., & Filkov, V. (2016) · PLoS ONE · doi:10.1371/journal.pone.0154324 · Cited by 12 · see citing works
Self-citationExpert recommendation in oss projects based on knowledge embedding
Fu, C., Zhou, M., Xuan, Q., & Hu, H. (2017) · International Workshop on Complex Systems and Networks (IWCSN) · doi:10.1109/iwcsn.2017.8276520 · Cited by 10 · see citing works
Self-citation(2021) · Big data management · doi:10.1007/978-981-16-2609-8 · Cited by 10 · see citing works
Predicting the popularity of tags in StackExchange QA communities
Fu, C., Zheng, Y., Li, S., Xuan, Q., & Ruan, Z. (2017) · International Workshop on Complex Systems and Networks (IWCSN) · doi:10.1109/iwcsn.2017.8276510 · Cited by 9 · see citing works
Self-citationTracing distributed collaborative development in apache software foundation projects
Gharehyazie, M., & Filkov, V. (2016) · Empirical Software Engineering · doi:10.1007/s10664-016-9463-3 · Cited by 8 · see citing works
Self-citationZhang, W., Chen, Z., & Luo, B. (2018) · IEEE International Conference on Software Quality, Reliability and Security (QRS) · doi:10.1109/qrs.2018.00046 · Cited by 8 · see citing works
Multi-Discussing across Issues in GitHub: A Preliminary Study
Hu, D., Wang, T., Chang, J., Yin, G., & Zhang, Y. (2018) · Asia-Pacific Software Engineering Conference (APSEC) · doi:10.1109/apsec.2018.00055 · Cited by 7 · see citing works
Characterizing Individualized Coding Contributions of OSS Developers from Topic Perspective
Wang, Z., Perry, D. E., & Xu, X. (2016) · International Journal of Software Engineering and Knowledge Engineering · doi:10.1142/s021819401750005x · Cited by 3 · see citing works
Robustness Analysis of Bipartite Task Assignment Networks: A Case Study in Hospital Logistics System
Xuan, Q., Yu, Y., Chen, J., Ruan, Z., Fu, Z., & Lv, Z. (2019) · IEEE Access · doi:10.1109/access.2019.2914258 · Cited by 3 · see citing works
Self-citationMultitasking Across Industry Projects: A Replication StudyPreprint
Kohl, K., Vasilescu, B., & Prikladnicki, R. (2020) · arXiv (Cornell University) · doi:10.48550/arxiv.2006.12636
An Empirical Study of Multi-discussing Pattern in Open-Source Software Development
Yang, C., Hu, D., Zhang, Y., Wang, T., & Yu, Y. (2020) · Asia-Pacific Symposium on Internetware · doi:10.1145/3457913.3457914
Jain, S., Rasool, S. N., & Singh, A. V. (2026) · Journal of Information Systems and Telecommunication (JIST) · doi:10.66224/jist.50944.14.0.39
- Authors
- Xuan, Q., Okano, A., Devanbu, P., & Filkov, V.
- Affiliations
- Zhejiang University of Technology (CN)
- University of California, Davis (US)
- University of California at Davis, USA
- Venue
- Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering
- Publisher
- ACM
- Published
- 2014-11-11
- Pages
- 401-412
- OpenAlex
- W1992375688
- Cited by
- 27
- References
- 53
- Citations by year
- 2026: 1 · 2021: 2 · 2020: 2 · 2019: 6 · 2018: 4 · 2017: 5 · 2016: 5 · 2015: 2
- FWCI
- 3.41
- Type
- conference paper
- Language
- en
- Open access
- closed
- Locations
- ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) (publishedVersion)
- Funders
- National Natural Science Foundation of China
- China Scholarship Council
- Air Force Office of Scientific Research
- Topics
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Physical Sciences › Computer Science › Computer Science Applications › Open Source Software Innovations
- Physical Sciences › Computer Science › Information Systems › Software Engineering Techniques and Practices
- Keywords
- open source software, call graph, developer behavior, commit activity, developer productivity, organizational distance, recommender systems
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review