Software analytics: Difference between revisions

Content deleted Content added
m Grammar changes
Reverting edit(s) by Jimsteven1993 (talk) to rev. 1266529382 by Bolinasfrank: write the article first (UV 0.1.6)
 
(6 intermediate revisions by 5 users not shown)
Line 1:
{{Expert needed|Softwaresoftware|reason=it appears to misrepresent the history of software analytics|date=December 2014}}
 
'''Software analytics''' is the [[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 the efficiency and effectiveness of [[software engineering]] throughout the [[software lifecycle]], in particular during [[software development]] and [[software maintenance]]. The data collection is typically done by mining [[software repository|software repositories]], but can also be achieved by collecting user actions or production data. One avenue for using the collected data is to augment the [[integrated development environment]]s (IDEs) with data-driven features.<ref name="Bruch2010">{{cite journal|last1=Bruch|first1=Marcel|last2=Bodden|first2=Eric|last3=Monperrus|first3=Martin|last4=Mezini|first4=Mira|title=IDE 2.0: Collective Intelligence in Software Development|year=2010|url=https://hal.archives-ouvertes.fr/hal-01575346/document|doi=10.1145/1882362.1882374}}</ref>
 
== Definitions ==
Line 19:
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|lastlast1=Martínez-Fernández|firstfirst1=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 needed|Software|reason=it misrepresents the history of software analytics, strengthening a single researcher group that claims to have coined the expression software analytics|date=August 2017}}
 
In May 2009, the term "software analytics" was firstused coinedin anda proposedpaper whenby [[Dongmei Zhang]], foundedShi 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>

The term has since become well known in the [[software engineering]] research community after a series of tutorials and talks on software analytics were given by Zhangthe andSoftware herAnalytics colleaguesGroup, in collaboration with Tao Xie from [[North Carolina State University]], at software engineering conferences including a tutorial at the IEEE/ACM [[International Conference on Automated Software Engineering]] (ASE 2011),<ref name="ASE2011" /> a talk at the International Workshop on Machine Learning Technologies in Software Engineering (MALETS 2011),<ref name="MALETS" /> a tutorial and a keynote talk given by Zhang at the IEEE-CS Conference on Software Engineering Education and Training,<ref name="CSEETKeynote" /><ref name="CSEETTutorial" /> a tutorial at the International Conference on Software Engineering - Software Engineering in Practice Track,<ref name="ICSETutorial" /> and a keynote talk given by Zhang at the Working Conference on Mining Software Repositories.<ref name="MSRKeynote" />
 
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" />