Software analytics: Difference between revisions

Content deleted Content added
m CapitalSasha moved page Software Analytics to Software analytics: capitalization
Taoxie (talk | contribs)
No edit summary
Line 1:
A huge wealth of various data exists in software lifecycle, including source code, feature specifications, bug reports, test cases, execution traces/logs, and real-world user feedback, etc. Data plays an essential role in modern software development, because hidden in the data is information and insight about the quality of software and services as well as, the dynamicsexperience of software development. With various analytical and computing technologiesusers, such as patternwell recognition,as machinethe learning,dynamics data mining, information visualization and large-scale data computing & processing,of software analytics is to enable software practitioners to perform effective and efficient data exploration and analysis in order to obtain insightful and actionable information for data-driven tasks in engineering software and servicesdevelopment.
'''Software analytics''' is to enable software practitioners to perform data exploration and analysis in order to obtain insightful and actionable information for data-driven tasks around software and services.
 
'''Software analyticsAnalytics''' is to utilize the data-driven approach to enable software practitioners to perform data exploration and analysis in order to obtain insightful and actionable information for data-drivenvarious tasks around software systems, software users, and servicessoftware development process.
 
Insightful information is information that conveys meaningful
Line 9 ⟶ 11:
solutions if any) towards completing the target task.
 
Software analyticsAnalytics broadly focuses on trinity of software systems, software users, and software development process:
A huge wealth of various data exists in software lifecycle, including source code, feature specifications, bug reports, test cases, execution traces/logs, and real-world user feedback, etc. Data plays an essential role in modern software development, because hidden in the data is information about the quality of software and services as well as the dynamics of software development. With various analytical and computing technologies, such as pattern recognition, machine learning, data mining, information visualization and large-scale data computing & processing, software analytics is to enable software practitioners to perform effective and efficient data exploration and analysis in order to obtain insightful and actionable information for data-driven tasks in engineering software and services.
 
Software analytics broadly focuses on trinity of software systems, software users, and software development process:
 
'''Software Systems'''. Depending on scale and complexity, the spectrum of software systems can span from operating systems for devices to large networked systems that consist of thousands of servers. System quality such as reliability, performance and security, is the key to success of modern software systems. As the system scale and complexity greatly increase, larger amount of data, e.g., run-time traces and logs, is generated; and data has become a critical media to monitor, analyze, understand and improve system quality.
Line 18:
'''Software Development Process'''. Software development has evolved from its traditional form to exhibit different characteristics. The process is more agile and engineers are more collaborative. Analytics on software development data provides a powerful mechanism that we can leverage in order to achieve higher development productivity.
 
In general, the primary technologies employed by Software Analytics include analytical technologies such as machine learning, data mining and pattern recognition, information visualization, as well as large-scale data computing & processing.
 
== History ==
In May 2009, Software Analytics was first coined and proposed when Dr. Dongmei Zhang founded [http://research.microsoft.com/en-us/groups/sa/ the Software Analytics Group (SA) at Microsoft Research Asia (MSRA)] was founded. The term has become well known in the software engineering research community after a series of tutorials and talks on software analytics were given by Dr. Dongmei Zhang, in collaboration with [http://people.engr.ncsu.edu/txie/ Professor Tao Xie] from North Carolina State University, including a tutorial at software engineering conferences such as IEEE/ACM International Conference on Automated Software Engineering (ASE 2011), a tutorial and a keynote talk given by Dr. Dongmei Zhang at IEEE-CS Conference on Software Engineering Education and Training ([http://conferences.computer.org/cseet/ CSEE&T 2012]), a tutorial at International Conference on Software Engineering ([http://www.ifi.uzh.ch/icse2012/ ICSE 2012]) - Software Engineering in Practice Track, and a keynote talk given by Dr. Dongmei Zhang (the manager of the SA Group at MSRA) at the 9th Working Conference on Mining Software Repositories ([http://2012.msrconf.org/ MSR 2012]).
 
In November 2010, Software Development Analytics (Software Analytics with focus on Software Development) was proposed by [http://research.microsoft.com/en-us/groups/ese/ the Empirical Software Engineering Group (ESE) at Microsoft Research Redmond] in their FoSER 2010 paper. A goldfish bowl panel on software development analytics was organized at the 34th International Conference on Software Engineering ([http://www.ifi.uzh.ch/icse2012/ ICSE 2012]), Software Engineering in Practice track.