Inference of development activities from interaction with uninstrumented applications

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...

Full description

Saved in:
Bibliographic Details
Main Authors: BAO, Lingfeng, XING, Zhenchang, XIA, Xin, LO, David, HASSAN, Ahmed E.
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2018
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/3784
https://ink.library.smu.edu.sg/context/sis_research/article/4786/viewcontent/101007_2Fs10664_017_9547_8.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-4786
record_format dspace
spelling sg-smu-ink.sis_research-47862020-01-21T08:38:24Z Inference of development activities from interaction with uninstrumented applications BAO, Lingfeng XING, Zhenchang XIA, Xin LO, David HASSAN, Ahmed E. 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 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. 2018-06-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/3784 info:doi/10.1007/s10664-017-9547-8 https://ink.library.smu.edu.sg/context/sis_research/article/4786/viewcontent/101007_2Fs10664_017_9547_8.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Condition Random Field Developers’ interaction data Software development Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic Condition Random Field
Developers’ interaction data
Software development
Software Engineering
spellingShingle Condition Random Field
Developers’ interaction data
Software development
Software Engineering
BAO, Lingfeng
XING, Zhenchang
XIA, Xin
LO, David
HASSAN, Ahmed E.
Inference of development activities from interaction with uninstrumented applications
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 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.
format text
author BAO, Lingfeng
XING, Zhenchang
XIA, Xin
LO, David
HASSAN, Ahmed E.
author_facet BAO, Lingfeng
XING, Zhenchang
XIA, Xin
LO, David
HASSAN, Ahmed E.
author_sort BAO, Lingfeng
title Inference of development activities from interaction with uninstrumented applications
title_short Inference of development activities from interaction with uninstrumented applications
title_full Inference of development activities from interaction with uninstrumented applications
title_fullStr Inference of development activities from interaction with uninstrumented applications
title_full_unstemmed Inference of development activities from interaction with uninstrumented applications
title_sort inference of development activities from interaction with uninstrumented applications
publisher Institutional Knowledge at Singapore Management University
publishDate 2018
url https://ink.library.smu.edu.sg/sis_research/3784
https://ink.library.smu.edu.sg/context/sis_research/article/4786/viewcontent/101007_2Fs10664_017_9547_8.pdf
_version_ 1770573732616601600