Characterizing and Understanding Development Sessions
Abstract
The understanding of development sessions, the phases during which a developer actively modifies a software system, is a valuable asset for program comprehension, since the sessions directly impact the current state and future evolution of a software system. Such information is usually lost by state-of-the-art versioning systems, because of the checkin/checkout model they rely on: a developer must explicitly commit his changes to the repository. Since this happens in arbitrary and sometimes long intervals, recovering the changes between two commits is difficult and inaccurate, and recovering the order of the changes is impossible. We have implemented an evolution monitoring prototype which records every semantic change performed on a system, and is able to completely reconstruct development sessions. In this paper we use this fine-grained information to understand and characterize the development sessions as they were carried out on two object-oriented systems.
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?
Activity Theory models consider interruptions after ~3 minutes of sustained attention at action level and after ~12 minutes at activity level.
“This study presented work fragmentation at two different levels: actions and activities.Interruptions originated after a period of around three minutes of sustained attention to the previous action were considered when people were switching at the level of interactions with artifacts of people.Interruptions originated after a period of twelve minutes of sustained attention to a previous activity w”
From Work fragmentation in developer interaction data (2017) · cites this paper as [33]
Cites
(1994) · Cited by 21,711 · see citing works
Refactoring: Improving the Design of Existing Code
Fowler, M. (2002) · Lecture notes in computer science · doi:10.1007/3-540-45672-4_31 · Cited by 5,615 · see citing works
Refactoring improving the design of existing code
Saca, M. A. (2017) · IEEE Central America and Panama Convention (CONCAPAN) · doi:10.1109/concapan.2017.8278488 · Cited by 2,077 · see citing works
How Buildings Learn: What Happens After They're Built
Brand, S. (1997) · Cited by 1,336 · see citing works
Mining version histories to guide software changes
Zimmermann, T., Zeller, A., Weißgerber, P., & Diehl, S. (2005) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2005.72 · Cited by 869 · see citing works
Program Evolution: Processes of Software Change
Lehman, M. M., & Belady, L. A. (1985) · CERN Document Server (European Organization for Nuclear Research) · Cited by 809 · see citing works
Mining Version Histories to Guide Software Changes
Zimmermann, T., Member, S., Weißgerber, P., Diehl, S., Zeller, A., & Ieee Computer Society (2004) · Cited by 490 · see citing works
Mining version histories to guide software changes
Zimmermann, T., Weibgerber, P., Diehl, S., & Zeller, A. (2004) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1109/icse.2004.1317478 · Cited by 322 · see citing works
Hipikat: recommending pertinent software development artifacts
Čubranić, D., & Murphy, G. C. (2003) · doi:10.5555/776816.776866 · Cited by 317 · see citing works
Hipikat: recommending pertinent software development artifacts
Čubranić, D., & Murphy, G. C. (2003) · Proceedings/Proceedings - International Conference on Software Engineering · doi:10.1109/icse.2003.1201219 · Cited by 174 · see citing works
Software evolution observations based on product release history
Gall, H. C., Jazayeri, M., KLÖSCH, R. R., & Trausmuth, G. (1997) · International Conference on Software Maintenance · doi:10.1109/icsm.1997.624242 · Cited by 150 · see citing works
Gîrba, T., Ducasse, S., & Lanza, M. (2004) · Proceedings/Proceedings - Conference on Software Maintenance · doi:10.1109/icsm.2004.1357788 · Cited by 133 · see citing works
Self-citationNavTracks: supporting navigation in software maintenance
Singer, J., Elves, R., & Storey, M.-A. (2005) · IEEE International Conference on Software Maintenance (ICSM) · doi:10.1109/icsm.2005.66 · Cited by 119 · see citing works
A Change-based Approach to Software Evolution
Robbes, R., & Lanza, M. (2006) · Electronic Notes in Theoretical Computer Science · doi:10.1016/j.entcs.2006.06.015 · Cited by 115 · see citing works
Self-citationProgram element matching for multi-version program analyses
Kim, M., & Notkin, D. S. (2006) · doi:10.1145/1137983.1137999 · Cited by 106 · see citing works
Future trends in software evolution metrics
Mens, T., & Demeyer, S. (2002) · International Workshop on Principles of Software Evolution · doi:10.1145/602461.602476 · Cited by 98 · see citing works
Studying software evolution information by visualizing the change history
Rysselberghe, F. V., & Demeyer, S. (2004) · IEEE International Conference on Software Maintenance (ICSM) · doi:10.1109/icsm.2004.1357818 · Cited by 85 · see citing works
Building Usage Contexts During Program Comprehension
Parnin, C., & Görg, C. (2006) · IEEE International Conference on Program Comprehension (ICPC) · doi:10.1109/icpc.2006.14 · Cited by 77 · see citing works
Śliwerski, J., Zimmermann, T., & Zeller, A. (2005) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/1081706.1081725 · Cited by 55 · see citing works
Versioning Systems for Evolution Research
Robbes, R., & Lanza, M. (2006) · International Workshop on Principles of Software Evolution · doi:10.1109/iwpse.2005.32 · Cited by 49 · see citing works
Self-citationDetecting and Visualizing Refactorings from Software Archives
Görg, C., & Weißgerber, P. (2005) · IEEE International Conference on Program Comprehension (ICPC) · doi:10.1109/wpc.2005.18 · Cited by 49 · see citing works
An Approach to Software Evolution Based on Semantic Change
Robbes, R., Lanza, M., & Lungu, M. F. (2007) · Springer eBooks · doi:10.1007/978-3-540-71289-3_4 · Cited by 37 · see citing works
Self-citationFuture trends in software evolution metrics
Mens, T., & Demeyer, S. (2002) · International Workshop on Principles of Software Evolution · doi:10.1145/602472.602476 · Cited by 23 · see citing works
Enriching revision history with interactions
Parnin, C., Görg, C., & Rugaber, S. (2006) · International Conference on Mining Software Repositories (MSR) · doi:10.1145/1137983.1138019 · Cited by 13 · see citing works
Flagged first, then by citations
Cited by
Sorted by citations
Non-essential changes in version histories
Kawrykow, D., & Robillard, M. P. (2011) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/1985793.1985842 · Cited by 170 · see citing works
How Program History Can Improve Code Completion
Robbes, R., & Lanza, M. (2008) · 2008 23rd IEEE/ACM International Conference on Automated Software Engineering · doi:10.1109/ase.2008.42 · Cited by 155 · see citing works
Self-citationResumption strategies for interrupted programming tasks
Parnin, C., & Rugaber, S. (2011) · Software Quality Journal · doi:10.1007/s11219-010-9104-9 · Cited by 103 · see citing works
Improving code completion with program history
Robbes, R., & Lanza, M. (2010) · Automated Software Engineering · doi:10.1007/s10515-010-0064-x · Cited by 95 · see citing works
Self-citationRobbes, R., & Lanza, M. (2008) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/1368088.1368219 · Cited by 81 · see citing works
Self-citationDeveloper Micro Interaction Metrics for Software Defect Prediction
Lee, T., Nam, J., Han, D., Kim, S., & In, H. P. (2016) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2016.2550458 · Cited by 66 · see citing works
Continuously mining distributed version control systems: an empirical study of how Linux uses Git
Germán, D. M., Adams, B., & Hassan, A. E. (2015) · Empirical Software Engineering · doi:10.1007/s10664-014-9356-2 · Cited by 48 · see citing works
The Influence of the Task on Programmer Behaviour
Ying, A. T. T., & Robillard, M. P. (2011) · 2011 IEEE 19th International Conference on Program Comprehension · doi:10.1109/icpc.2011.35 · Cited by 41 · see citing works
Collecting and Processing Interaction Data for Recommendation Systems
Maalej, W., Fritz, T., & Robbes, R. (2013) · Springer eBooks · doi:10.1007/978-3-642-45135-5_7 · Cited by 37 · see citing works
Self-citationVisualizing Developer Interactions
Minelli, R., Mocci, A., Lanza, M., & Baracchi, L. (2014) · IEEE Working Conference on Software Visualization (VISSOFT) · doi:10.1109/vissoft.2014.31 · Cited by 36 · see citing works
Self-citationSoftware Evolution Comprehension: Replay to the Rescue
Hattori, L., D’Ambros, M., Lanza, M., & Lungu, M. F. (2011) · IEEE International Conference on Program Comprehension (ICPC) · doi:10.1109/icpc.2011.39 · Cited by 35 · see citing works
Self-citationExample-Based Program Transformation
Robbes, R., & Lanza, M. (2008) · Lecture notes in computer science · doi:10.1007/978-3-540-87875-9_13 · Cited by 32 · see citing works
Self-citationCombining micro-blogging and IDE interactions to support developers in their quests
Guzzi, A., Pinzger, M., & Arie Van Deursen, A. (2010) · IEEE International Conference on Software Maintenance (ICSM) · doi:10.1109/icsm.2010.5609683 · Cited by 31 · see citing works
An empirical study of work fragmentation in software evolution tasks
Sanchez, H., Robbes, R., & González, V. M. (2015) · IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER) · doi:10.1109/saner.2015.7081835 · Cited by 31 · see citing works
Self-citationPatterns of developers behaviour: A 1000-hour industrial study
Astromskis, S., Bavota, G., Janes, A., Russo, B., & Penta, M. D. (2017) · Journal of Systems and Software · doi:10.1016/j.jss.2017.06.072 · Cited by 30 · see citing works
Refactoring-based support for binary compatibility in evolving frameworks
Şavga, I., & Rudolf, M. (2007) · International Conference on Generative Programming and Component Engineering (GPCE) · doi:10.1145/1289971.1290000 · Cited by 28 · see citing works
Resumption strategies for interrupted programming tasks
Parnin, C., & Rugaber, S. (2009) · 2009 IEEE 17th International Conference on Program Comprehension · doi:10.1109/icpc.2009.5090030 · Cited by 24 · see citing works
Quantifying Program Comprehension with Interaction Data
Minelli, R., Mocci, A., Lanza, M., & Kobayashi, T. (2014) · Asia-Pacific Conference on Quality Software (APAQS) · doi:10.1109/qsic.2014.11 · Cited by 23 · see citing works
Self-citationAn Empirical Study on Refactoring-Inducing Pull Requests
Coelho, F., Tsantalis, N., Massoni, T. L., & Alves, E. L. G. (2021) · Proceedings of the ... ACM-IEEE International Symposium on Empirical Software Engineering and Measurement/International Symposium on Empirical Software Engineering and Measurement · doi:10.1145/3475716.3475785 · Cited by 22 · see citing works
Answering software evolution questions: An empirical evaluation
Hattori, L., D’Ambros, M., Lanza, M., & Lungu, M. F. (2012) · Information and Software Technology · doi:10.1016/j.infsof.2012.09.001 · Cited by 21 · see citing works
Self-citationVisualizing the workflow of developers
Minelli, R., & Lanza, M. (2013) · IEEE Working Conference on Software Visualization (VISSOFT) · doi:10.1109/vissoft.2013.6650531 · Cited by 21 · see citing works
Self-citationSteinert, B., Cassou, D., & Hirschfeld, R. (2012) · Symposium on Dynamic Languages (DLS) · doi:10.1145/2384577.2384591 · Cited by 19 · see citing works
An environment for synchronous software development
Hattori, L., & Lanza, M. (2009) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1109/icse-companion.2009.5070987 · Cited by 19 · see citing works
Self-citationThe Impact of View Histories on Edit Recommendations
Lee, S., Kang, S., Kim, S., & Staats, M. (2014) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2014.2362138 · Cited by 17 · see citing works
Slicing Fine-Grained Code Change History
Maruyama, K., OMORI, T., & Hayashi, S. (2016) · IEICE Transactions on Information and Systems · doi:10.1587/transinf.2015edp7282 · Cited by 17 · see citing works
Changes as First-Class Citizens
Soetens, Q. D., Robbes, R., & Demeyer, S. (2017) · ACM Computing Surveys · doi:10.1145/3038926 · Cited by 16 · see citing works
Self-citationRefactoring-Aware Code Review: A Systematic Mapping Study
Coelho, F., Massoni, T. L., & Alves, E. L. G. (2019) · IEEE/ACM International Workshop on Refactoring (IWoR) · doi:10.1109/iwor.2019.00019 · Cited by 16 · see citing works
Replaying past changes in multi-developer projects
Hattori, L., Lungu, M. F., & Lanza, M. (2010) · doi:10.1145/1862372.1862379 · Cited by 15 · see citing works
Self-citationAn editing-operation replayer with highlights supporting investigation of program modifications
Omori, T., & Maruyama, K. (2011) · doi:10.1145/2024445.2024464 · Cited by 14 · see citing works
Towards recognizing and rewarding efficient developer work patterns
Snipes, W., Augustine, V., Nair, A., & Murphy-Hill, E. R. (2013) · doi:10.5555/2486788.2486983 · Cited by 12 · see citing works
Developer Profiles for Recommendation Systems
Ying, A. T. T., & Robillard, M. P. (2013) · Springer eBooks · doi:10.1007/978-3-642-45135-5_8 · Cited by 11 · see citing works
Untangling development tasks with software developer's activity
Konôpka, M., & Návrat, P. (2015) · Journal of college student development · doi:10.5555/2819366.2819372 · Cited by 10 · see citing works
Change-Enabled Software Systems
Nierstrasz, O., Denker, M., Gîrba, T., Lienhard, A., & Röthlisberger, D. (2008) · Lecture notes in computer science · doi:10.1007/978-3-540-89437-7_3 · Cited by 10 · see citing works
Visual Storytelling of Development Sessions
Minelli, R., Baracchi, L., Mocci, A., & Lanza, M. (2014) · IEEE International Conference on Software Maintenance (ICSM) · doi:10.1109/icsme.2014.65 · Cited by 9 · see citing works
Self-citationTowards Change-aware Development Tools
Robbes, R., & Lanza, M. (2007) · reroDoc Digital Library · Cited by 8 · see citing works
Self-citationUntangling Development Tasks with Software Developer's Activity
Konôpka, M., & Návrat, P. (2015) · doi:10.1109/csd.2015.10 · Cited by 8 · see citing works
Pre-implementation Method Name Prediction for Object-oriented Programming
Wang, S., Wen, M., Lin, B., Liu, Y., Bissyandé, T. F., & Mao, X. (2023) · ACM Transactions on Software Engineering and Methodology · doi:10.1145/3597203 · Cited by 7 · see citing works
Work fragmentation in developer interaction data
Cruz, L. C., Sanchez, H., González, V. M., & Robbes, R. (2017) · Journal of Software: Evolution and Process · doi:10.1002/smr.1839 · Cited by 6 · see citing works
Self-citationClustering navigation sequences to create contexts for guiding code navigation
Lee, S., & Kang, S. (2013) · Journal of Systems and Software · doi:10.1016/j.jss.2013.03.103 · Cited by 6 · see citing works
A Benchmark for Change Prediction
Robbes, R., Lanza, M., & Pollet, D. (2008) · reroDoc Digital Library · Cited by 6 · see citing works
Self-citationIdentifying Stagnation Periods in Software Evolution by Replaying Editing Operations
Omori, T., & Maruyama, K. (2009) · Asia-Pacific Software Engineering Conference (APSEC) · doi:10.1109/apsec.2009.50 · Cited by 6 · see citing works
Towards recognizing and rewarding efficient developer work patterns
Snipes, W., Augustine, V., Nair, A. R., & Murphy-Hill, E. R. (2013) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1109/icse.2013.6606697 · Cited by 6 · see citing works
Enabling precise interpretations of software change data
Kawrykow, D. (2012) · eScholarship@McGill (McGill) · doi:10.82308/10213 · Cited by 6 · see citing works
Taeumel, M., Platz, S., Steinert, B., Hirschfeld, R., & Masuhara, H. (2017) · Tokyo Tech Research Repository (Tokyo Institute of Technology) · doi:10.11185/imt.12.24 · Cited by 5 · see citing works
Steinert, B., Cassou, D., & Hirschfeld, R. (2012) · ACM SIGPLAN Notices · doi:10.1145/2480360.2384591 · Cited by 4 · see citing works
Steinert, B., Cassou, D., & Hirschfeld, R. (2013) · publish.UP (University of Potsdam) · Cited by 4 · see citing works
Visualization of aggregated information to support class-level software evolution
Rahimi, M., & Vierhauser, M. (2022) · Journal of Systems and Software · doi:10.1016/j.jss.2022.111421 · Cited by 3 · see citing works
Rzanny, P., & Ochodek, M. (2025) · ACM Computing Surveys · doi:10.1145/3767321 · Cited by 4 · see citing works
Visualizing Developers Interactions with the IDE
Baracchi, L. (2014)
(2015) · International Journal of Science and Research (IJSR) · doi:10.21275/v4i11.nov151715
Rzanny, P., Matuszewski, M., Maćkowiak, M., & Ochodek, M. (2026) · Lecture notes in computer science · doi:10.1007/978-3-032-36590-3_29
- Authors
- Robbes, R., & Lanza, M.
- Affiliations
- Università della Svizzera italiana (CH)
- ORCID
- Venue
- 15th IEEE International Conference on Program Comprehension (ICPC '07)
- Publisher
- IEEE
- Published
- 2007-06
- Pages
- 155-166
- OpenAlex
- W2121459566
- Cited by
- 51
- References
- 24
- Citations by year
- 2026: 1 · 2025: 1 · 2023: 1 · 2022: 1 · 2021: 1 · 2019: 1 · 2017: 4 · 2016: 2 · 2015: 5 · 2014: 5 · 2013: 7 · 2012: 4
- FWCI
- 3.39
- Type
- conference paper
- Language
- en
- Open access
- closed
- Locations
- IEEE International Conference on Program Comprehension (ICPC) (publishedVersion)
- Open Research (University of Surrey) (submittedVersion)
- Topics
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Physical Sciences › Computer Science › Information Systems › Software Engineering Techniques and Practices
- Physical Sciences › Computer Science › Artificial Intelligence › Advanced Software Engineering Methodologies
- Keywords
- program comprehension, version control, object-oriented software, software evolution
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