Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2661136.2661144acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Capturing and Exploiting IDE Interactions

Published: 14 October 2014 Publication History

Abstract

Integrated development environments (IDEs) dominate the production and maintenance of software. Developers interact intensively with their IDEs while working. These interactions reflect a developer's thought process and work habits. By capturing and exploiting comprehensive, fine-grained IDE interactions, we can build intelligent IDEs that improve programmer productivity. This next generation of IDEs will incorporate a general framework to capture and exploit IDE interactions, and create an ecosystem of developer-aware applications and plugins. IDE++ realizes this framework on top of the popular Eclipse IDE and can be downloaded from the Eclipse marketplace. To demonstrate IDE++'s comprehensive and granular capture of interactions, we capture, then faithfully replay, a developer's IDE actions on six nontrivial programming tasks. We built four applications upon IDE++ to illustrate 1) the need for capturing comprehensive, fine-grained IDE interactions, and 2) the promise of developer-aware IDEs.

References

[1]
G. Anja, H. Lile, L. Michele, P. Martin, and D. Arie van. Collective code bookmarks for program comprehension. In ICPC, 2011.
[2]
B. Boehm. Software Engineering Economics. Prentice Hall, 1981.
[3]
Y. Brun, R. Holmes, M. D. Ernst, and D. Notkin. Speculative analysis: exploring future development states of software. In FSE, 2010.
[4]
Y. Brun, R. Holmes, M. D. Ernst, and D. Notkin. Proactive detection of collaboration conflicts. In FSE, 2011.
[5]
B. de Alwis, G. Murphy, and M. Robillard. A comparative study of three program exploration tools. In Program Comprehension, 2007. ICPC '07. 15th IEEE International Conference on, pages 103--112, June 2007.
[6]
R. DeLine, M. Czerwinski, and G. G. Robertson. Easing program comprehension by sharing navigation data. In VL/HCC, pages 241--248, 2005.
[7]
M. Ekstrand, W. Li, T. Grossman, J. Matejka, and G. Fitzmaurice. Searching for software learning resources using application context. In Proceedings of the 24th annual ACM symposium on User interface software and technology, UIST '11, pages 195--204, New York, NY, USA, 2011. ACM.
[8]
J. S. Foster, M. Fähndrich, and A. Aiken. A theory of type qualifiers. In PLDI, 1999.
[9]
T. Fritz, G. Murphy, and E. Hill. Does a programmer's activity indicate knowledge of code? In FSE, 2007.
[10]
A. Guzzi, M. Pinzger, and A. van Deursen. Combining Micro-Blogging and IDE interactions to support developers in their quests. In ICSM, 2010.
[11]
A. Halevy, P. Norvig, and F. Pereira. The unreasonable effectiveness of data. IEEE Intelligent Systems, 24(2):8--12, Mar. 2009.
[12]
J. S. Hammond. IDE usage trends, 2008.
[13]
E. Horvitz, J. Breese, D. Heckerman, D. Hovel, and K. Rommelse. The lumière project: Bayesian user modeling for inferring the goals and needs of software users. In In Proceedings of the Fourteenth Conference on Uncertainty in Artificial Intelligence, pages 256--265. Morgan Kaufmann, 1998.
[14]
J. A. Jones, M. J. Harrold, and J. Stasko. Visualization of test information to assist fault localization. In ICSE, 2002.
[15]
M. Kamkar, N. Shahmehri, and P. Fritzson. Bug localization by algorithmic debugging and program slicing. In PLILP, 1990.
[16]
M. Kersten and G. C. Murphy. Using task context to improve programmer productivity. In FSE, 2006.
[17]
R. B. Kline and A. Seffah. Evaluation of integrated software development environments: Challenges and results from three empirical studies. Int. J. Hum.-Comput. Stud., 63(6):607--27, Dec. 2005.
[18]
A. Ko, B. Myers, M. Coblenz, and H. Aung. An exploratory study of how developers seek, relate, and collect relevant information during software maintenance tasks. IEEE TSE, 2006.
[19]
T. Lee, J. Nam, D. Han, S. Kim, and H. In. Micro interaction metrics for defect prediction. In FSE, 2011.
[20]
B. Liblit, A. Aiken, A. X. Zheng, and M. I. Jordan. Bug isolation via remote program sampling. In PLDI, 2003.
[21]
C. Liu, X. Yan, L. Fei, J. Han, and S. P. Midkiff. SOBER: statistical model-based bug localization. In FSE, 2005.
[22]
G. C. Murphy, M. Kersten, and L. Findlater. How are Java software developers using the Elipse IDE? IEEE TSE, 2006.
[23]
J. Newsome and D. X. Song. Dynamic taint analysis for automatic detection, analysis, and signature generation of exploits on commodity software. In NDSS, 2005.
[24]
R. Purandare, M. B. Dwyer, and S. Elbaum. Monitor optimization via stutter-equivalent loop transformation. In OOPSLA, 2010.
[25]
R. Robbes and M. Lanza. How program history can improve code completion. In ASE, 2008.
[26]
R. Robbes and M. Lanza. SpyWare: a change-aware development toolset. In ICSE, 2008.
[27]
T. Roehm, R. Tiarks, R. Koschke, and W. Maalej. How Do Professional Developers Comprehend Software? In ICSE, pages 255--265. IEEE, 2012.
[28]
F. Roethlisberger. Management and the Worker. Harvard University Press, 1939.
[29]
R. Romain, P. Damien, and L. Michele. Replaying IDE interactions to evaluate and improve change prediction approaches. In MSR, 2010.
[30]
The Eclipse Foundation. Eclipse instrumentation framework. http://dev.eclipse.org/viewcvs/viewvc.cgi/platform-uihome/instrumentation/index.html?revision=1.12.
[31]
The Economist. The quantified self: Counting every moment. The Economist Magazine, 2012.
[32]
M. Vakilian, N. Chen, S. Negara, B. A. Rajkumar, R. Zilouchian Moghaddam, and R. E. Johnson. The need for richer refactoring usage data. In EUPLT, 2011.
[33]
P. Viriyakattiyaporn and G. C. Murphy. Improving program navigation with an active help system. In Proceedings of the 2010 Conference of the Center for Advanced Studies on Collaborative Research, pages 27--41. IBM Corp., 2010.
[34]
G. Wassermann and Z. Su. Sound and precise analysis of web applications for injection vulnerabilities. In PLDI, 2007.
[35]
Wikipedia. Mental chronometry, Visited March 2014. http://en.wikipedia.org/wiki/Mental_chronometry.
[36]
Y. Yoon and B. A. Myers. Capturing and analyzing low-level events from the code editor. In EUPLT, 2011.
[37]
A. Zeller. Yesterday, my program worked. today, it does not. why? In FSE, 1999.

Cited By

View all
  • (2024)CodeGRITS: A Research Toolkit for Developer Behavior and Eye Tracking in IDEProceedings of the 2024 IEEE/ACM 46th International Conference on Software Engineering: Companion Proceedings10.1145/3639478.3640037(119-123)Online publication date: 14-Apr-2024
  • (2021)Code Edit Recommendation Using a Recurrent Neural NetworkApplied Sciences10.3390/app1119928611:19(9286)Online publication date: 6-Oct-2021
  • (2021)An Overview of Tools for Collecting Data on Software Development and Debugging Processes from Integrated Development EnvironmentsScience and Transport Progress10.15802/stp2021/242042(24-37)Online publication date: 15-Jun-2021
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
Onward! 2014: Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software
October 2014
332 pages
ISBN:9781450332101
DOI:10.1145/2661136
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 October 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. integrated development environment
  2. user-monitoring

Qualifiers

  • Research-article

Funding Sources

Conference

SPLASH '14
Sponsor:

Acceptance Rates

Onward! 2014 Paper Acceptance Rate 16 of 35 submissions, 46%;
Overall Acceptance Rate 40 of 105 submissions, 38%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)12
  • Downloads (Last 6 weeks)1
Reflects downloads up to 19 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)CodeGRITS: A Research Toolkit for Developer Behavior and Eye Tracking in IDEProceedings of the 2024 IEEE/ACM 46th International Conference on Software Engineering: Companion Proceedings10.1145/3639478.3640037(119-123)Online publication date: 14-Apr-2024
  • (2021)Code Edit Recommendation Using a Recurrent Neural NetworkApplied Sciences10.3390/app1119928611:19(9286)Online publication date: 6-Oct-2021
  • (2021)An Overview of Tools for Collecting Data on Software Development and Debugging Processes from Integrated Development EnvironmentsScience and Transport Progress10.15802/stp2021/242042(24-37)Online publication date: 15-Jun-2021
  • (2020)Visualizing Interaction Data Inside & Outside the IDE to Characterize Developer Productivity2020 Working Conference on Software Visualization (VISSOFT)10.1109/VISSOFT51673.2020.00009(38-48)Online publication date: Sep-2020
  • (2019)VeDebugProceedings of the 41st International Conference on Software Engineering: Companion Proceedings10.1109/ICSE-Companion.2019.00027(15-18)Online publication date: 25-May-2019
  • (2018)Supporting comprehension of unfamiliar programs by modeling cuesSoftware Quality Journal10.1007/s11219-015-9303-525:1(307-340)Online publication date: 24-Dec-2018
  • (2017)Can Developers’ Interaction Data Improve Change Recommendation?2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC)10.1109/COMPSAC.2017.79(128-137)Online publication date: Jul-2017

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media