Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3330204.3330230acmotherconferencesArticle/Chapter ViewAbstractPublication PagessbsiConference Proceedingsconference-collections
research-article

Application of Clustering Algorithms for Discovering Bug Patterns in JavaScript Software

Published: 20 May 2019 Publication History

Abstract

Applications developed with JavaScript language are increasing every day, not only for client-side, but also for server-side and for mobile devices. In this context, the existence of tools to identify faults is fundamental in order to assist developers during the evolution of their applications. Different tools and approaches have been proposed over the years, however they have limitations to evolve over time, becoming obsolete quickly. The reason for this is the use of a fixed list of pre-defined faults that are searched in the code. The BugAID tool implements a semiautomatic strategy for discovering bug patterns by grouping the changes made during the project development. The objective of this work is to contribute to the BugAID tool, extending this tool with improvements in the extraction of characteristics to be used by the clustering algorithm. The extended module of the BugAID extraction module (BE) that extracts the characteristics is called BE+. Additionally, an evaluation of the clustering algorithms used for discovering fault patterns in JavaScript software is performed. The results show that the DBScan and Optics algorithms with BE+ presented the best results for the Rand, Jaccard and Adjusted Rand indexes, while HDBScan with BE and BE+ presented the worst result.

References

[1]
Mihael Ankerst, Markus M Breunig, Hans-Peter Kriegel, and Jörg Sander. 1999. OPTICS: ordering points to identify the clustering structure. In ACM Sigmod record, Vol. 28. ACM, 49--60.
[2]
SungGyeong Bae, Hyunghun Cho, Inho Lim, and Sukyoung Ryu. 2014. SAFEWAPI: Web API misuse detector for web applications. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, 507--517.
[3]
Ricardo JGB Campello, Davoud Moulavi, and Jörg Sander. 2013. Density-based clustering based on hierarchical density estimates. In Pacific-Asia conference on knowledge discovery and data mining. Springer, 160--172.
[4]
Charles Mendes De Macedo, Karina Valdivia Delgado, and Igor Scaliante Wiese. 2017. Detecção automática de falhas em software JavaScript: Uma revisão sistemática da literatura. In Anais Trilha Principal SBSI 2017. SBC, 412--419.
[5]
Martin Ester, Hans-Peter Kriegel, Jörg Sander, Xiaowei Xu, et al. 1996. A density-based algorithm for discovering clusters in large spatial databases with noise. In Kdd, Vol. 96. 226--231.
[6]
Amin Milani Fard and Ali Mesbah. 2013. JSNOSE: Detecting JavaScript code smells. In IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM-2013). 116--125.
[7]
Quinn Hanam, Fernando S de M Brito, and Ali Mesbah. 2016. Discovering bug patterns in JavaScript. In Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, 144--156.
[8]
Richard J Hathaway and James C Bezdek. 1988. Recent convergence results for the fuzzy c-means clustering algorithms. Journal of Classification 5, 2 (1988), 237--247.
[9]
Lawrence Hubert and Phipps Arabie. 1985. Comparing partitions. Journal of classification 2, 1 (1985), 193--218.
[10]
Anil K Jain and Richard C Dubes. 1988. Algorithms for clustering data. (1988).
[11]
Guangtai Liang, Jian Wang, Shaochun Li, and Rong Chang. 2014. PatBugs: A Pattern-Based Bug Detector for Cross-platform Mobile Applications. In IEEE International Conference on Mobile Services (MS-2014). IEEE, 84--91.
[12]
James MacQueen et al. 1967. Some methods for classification and analysis of multivariate observations. In Proceedings of the fifth Berkeley symposium on mathematical statistics and probability, Vol. 1. Oakland, CA, USA, 281--297.
[13]
Frolin Ocariza, Kartik Bajaj, Karthik Pattabiraman, and Ali Mesbah. 2013. An empirical study of client-side JavaScript bugs. In 2013 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement. IEEE, 55--64.
[14]
Frolin S Ocariza. 2016. On the detection, localization and repair of client-side JavaScript faults. Ph.D. Dissertation. University of British Columbia.
[15]
Frolin S Ocariza Jr, Karthik Pattabiraman, and Ali Mesbah. 2012. AutoFLox: An automatic fault localizer for client-side JavaScript. In IEEE Fifth International Conference on Software Testing, Verification and Validation (ICST-2012). IEEE, 31--40.
[16]
William M Rand. 1971. Objective criteria for the evaluation of clustering methods. Journal of the American Statistical association 66, 336 (1971), 846--850.
[17]
Raimundo Real and Juan M Vargas. 1996. The probabilistic basis of Jaccard's index of similarity. Systematic biology 45, 3 (1996), 380--385.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
SBSI '19: Proceedings of the XV Brazilian Symposium on Information Systems
May 2019
623 pages
ISBN:9781450372374
DOI:10.1145/3330204
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

  • SBC: Brazilian Computer Society

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 20 May 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Bug Discovery
  2. Data Mining
  3. Machine Learning
  4. Pattern Recognition
  5. Software Quality

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

SBSI'19

Acceptance Rates

Overall Acceptance Rate 181 of 557 submissions, 32%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 122
    Total Downloads
  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)1
Reflects downloads up to 14 Jan 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media