Visualizing Developer Interactions

Integrated Development Environments (IDEs) have become the de facto standard vehicle to develop software systems. The user interface (UI) of an IDE offers a staggering amount of facilities to manipulate source code, such as inspectors, debuggers, recommenders, alternative viewers, etc. It is unclear how developers use the UI of an IDE and whether such UIs actually give appropriate support to the developers. We present a visual approach to understand and characterize development sessions from the UI perspective. The tool supporting our approach mines and processes the finest-grained UI-level events making up development sessions and presents them visually. We have collected, visualized, and analyzed hundreds of development sessions and report on our findings.

[1]  Mik Kersten,et al.  How are Java software developers using the Elipse IDE? , 2006, IEEE Software.

[2]  Brad A. Myers,et al.  Visualization of fine-grained code change history , 2013, 2013 IEEE Symposium on Visual Languages and Human Centric Computing.

[3]  Gail C. Murphy,et al.  Asking and Answering Questions during a Programming Change Task , 2008, IEEE Transactions on Software Engineering.

[4]  Stéphane Ducasse,et al.  How Developers Develop Features , 2007, 11th European Conference on Software Maintenance and Reengineering (CSMR'07).

[5]  Kwan-Liu Ma,et al.  Software evolution storylines , 2010, SOFTVIS '10.

[6]  Mik Kersten,et al.  How are lava software developers using the eclipse IDE , 2006 .

[7]  Alexandru Telea,et al.  Code Flows: Visualizing Structural Evolution of Source Code , 2008, Comput. Graph. Forum.

[8]  Brad A. Myers,et al.  An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks , 2006, IEEE Transactions on Software Engineering.

[9]  Janice Singer,et al.  An examination of software engineering work practices , 1997, CASCON.

[10]  Stéphane Ducasse,et al.  How developers drive software evolution , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[11]  James A. Jones,et al.  Chronos: Visualizing slices of source-code history , 2013, 2013 First IEEE Working Conference on Software Visualization (VISSOFT).

[12]  Romain Robbes,et al.  Characterizing and Understanding Development Sessions , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

[13]  Brad A. Myers,et al.  Capturing and analyzing low-level events from the code editor , 2011, PLATEAU '11.

[14]  Kwan-Liu Ma,et al.  code_swarm: A Design Study in Organic Software Visualization , 2009, IEEE Transactions on Visualization and Computer Graphics.

[15]  Nicole Fruehauf Flow The Psychology Of Optimal Experience , 2016 .

[16]  Oscar Nierstrasz,et al.  Autumn Leaves: Curing the Window Plague in IDEs , 2009, 2009 16th Working Conference on Reverse Engineering.

[17]  William Lidwell,et al.  Universal Principles of Design , 2003 .