Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Towards automated data integration in software analytics


Published on

Workshop on Real-Time Business Intelligence and Analytics BIRTE 2018

Published in: Software
  • Be the first to comment

  • Be the first to like this

Towards automated data integration in software analytics

  1. 1. This project has received funding from the European Union’s Horizon 2020  research and innovation programme under grant agreement No 732253. Towards Automated Data  Integration in Software Analytics Silverio Martínez‐Fernández, Petar Jovanovic, Xavier Franch, Andreas Jedlitschka Fraunhofer IESE (Germany), UPC‐BarcelonaTech (Spain) 12th Intl. Workshop on Real‐Time Business Intelligence and Analytics  (BIRTE@VLDB) 2018 Rio de Janeiro (Brazil), August 27th 2018 1 @QRapids @SilverioMF
  2. 2. Software Analytics Data sources Collected runtime, development data Insights, Actions Real‐time Enterprise for software organizations  Software Analytics BIRTE@VLDB ‐ Rio de Janeiro (Brazil), 27th August 2018 2
  3. 3. Data produced during: process system usage Heterogeneous data sources: sources carrying  different information storage in  heterogeneous formats  and tools diversity versions,  usage, environments,  security options,…  Data for software analytics: An example BIRTE@VLDB ‐ Rio de Janeiro (Brazil), 27th August 2018 3
  4. 4. Data for software analytics come from heterogeneous data sources Most of the current approaches analyze a limited amount of data sources Integration becomes necessary to make data actionable for decision making!! An ontology‐based data integration capturing the semantics of relevant data for software analytics Two approaches: Static  integration by predefined views representing software quality factors Dynamic  integration with evolvable information requirements Motivation and Agenda BIRTE@VLDB ‐ Rio de Janeiro (Brazil), 27th August 2018 4
  5. 5. A class represents an entity in the  software analytics domain The ontology is abstract for  software development  technologies can differ to enable  generalization Associations among classes (e.g.,  commits having the issues identifier  in the commits) An ontology for software analytics BIRTE@VLDB ‐ Rio de Janeiro (Brazil), 27th August 2018 5
  6. 6. Information requirements help to reason about software quality metrics coming  from several classes, e.g.: Information requirement 1 (IR1). Analyze the last release of the software  product, per module, ordered by changes, quality rule violations, code quality  measures (e.g., complexity, comments, and duplications). Information requirement 2 (IR2). Examine the reliability of a release of the  software product in terms of bugs found during testing and errors occurring at  runtime, ordered by their resolution time. Information requirements BIRTE@VLDB ‐ Rio de Janeiro (Brazil), 27th August 2018 6
  7. 7. Static Approach – Q‐Rapids tool BIRTE@VLDB ‐ Rio de Janeiro (Brazil), 27th August 2018 7 Three steps: 1. Data gathering (gathering real‐time data for the ontology classes) 2. Data integration and aggregation (software quality factors from  multiple classes) 3. Alerts redirecting to raw data visualization for actionable analytics
  8. 8. Support for different data sources: nine  connectors Heterogeneous data: providing valuable  information about the process, system,  usage Scalability: able to ingest huge amount of data  per second (e.g., usage) Initial infrastructure for Big data  attractive for companies to adopt Static Approach. Step 1 ‐ Data gathering BIRTE@VLDB ‐ Rio de Janeiro (Brazil), 27th August 2018 8
  9. 9. Creation (and evolution) of a  quality model for actionable  analytics Aggregation of  heterogeneous data sources  into product factors  transparency Static Approach. Step 2 ‐ Data integration/aggregation 9 Maintainability Code Quality Commented files Comments lines,  lines of code,… SonarQube Non‐complex  files File cyclomatic complexity, No.  functions,… SonarQube Absence of  duplications Duplicated lines,  lines of code,… SonarQube Blocking code Fulfillment of  critical/blocker  quality rules Critical issues,  blocking issues,… SonarQube Highly changed  classed Commits over  classes,  modules… SVN, git Reliability Testing Status Passed tests Unit tests errors,  Unit tests passed,  … Jenkins, GitLab Software stability Ratio of open/in  progress bugs No. of open bugs,  No. of open  issues,… JIRA, Redmine,  GitLab Runtime erros Errors in log files Logs Test performance Fast tests’ builds Test duration,… Jenkins Details on: S. Martínez‐Fernández, A. Jedlitschka,  L. Guzmán, and A. M. Vollmer, “A Quality Model  for Actionable Analytics in Rapid Software  Development,” in Euromicro SEAA 2018
  10. 10. Objects in Kibana Creating a view including all the data  relevant for the information requirement,  example IR1. portable while maintaining defined indexes  generated by qr‐connect (for the ontology  classes) It helps decision making. Examples: Prioritizing critical open bugs Solving quality rule violations Static Approach. Step 3 – Alerts and visualizations BIRTE@VLDB ‐ Rio de Janeiro (Brazil), 27th August 2018 10
  11. 11. BIRTE@VLDB ‐ Rio de Janeiro (Brazil), 27th August 2018 11 Static Approach. Step 3 – Alerts and visualizations
  12. 12. Drawbacks of the static approach: Manual effort on the part of the designer to integrate, transform, and prepare  data When information requirements evolve, the above process undergo several  rounds A system to automate the process of building data integration flows for the field of  software analytics: Quarry starts from high‐level information requirements (e.g., IR1 and IR2) and  semi‐automatically generates target data stores and a data flow to integrate  data from different data sources and prepare them for further exploitation Dynamic Approach (1/3) BIRTE@VLDB ‐ Rio de Janeiro (Brazil), 27th August 2018 12 Details on: Petar Jovanovic, Oscar Romero, Alkis Simitsis, Alberto Abelló, Héctor Candón, and  Sergi Nadal. 2015. Quarry: Digging Up the Gems  of Your Data Treasury. In EDBT. 549–552.
  13. 13. Dynamic Approach (2/3) BIRTE@VLDB ‐ Rio de Janeiro (Brazil), 27th August 2018 13 IR2: Examine the reliability of a  release of the software product  in terms of bugs found during  testing and errors occurring at  runtime, ordered by their  resolution time. The user: Express the information  requirement using  Quarry graphical tool Express restrictions  (e.g., Issue Type=Bug) Express aggregations  (e.g., count(issues))
  14. 14. Quarry extracts the subset of the ontology  concepts needed to answer the given  requirement Dynamic Approach (3/3) BIRTE@VLDB ‐ Rio de Janeiro (Brazil), 27th August 2018 14 Quarry generates the schema of the target  store
  15. 15. Automatic integration of data from different sources is still a challenge for the software analytics domain An ontology‐based data integration capturing the semantics of relevant data for software analytics Two approaches: Static  integration by predefined views representing software quality factors Dynamic  integration with evolvable information requirements The envisioned dynamic approach would reduce manual efforts Immediate future work is to conduct a case study to validate the benefits of  the dynamic approach Conclusions BIRTE@VLDB ‐ Rio de Janeiro (Brazil), 27th August 2018 15
  16. 16. Questions BIRTE@VLDB ‐ Rio de Janeiro (Brazil), 27th August 2018 16