SlideShare a Scribd company logo
Static code
analysis to
measure the
quality of
musical scores
Javier Merchán Sánchez-Jara
Tatiana Person
Almudena Mangas-Vega
Iván Ruiz-Rube
Juan Manuel Dodero
Jose Miguel Mota
ICCC 2018
TABLE OF CONTENTS
1. Context
2. Contribution
3. Evaluation
4. Conclusions and future work
1.
Context
Introduction1.1
▸ Humanities become digital since the moment in which
the search and retrieval of information in the current
scenario passes irremediably through the resources on
the Web. Musical edition and creation does not escape
this situation.
▸ The required skills to improve this creative cycle depend
on using new web resources, enriched with diverse
technological, communicative and problem solving
issues that form the basis of creative thinking abilities.
Digital creation of musical scores1.2
▸ All the agents that interrelate with a digital score (authors,
interpreters, researchers, librarians, repository managers, etc.) need to
use software to develop their work.
▸ In recent years, several tools have been developed to create, study
and share musical scores.
▸ Any failure in the quality of the digital documents (scores) can be
replicated and spreaded when sharing them on the Internet.
▸ It is necessary to apply quality controls to check musical artifacts and
find potential issues. However, this may be a time-consuming and
(probably) unsustainable task, especially, in large repositories.
LilyPond1.3
▸ LilyPond is a tool that
creates sheet music. It
takes care of the details of
layout programmatically.
▸ Allows composers,
transcribers and publishers
to focus on the music
instead of improving their
graphical output.
▸ In Software Engineering, static analysis is one of common
techniques to ensure the quality of the programs.
▸ This is a white-box testing technique consisting on scanning
the source code (line by line) prior to release or sell the
software.
▸ The aim is to find common issues, such as duplicated
statements, code blocks with high complexity, security
vulnerabilities, potential bugs, etc.
▸ Luckily, there are tools for automating code analysis
Code static analysis1.4
▸ SonarQube is a open source tool
for measuring the quality of
source code.
▸ Allows developers to analyze the
source code of more than 20
different programming
languages.
▸ SonarQube provides a visual
dashboard that includes the
result of several metrics
SonarQube1.5
2.
Contribution
▸ Plugin for the SonarQube platform to analyse music scores
created with LilyPond
Our Contribution2.1
Implemented rules to check music
scores2.2
▸ Rule 1: Check that not use is made of consecutive silent beats.
▸ Rule 2: Check if a note is held in the previous beat for include a
precautionary alteration.
▸ Rule 3: Check that the tempo has been included at the beginning
of the music score.
▸ Rule 4: Check that the time change has been done correctly.
▸ Rule 5: Check that the music sheet title is included.
Implemented rules to check music
scores (2)2.2
▸ Rule 6: Check that the music sheet composer is included.
▸ Rule 7: Check that a page step cannot exist in a repeat volta
instruction.
▸ Rule 8: Check that the lines of code should not be too long.
SonarQube definitions2.3
▸ Error: Message displayed by SonarQube describing the
reason for the error.
▸ Severity: Severity level of the error. SonarQube categorizes
errors in "Minor" or "Major" severity, depending on the
relevance and correction time of the error.
▸ Time: The estimated time that the creator of the musical
score must spend to correct the error.
Quality rules2.4
3.
Evaluation
Evaluation process3.1
▸ A study of usability was conducted on a set of experts in
the music domain
▸ First, the respondents had to directly observe a given sheet
music in PDF. This music score was created using LilyPond
including some syntax errors.
▸ Afterwards, the experts had to access to the SonarQube
instance and then visualise the list of evidences
automatically found in the sheet
▸ Finally, the have to fill in a pre-test and a post-test
questionnaire
Music sheet PDF created with LilyPond3.2
https://goo.gl/CLc54N
Analysing music sheet in SonarQube3.3
http://vedilsanalytics.uca.es/sonarqube/dashboard/index/35
Analysing music sheet in SonarQube (2)3.3
http://vedilsanalytics.uca.es/sonarqube/dashboard/index/35
Usability attributes3.4
▸ Learnability: Have you been able to access to SonarQube and
visualise the errors and bad practices automatically found by the
tool for the sheet music created with LilyPond?
▸ Efficiency: Do you think that the errors and warnings issued by
SonarQube correspond to the ones you found when you
observed the sheet music in PDF?
▸ Satisfaction: Would you consider interesting the inclusion
of this type of tool to analyse the quality of music sheets?
▸ Utility: How useful would you consider this tool?
Results3.5
4.
Conclusions and
future work
Conclusions and future work
4.1
▸ An extension to the static analysis code platform SonarQube to
measure the quality of musical scores created with LilyPond.
▸ The work is limited to the implementation of a very specific set of
metrics, aimed at experimentation and preliminary evaluation of its
usefulness by a panel of experts.
▸ As future work, we will expand the collection of metrics. In addition,
we'll improve the plugin to analyse scores created with other tools
besides LilyPond (v.g. MuseScore).
▸ Another domain that is interesting to consider is to detect and evaluate
the incorporation of additional contextual information to the score,
including bibliographic information, as well as descriptive or
interpretive information whose presence is not an essential
requirement but an added value regarding quality.
THANKS!
You can find me at ivan.ruiz@uca.es

More Related Content

PPTX
Applying static code analysis for domain-specific languages
PPTX
Music Creation by Example
PDF
Download full ebook of Machine Musicianship Robert Rowe instant download pdf
PPTX
Evaluation question 4
PDF
Nithin Xavier research_proposal
KEY
IBC 2010 Redefining Search
PPTX
The Digital Music Production Paradigm
DOCX
SWE481 – Software Engineering Capstone 1 Page 2SWE.docx
Applying static code analysis for domain-specific languages
Music Creation by Example
Download full ebook of Machine Musicianship Robert Rowe instant download pdf
Evaluation question 4
Nithin Xavier research_proposal
IBC 2010 Redefining Search
The Digital Music Production Paradigm
SWE481 – Software Engineering Capstone 1 Page 2SWE.docx

Similar to Static code analysis to measure the quality of musical scores (20)

PDF
Gandharv - Collaborative Music Composition Environment
PDF
A survey on software smells
PDF
Ict Introduction and investigation
PPT
Variations2
PPTX
Using the Dialogue Recall Tool in IBM SPSS Statistics.pptx
PDF
Max Msp Jitter For Music A Practical Guide To Developing Interactive Music Sy...
PPT
Student blog
PDF
Aiml ppt pdf.pdf on music recommendation system
PPTX
Music recommendations model using natural language processing
PPT
The Study For A Sound Engineering And Recording Class
PDF
IRJET- Implementation of Emotion based Music Recommendation System using SVM ...
PDF
IRJET- Music Genre Classification using Machine Learning Algorithms: A Compar...
PDF
Crowsourcing for Social Multimedia Task: Crowsorting Timed Comments about Music
PPT
PDF
Automatic Music Generation Using Deep Learning
PPTX
music app with ai optimization end.pptx
ODP
SynPhony2014
PDF
STUDY ON AIR AND SOUND POLLUTION MONITORING SYSTEM USING IOT
PDF
Study On An Emotion Based Music Player
Gandharv - Collaborative Music Composition Environment
A survey on software smells
Ict Introduction and investigation
Variations2
Using the Dialogue Recall Tool in IBM SPSS Statistics.pptx
Max Msp Jitter For Music A Practical Guide To Developing Interactive Music Sy...
Student blog
Aiml ppt pdf.pdf on music recommendation system
Music recommendations model using natural language processing
The Study For A Sound Engineering And Recording Class
IRJET- Implementation of Emotion based Music Recommendation System using SVM ...
IRJET- Music Genre Classification using Machine Learning Algorithms: A Compar...
Crowsourcing for Social Multimedia Task: Crowsorting Timed Comments about Music
Automatic Music Generation Using Deep Learning
music app with ai optimization end.pptx
SynPhony2014
STUDY ON AIR AND SOUND POLLUTION MONITORING SYSTEM USING IOT
Study On An Emotion Based Music Player
Ad

More from Iván Ruiz-Rube (17)

PDF
Static analysis of textual models
PPTX
Cómo desarrollar fácilmente una app para Android
PPTX
Un framework para el despliegue y evaluación de procesos software
PPT
Introducción al BI con pentaho
PPT
PseudoDSL. Un lenguaje generativo para el aprendizaje de pseudocódigo
PPT
Herramientas para linked data
PPT
Revisiones de la literatura en Ingeniería del Software
PDF
Desarrollo y monitorización de TFGs basados en un modelo de procesos y un eco...
PPTX
MDE & DSLs
PDF
Development issues on linked data weblog enrichment
PDF
Evaluación de un ecosistema software en organizaciones de desarrollo web bajo...
PDF
Supporting the software process management with model driven engineering
PDF
Gestión de la calidad usando ingeniería dirigida por modelos
PDF
Quality management using mde - an overview
PDF
Linked Open Data: an overview
PDF
Publishing linked data from relational databases
PDF
Herramientas para la mejora del proceso de desarrollo de aplicaciones J2EE
Static analysis of textual models
Cómo desarrollar fácilmente una app para Android
Un framework para el despliegue y evaluación de procesos software
Introducción al BI con pentaho
PseudoDSL. Un lenguaje generativo para el aprendizaje de pseudocódigo
Herramientas para linked data
Revisiones de la literatura en Ingeniería del Software
Desarrollo y monitorización de TFGs basados en un modelo de procesos y un eco...
MDE & DSLs
Development issues on linked data weblog enrichment
Evaluación de un ecosistema software en organizaciones de desarrollo web bajo...
Supporting the software process management with model driven engineering
Gestión de la calidad usando ingeniería dirigida por modelos
Quality management using mde - an overview
Linked Open Data: an overview
Publishing linked data from relational databases
Herramientas para la mejora del proceso de desarrollo de aplicaciones J2EE
Ad

Recently uploaded (20)

PDF
RMMM.pdf make it easy to upload and study
PPTX
GDM (1) (1).pptx small presentation for students
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
Classroom Observation Tools for Teachers
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PPTX
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
PDF
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
PDF
Trump Administration's workforce development strategy
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
Final Presentation General Medicine 03-08-2024.pptx
RMMM.pdf make it easy to upload and study
GDM (1) (1).pptx small presentation for students
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Classroom Observation Tools for Teachers
2.FourierTransform-ShortQuestionswithAnswers.pdf
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
Trump Administration's workforce development strategy
Anesthesia in Laparoscopic Surgery in India
Abdominal Access Techniques with Prof. Dr. R K Mishra
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
human mycosis Human fungal infections are called human mycosis..pptx
Microbial disease of the cardiovascular and lymphatic systems
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Final Presentation General Medicine 03-08-2024.pptx

Static code analysis to measure the quality of musical scores

  • 1. Static code analysis to measure the quality of musical scores Javier Merchán Sánchez-Jara Tatiana Person Almudena Mangas-Vega Iván Ruiz-Rube Juan Manuel Dodero Jose Miguel Mota ICCC 2018
  • 2. TABLE OF CONTENTS 1. Context 2. Contribution 3. Evaluation 4. Conclusions and future work
  • 4. Introduction1.1 ▸ Humanities become digital since the moment in which the search and retrieval of information in the current scenario passes irremediably through the resources on the Web. Musical edition and creation does not escape this situation. ▸ The required skills to improve this creative cycle depend on using new web resources, enriched with diverse technological, communicative and problem solving issues that form the basis of creative thinking abilities.
  • 5. Digital creation of musical scores1.2 ▸ All the agents that interrelate with a digital score (authors, interpreters, researchers, librarians, repository managers, etc.) need to use software to develop their work. ▸ In recent years, several tools have been developed to create, study and share musical scores. ▸ Any failure in the quality of the digital documents (scores) can be replicated and spreaded when sharing them on the Internet. ▸ It is necessary to apply quality controls to check musical artifacts and find potential issues. However, this may be a time-consuming and (probably) unsustainable task, especially, in large repositories.
  • 6. LilyPond1.3 ▸ LilyPond is a tool that creates sheet music. It takes care of the details of layout programmatically. ▸ Allows composers, transcribers and publishers to focus on the music instead of improving their graphical output.
  • 7. ▸ In Software Engineering, static analysis is one of common techniques to ensure the quality of the programs. ▸ This is a white-box testing technique consisting on scanning the source code (line by line) prior to release or sell the software. ▸ The aim is to find common issues, such as duplicated statements, code blocks with high complexity, security vulnerabilities, potential bugs, etc. ▸ Luckily, there are tools for automating code analysis Code static analysis1.4
  • 8. ▸ SonarQube is a open source tool for measuring the quality of source code. ▸ Allows developers to analyze the source code of more than 20 different programming languages. ▸ SonarQube provides a visual dashboard that includes the result of several metrics SonarQube1.5
  • 10. ▸ Plugin for the SonarQube platform to analyse music scores created with LilyPond Our Contribution2.1
  • 11. Implemented rules to check music scores2.2 ▸ Rule 1: Check that not use is made of consecutive silent beats. ▸ Rule 2: Check if a note is held in the previous beat for include a precautionary alteration. ▸ Rule 3: Check that the tempo has been included at the beginning of the music score. ▸ Rule 4: Check that the time change has been done correctly. ▸ Rule 5: Check that the music sheet title is included.
  • 12. Implemented rules to check music scores (2)2.2 ▸ Rule 6: Check that the music sheet composer is included. ▸ Rule 7: Check that a page step cannot exist in a repeat volta instruction. ▸ Rule 8: Check that the lines of code should not be too long.
  • 13. SonarQube definitions2.3 ▸ Error: Message displayed by SonarQube describing the reason for the error. ▸ Severity: Severity level of the error. SonarQube categorizes errors in "Minor" or "Major" severity, depending on the relevance and correction time of the error. ▸ Time: The estimated time that the creator of the musical score must spend to correct the error.
  • 16. Evaluation process3.1 ▸ A study of usability was conducted on a set of experts in the music domain ▸ First, the respondents had to directly observe a given sheet music in PDF. This music score was created using LilyPond including some syntax errors. ▸ Afterwards, the experts had to access to the SonarQube instance and then visualise the list of evidences automatically found in the sheet ▸ Finally, the have to fill in a pre-test and a post-test questionnaire
  • 17. Music sheet PDF created with LilyPond3.2 https://goo.gl/CLc54N
  • 18. Analysing music sheet in SonarQube3.3 http://vedilsanalytics.uca.es/sonarqube/dashboard/index/35
  • 19. Analysing music sheet in SonarQube (2)3.3 http://vedilsanalytics.uca.es/sonarqube/dashboard/index/35
  • 20. Usability attributes3.4 ▸ Learnability: Have you been able to access to SonarQube and visualise the errors and bad practices automatically found by the tool for the sheet music created with LilyPond? ▸ Efficiency: Do you think that the errors and warnings issued by SonarQube correspond to the ones you found when you observed the sheet music in PDF? ▸ Satisfaction: Would you consider interesting the inclusion of this type of tool to analyse the quality of music sheets? ▸ Utility: How useful would you consider this tool?
  • 23. Conclusions and future work 4.1 ▸ An extension to the static analysis code platform SonarQube to measure the quality of musical scores created with LilyPond. ▸ The work is limited to the implementation of a very specific set of metrics, aimed at experimentation and preliminary evaluation of its usefulness by a panel of experts. ▸ As future work, we will expand the collection of metrics. In addition, we'll improve the plugin to analyse scores created with other tools besides LilyPond (v.g. MuseScore). ▸ Another domain that is interesting to consider is to detect and evaluate the incorporation of additional contextual information to the score, including bibliographic information, as well as descriptive or interpretive information whose presence is not an essential requirement but an added value regarding quality.
  • 24. THANKS! You can find me at ivan.ruiz@uca.es