Decomposing the Rationale of Code Commits: The Software Developer’s Perspective.

dc.contributor.authorAl Safwan, Khadijah
dc.contributor.authorServant-Cortés, Francisco Javier
dc.date.accessioned2024-10-21T10:06:44Z
dc.date.available2024-10-21T10:06:44Z
dc.date.issued2019
dc.departamentoInstituto de Tecnología e Ingeniería del Software de la Universidad de Málaga
dc.descriptionhttps://www.acm.org/publications/openaccess#h-green-open-accesses_ES
dc.descriptionCorreo 25/10/24
dc.description.abstractCommunicating the rationale behind decisions is essential for the success of software engineering projects. In particular, understanding the rationale of code commits is an important and often difficult task. We posit that part of such difficulty lies in rationale often being treated as a single piece of information. In this paper, we set to discover the breakdown of components in which developers decompose the rationale of code commits in the context of software maintenance, and to understand their experience with it and with its individual components. For this goal, we apply a mixed-methods approach, interviewing 20 software developers to ask them how they decompose rationale, and surveying an additional 24 developers to understand their experiences needing, finding, and recording those components. We found that developers decompose the rationale of code commits into 15 components, each of which is differently needed, found, and recorded. These components are: goal, need, benefits, constraints, alternatives, selected alternative, dependencies, committer, time, location, modifications, explanation of modifications, validation, maturity stage, and side effects. Our findings provide multiple implications. Educators can now disseminate the multiple dimensions and importance of the rationale of code commits. For practitioners, our decomposition of rationale defines a “common vocabulary” to use when discussing rationale of code commits, which we expect to strengthen the quality of their rationale sharing and documentation process. For researchers, our findings enable techniques for automatically assessing, improving, and generating rationale of code commits to specifically target the components that developers need.es_ES
dc.identifier.citationDecomposing the rationale of code commits: the software developer’s perspective. In Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2019). Association for Computing Machinery, New York, NY , USA, 397–408es_ES
dc.identifier.urihttps://hdl.handle.net/10630/34843
dc.language.isoenges_ES
dc.publisherAssociation for Computing Machinery (ACM)es_ES
dc.relation.eventdate26/08/2019es_ES
dc.relation.eventplaceTallinn, Estoniaes_ES
dc.relation.eventtitleInternational Symposium on the Foundations of Software Engineering (FSE)es_ES
dc.rightsAttribution-NonCommercial-NoDerivatives 4.0 Internacional*
dc.rights.accessRightsopen accesses_ES
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0/*
dc.subjectIngeniería del softwarees_ES
dc.subjectSoporte lógico - Mantenimientoes_ES
dc.subject.otherSoftware maintenancees_ES
dc.subject.otherSoftware evolutiones_ES
dc.subject.otherProgram comprehensiones_ES
dc.titleDecomposing the Rationale of Code Commits: The Software Developer’s Perspective.es_ES
dc.typejournal articlees_ES
dc.type.hasVersionAM
dspace.entity.typePublication
relation.isAuthorOfPublicationb5f2808e-94a0-4ab9-ba6e-9e121af1dd03
relation.isAuthorOfPublication.latestForDiscoveryb5f2808e-94a0-4ab9-ba6e-9e121af1dd03

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
2019-FSE-AlSafwan-3-self-archival1.pdf
Size:
1.85 MB
Format:
Adobe Portable Document Format
Description:

Collections