Software analytics: Difference between revisions

Content deleted Content added
Reverting edit(s) by Jimsteven1993 (talk) to rev. 1266529382 by Bolinasfrank: write the article first (UV 0.1.6)
 
(19 intermediate revisions by 16 users not shown)
Line 1:
{{Expert-subject 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 efficiency and effectivity 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>
 
'''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 effectivityeffectiveness 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 ==
 
* "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 name="IEEESoftware-2013" /> --- 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 individuals and teams to gain and share insight form their data to make better decisions." <ref name="ICSESEIP12InfoNeeds"/> --- 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 name="BIGDSE2015" /> --- reflects the broad scope including various stakeholders.
* "Software analytics is analytics on software data for managers and software engineers with the aim of empowering software development individuals and teams to gain and share insight form their data to make better decisions." <ref name="ICSESEIP12InfoNeeds"/> --- 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 name="BIGDSE2015" /> --- reflects the broad scope including various stakeholders.
 
== Aims ==
Line 18 ⟶ 15:
 
== 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 systemsystems are extremely difficult to manage ---in a nutshell: "software projects are highly measurable, but often unpredictable."<ref name="ICSESEIP12InfoNeeds"/>
 
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-subject 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 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 May 2009, software analytics was first coined and proposed when Dongmei Zhang founded the Software Analytics Group (SA) at Microsoft Research Asia (MSRA). 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 Zhang and her colleagues, 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" />
 
InThe Novemberterm 2010,has Softwaresince Developmentbecome Analyticswell known in the [[software engineering]] research community after a series of tutorials and talks on software analytics were given by the (Software Analytics Group, in collaboration with focusTao onXie Softwarefrom Development)[[North wasCarolina proposedState byUniversity]], Thomasat Zimmermannsoftware andengineering hisconferences colleaguesincluding a tutorial at the EmpiricalIEEE/ACM [[International Conference on Automated Software Engineering Group]] (ESEASE 2011),<ref name="ASE2011" /> a talk at Microsoftthe ResearchInternational RedmondWorkshop on Machine Learning Technologies in theirSoftware FoSEREngineering 2010(MALETS paper.2011),<ref name="FoSERMALETS" /> a Atutorial goldfishand bowla panelkeynote ontalk softwaregiven developmentby analyticsZhang wasat organizedthe byIEEE-CS ZimmermannConference on Software Engineering Education and [[TimTraining,<ref Menzies]]name="CSEETKeynote" from/><ref Westname="CSEETTutorial" Virginia/> Universitya tutorial at the International Conference on Software Engineering, - Software Engineering in Practice trackTrack,<ref name="ICSETutorial" /> and a keynote talk given by Zhang at the Working Conference on Mining Software Repositories.<ref name="GoldfishMSRKeynote" />
 
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" />
==Software analytics providers==
* [[AppDynamics]]
* [[CAST (company)|CAST]]
* [[Dynatrace]]
* [[IBM Cognos Business Intelligence]]
* [[Kiuwan]]
* Kuscos
* [[Microsoft Azure]] Application Insights <ref>{{cite web|url=https://azure.microsoft.com/en-us/services/application-insights/|title=Microsoft Azure Application Insights - Portal|date=June 2016|website = Microsoft Azure|publisher = Microsoft }}</ref>
* [[New Relic]]
* [[Parasoft]]
* [[Revulytics]] (formerly Trackerbird Software Analytics, a V.i. Labs Company) <ref>{{cite web|url=https://www.revulytics.com/press-releases/vilabs-is-now-revulytics |title=Trackerbird Software Analytics|date=November 2016|website = Trackerbird|publisher = Trackerbird}}</ref>
* [[SQuORE|Squore]]
* [[Tableau Software]]
 
==See also==
Line 64 ⟶ 49:
<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>