Content deleted Content added
Kyros.gran (talk | contribs) |
Reverting edit(s) by Jimsteven1993 (talk) to rev. 1266529382 by Bolinasfrank: write the article first (UV 0.1.6) |
||
(30 intermediate revisions by 26 users not shown) | |||
Line 1:
{{Expert
'''Software analytics'''
▲'''Software analytics''' refers to [[analytics]] specific to the ___domain of [[software system]]s taking into account [[source code]], static and dynamic characteristics (e.g., [[software metric]]s) as well as related processes of their [[software development|development]] and [[software evolution|evolution]]. It aims at describing, monitoring, predicting, and improving efficiency and effectivity of [[software engineering]] throughout the [[software lifecycle]], in particular during [[software development|software development]] and [[software maintenance| software maintenance]]. Similar to other ___domain-specific analytics fields (e.g., [[business analytics]]), it is based on analyzing big data commonly managed, for example, by [[integrated development environment]]s (IDEs) and [[software repository|software repositories]].
▲== Definitions ==
* "Software analytics aims to obtain insightful and actionable information from software artifacts that help practitioners accomplish tasks related to software development, systems, and users." <ref>D. Zhang, S. han, Y. Dan, J.-G. Lou, H Zhang: "Software Analytics in Practice". IEEE Software, Sept./Oct. 2013, pp. 30-35.</ref> --- centers on analytics applied to artifacts a software system is composed of.▼
* "Software analytics is analytics on software data for managers and software engineers with the aim of empowering software development individiuals and teams to gain and share insight form their data to make better decisions." <ref>R. Buse, T. Zimmermann. "Information Needs for Software Development Analytics". Proc. Int'l Conf. Software Engineering (ICSE), IEEE CS, 2012</ref> --- strengthens the core objectives for methods and techniques of software analytics, focusing on both software artifacts and activities of involved developers and teams. ▼
* "Software analytics (SA) represents a branch of big data analytics. SA is concerned with the analysis of all software artifacts, not only source code. [...] These tiers vary from the higher level of the management board and setting the enterprise vision and portfolio management, going through project management planning and implementation by software developers." <ref>T. M. Abdellatif, L. F. Capretz, D. Ho. "Software Analytics to Software Practice: A Systematic Literature Review". 1. Int'l Workshop on Big Data Engineering, 2015, pp. 30-36. </ref> --- reflects the broad scope including various stakeholders. ▼
▲* "Software analytics aims to obtain insightful and actionable information from software artifacts that help practitioners accomplish tasks related to software development, systems, and users."
▲* "Software analytics is analytics on software data for managers and software engineers with the aim of empowering software development
▲* "Software analytics (SA) represents a branch of [[big data]] analytics. SA is concerned with the analysis of all software artifacts, not only source code. [...] These tiers vary from the higher level of the management board and setting the enterprise vision and portfolio management, going through project management planning and implementation by software developers."
== Aims ==
Software analytics aims at supporting decisions and generating insights, i.e., findings, conclusions, and evaluations about software systems and their implementation, composition, behavior, quality, evolution as well as about the activities of various stakeholders of these processes.
* Insightful information obtained by software analytics conveys meaningful and useful understanding or knowledge towards performing target tasks. Typically, it cannot be easily obtained by direct examining raw big data without the aid of analytics methods and techniques.
* Actionable information obtained by software analytics steers or prescribes solutions that stakeholders in software engineering processes may take (e.g., software practitioners, development leaders, or C-level management).
== Approach ==
Methods, techniques, and tools of software analytics typically rely on gathering, measuring, analyzing, and visualizing information found in the manifold data sources stored in software development environments and ecosystems. Software systems are well suited for applying analytics because, on the one hand, mostly formalized and precise data is available and, on the other hand, software
Core data sources include [[source code]], "check-ins, work items, bug reports and test executions [...] recorded in software repositories such as CVS, Subversion, GIT, and Bugzilla."<ref>Harald Gall, Tim Menzies, [[Laurie Williams (software engineer)|Laurie Williams]], and Thomas Zimmerman. "Software Development Analytics". Dagstuhl Reports, Vol. 4, Issue 6, pp. 64-83.</ref> [[telemetry | Telemetry data]] as well as execution traces or logs can also be taken into account.
Automated analysis, massive data, and systematic reasoning support decision-making at almost all levels. In general, key technologies employed by software analytics include analytical technologies such as [[machine learning]], [[data mining]], [[statistics]], [[pattern recognition]], [[information visualization]] as well as large-scale data computing & processing. For example, software analytics tools allow users to map derived analysis results by means of [[software map]]s, which support interactively exploring system artifacts and correlated software metrics. There are also software analytics tools using analytical technologies on top of [[software quality]] models in [[agile software development]] companies, which support assessing software qualities (e.g., reliability), and deriving actions for their improvement.<ref>{{Cite journal|last1=Martínez-Fernández|first1=Silverio|last2=Vollmer|first2=Anna Maria|last3=Jedlitschka|first3=Andreas|last4=Franch|first4=Xavier|last5=Lopez|first5=Lidia|last6=Ram|first6=Prabhat|last7=Rodriguez|first7=Pilar|last8=Aaramaa|first8=Sanja|last9=Bagnato|first9=Alessandra|date=2019|title=Continuously assessing and improving software quality with software analytics tools: a case study|journal=IEEE Access|volume=7|pages=68219–68239|doi=10.1109/ACCESS.2019.2917403|issn=2169-3536|url=https://upcommons.upc.edu/bitstream/2117/133374/1/FINAL-Access-Paper-preprint.pdf|doi-access=free|bibcode=2019IEEEA...768219M }}</ref>
== History ==
{{Expert
In 2009, the term "software analytics" was used in a paper by [[Dongmei Zhang]], Shi Han, Yingnong Dang, Jian-Guang Lou, and Haidong Zhang in part by the Software Analytics Group (SA) at [[Microsoft Research]] Asia (MSRA).<ref>{{Cite web |last=Brannon |first=Brian G. |date=23 June 2013 |title=Software Analytics in Practice |url=https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/ieeesoft13-softanalytics.pdf |access-date=31 December 2024 |website=microsoft.com}}</ref>
In November 2010, Software Development Analytics (Software Analytics with a focus on Software Development) was proposed by Thomas Zimmermann and his colleagues at the Empirical Software Engineering Group (ESE) at Microsoft Research Redmond in their FoSER 2010 paper.<ref name="FoSER" /> A goldfish bowl panel on software development analytics was organized by Zimmermann and [[Tim Menzies]] from West Virginia University at the International Conference on Software Engineering, Software Engineering in Practice Track.<ref name="Goldfish" />
==See also==
Line 65 ⟶ 46:
refs=
<ref name="FoSER">Raymond P. L. Buse and Thomas Zimmermann. "Analytics for Software Development." In Proceedings of the Workshop on Future of Software Engineering Research (FoSER 2010), Santa Fe, NM, USA, November 2010, pp. 77-80.</ref>[http://research.microsoft.com/apps/pubs/default.aspx?id=136301 PDF]
<ref name="MALETS">Dongmei Zhang, Yingnong Dang, Jian-Guang Lou, Shi Han, Haidong Zhang, and Tao Xie. "Software Analytics as a Learning Case in Practice: Approaches and Experiences". In Proceedings of International Workshop on Machine Learning Technologies in Software Engineering (MALETS 2011), Lawrence, Kansas, November 2011. [http://people.engr.ncsu.edu/txie/publications/malets11-analytics.pdf PDF][https://sites.google.com/site/xsoftanalytics/malets11-msrasa.pdf?attredirects=0 Slides]</ref>
<ref name="BIGDSE2015">T. M. Abdellatif, L. F. Capretz, D. Ho. "Software Analytics to Software Practice: A Systematic Literature Review". 1. Int'l Workshop on Big Data Engineering, 2015, pp. 30-36.</ref>
<ref name="ASE2011">Dongmei Zhang and Tao Xie. "xSA: eXtreme Software Analytics - Marriage of eXtreme Computing and Software Analytics." In Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011), Tutorial, Lawrence, Kansas, November 2011.</ref>
<ref name="IEEESoftware-2013">D. Zhang, S. han, Y. Dan, J.-G. Lou, H Zhang: "Software Analytics in Practice". IEEE Software, Sept./Oct. 2013, pp. 30-35.</ref>
<ref name="CSEETKeynote">Dongmei Zhang. "Software Analytics in Practice and Its Implications for Education and Training." Keynote. In Proceedings of the 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE&T 2012), Tutorial, Nanjing, China, April 2012.</ref>
Line 90 ⟶ 73:
* [http://research.microsoft.com/en-us/groups/ese/ Microsoft Research Redmond Empirical Software Engineering Group (ESE)]
* [http://conferences.computer.org/cseet/2012/CSEET_2012/Dongmei.html Software Analytics in Practice and Its Implications for Education and Training, Keynote by Dongmei Zhang at the 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE&T 2012)]
* [http://research.microsoft.com/en-us/groups/sa/softwareanalyticsinpractice_approachesandexperiences_msr2012.pdf
* [http://research.microsoft.com/en-us/groups/sa/softwareanalyticsinpractice_minitutorial_icse2012.pdf
* [http://pinterest.com/tomzimmermann/software-analytics/ Software Analytics Pinterest]
* [https://azure.microsoft.com/en-us/services/application-insights/ Microsoft Azure - Application Insights in Azure]
[[Category:Software maintenance]]
[[Category:Types of analytics]]
|