Skip navigation
Skip navigation

Inference of development activities from interaction with uninstrumented applications

Bao, Lingfeng; Xing, Zhenchang; Xia, Xin; Lo, David; Hassan, Ahmed

Description

Studying developers’ behavior in software development tasks is crucial for designing effective techniques and tools to support developers’ daily work. In modern software development, developers frequently use different applications including IDEs, Web Browsers, documentation software (such as Office Word, Excel, and PDF applications), and other tools to complete their tasks. This creates significant challenges in collecting and analyzing developers’ behavior data. Researchers usually instrument...[Show more]

dc.contributor.authorBao, Lingfeng
dc.contributor.authorXing, Zhenchang
dc.contributor.authorXia, Xin
dc.contributor.authorLo, David
dc.contributor.authorHassan, Ahmed
dc.date.accessioned2020-01-10T03:44:51Z
dc.date.available2020-01-10T03:44:51Z
dc.identifier.citationBao, L., Xing, Z., Xia, X. et al. Inference of development activities from interaction with uninstrumented applications. Empir Software Eng 23, 1313–1351 (2018) doi:10.1007/s10664-017-9547-8
dc.identifier.issn1382-3256
dc.identifier.urihttp://hdl.handle.net/1885/196882
dc.description.abstractStudying developers’ behavior in software development tasks is crucial for designing effective techniques and tools to support developers’ daily work. In modern software development, developers frequently use different applications including IDEs, Web Browsers, documentation software (such as Office Word, Excel, and PDF applications), and other tools to complete their tasks. This creates significant challenges in collecting and analyzing developers’ behavior data. Researchers usually instrument the software tools to log developers’ behavior for further studies. This is feasible for studies on development activities using specific software tools. However, instrumenting all software tools commonly used in real work settings is difficult and requires significant human effort. Furthermore, the collected behavior data consist of low-level and fine-grained event sequences, which must be abstracted into high-level development activities for further analysis. This abstraction is often performed manually or based on simple heuristics. In this paper, we propose an approach to address the above two challenges in collecting and analyzing developers’ behavior data. First, we use our ActivitySpace framework to improve the generalizability of the data collection. ActivitySpace uses operating-system level instrumentation to track developer interactions with a wide range of applications in real work settings. Secondly, we use a machine learning approach to reduce the human effort to abstract low-level behavior data. Specifically, considering the sequential nature of the interaction data, we propose a Condition Random Field (CRF) based approach to segment and label the developers’ low-level actions into a set of basic, yet meaningful development activities. To validate the generalizability of the proposed data collection approach, we deploy the ActivitySpace framework in an industry partner’s company and collect the real working data from ten professional developers’ one-week work in three actual software projects. The experiment with the collected data confirms that with initial human-labeled training data, the CRF model can be trained to infer development activities from low-level actions with reasonable accuracy within and across developers and software projects. This suggests that the machine learning approach is promising in reducing the human efforts required for behavior data analysis.
dc.description.sponsorshipThis work was partially supported by NSFC Program (No. 61602403 and 61572426).
dc.format.mimetypeapplication/pdf
dc.language.isoen_AU
dc.publisherKluwer Academic Publishers
dc.rights© 2017 Springer Nature Switzerland AG
dc.sourceEmpirical Software Engineering
dc.titleInference of development activities from interaction with uninstrumented applications
dc.typeJournal article
local.description.notesImported from ARIES
local.identifier.citationvolume23
dc.date.issued2017-09-16
local.identifier.absfor080608 - Information Systems Development Methodologies
local.identifier.ariespublicationu4351680xPUB133
local.publisher.urlhttps://link.springer.com/
local.type.statusMetadata only
local.contributor.affiliationBao, Lingfeng, Zhejiang University
local.contributor.affiliationXing, Zhenchang, College of Engineering and Computer Science, ANU
local.contributor.affiliationXia, Xin, Zhejiang University
local.contributor.affiliationLo, David, Singapore Management University
local.contributor.affiliationHassan, Ahmed, Queen’s University
local.bibliographicCitation.startpage1313
local.bibliographicCitation.lastpage1351
local.identifier.doi10.1007/s10664-017-9547-8
dc.date.updated2019-08-25T08:19:25Z
local.identifier.scopusID2-s2.0-85029475777
local.identifier.thomsonID000433532300005
CollectionsANU Research Publications

Download

There are no files associated with this item.


Items in Open Research are protected by copyright, with all rights reserved, unless otherwise indicated.

Updated:  19 May 2020/ Responsible Officer:  University Librarian/ Page Contact:  Library Systems & Web Coordinator