Defect prediction for Cascading Style Sheets

Graphical abstractDisplay Omitted Testing is a crucial activity in software development. However exhaustive testing of a given software is impossible in practice because projects have serious time and budget limitations. Therefore, software testing teams need guidance about which modules they should focus on. Defect prediction techniques are useful for this situation because they let testers to identify and focus on defect prone parts of software. These techniques are essential for software teams, because they help teams to efficiently allocate their precious resources in testing phase. Software defect prediction has been an active research area in recent years. Researchers in this field have been using different types of metrics in their prediction models. However, value of extracting static code metrics for style sheet languages has been ignored until now. User experience is a very important part of web applications and its mostly provided using Cascading Style Sheets (CSS). In this research, our aim is to improve defect prediction performance for web applications by utilizing metrics generated from CSS code. We generated datasets from four open source web applications to conduct our experiments. Defect prediction is then performed using three different well-known machine learning algorithms. The results revealed that static code metrics based defect prediction techniques can be performed effectively to improve quality of CSS code in web applications. Therefore we recommend utilizing domain-specific characteristics of applications in defect prediction as they result in significantly high prediction performance with low costs.

[1]  Yue Jiang,et al.  Cost Curve Evaluation of Fault Prediction Models , 2008, 2008 19th International Symposium on Software Reliability Engineering (ISSRE).

[2]  A. Jefferson Offutt,et al.  Quality Attributes of Web Software Applications , 2002, IEEE Softw..

[3]  Soila Pertet,et al.  Causes of Failure in Web Applications (CMU-PDL-05-109) , 2005 .

[4]  Fumio Akiyama,et al.  An Example of Software System Debugging , 1971, IFIP Congress.

[5]  Bart Baesens,et al.  Benchmarking Classification Models for Software Defect Prediction: A Proposed Framework and Novel Findings , 2008, IEEE Transactions on Software Engineering.

[6]  Karthik Ramasubramanian,et al.  Introduction to Machine Learning and R , 2017 .

[7]  A. Jefferson Offutt,et al.  Testing Web applications by modeling with FSMs , 2005, Software & Systems Modeling.

[8]  Marvin V. Zelkowitz,et al.  Lessons learned from 25 years of process improvement: the rise and fall of the NASA software engineering laboratory , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[9]  Michael Benedikt,et al.  VeriWeb: Automatically Testing Dynamic Web Sites , 2002 .

[10]  Paolo Tonella,et al.  Anomaly detection in Web applications: a review of already conducted case studies , 2005, Ninth European Conference on Software Maintenance and Reengineering.

[11]  Burak Turhan,et al.  Implications of ceiling effects in defect predictors , 2008, PROMISE '08.

[12]  Ethem Alpaydin,et al.  Introduction to machine learning , 2004, Adaptive computation and machine learning.

[13]  Barry W. Boehm,et al.  Software Defect Reduction Top 10 List , 2001, Computer.

[14]  Robert Mee,et al.  Going Faster: Testing The Web Application , 2002, IEEE Softw..

[15]  T. Menzies,et al.  Metrics that matter , 2002, 27th Annual NASA Goddard/IEEE Software Engineering Workshop, 2002. Proceedings..

[16]  Sanjay Misra,et al.  Estimating Quality of JavaScript , 2012, Int. Arab J. Inf. Technol..

[17]  Banu Diri,et al.  Predicting Defect Prone Modules in Web Applications , 2015, ICIST.

[18]  Yue Jiang,et al.  Fault Prediction using Early Lifecycle Data , 2007, The 18th IEEE International Symposium on Software Reliability (ISSRE '07).

[19]  Sreedevi Sampath,et al.  Web application fault classification - an exploratory study , 2008, ESEM '08.

[20]  Harry M. Sneed Testing a Web application , 2004, Proceedings. Sixth IEEE International Workshop on Web Site Evolution.

[21]  Banu Diri,et al.  A systematic review of software fault prediction studies , 2009, Expert Syst. Appl..

[22]  Giuseppe A. Di Lucca,et al.  Testing Web applications , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[23]  Giridharan Vilangadu Vijayaraghavan,et al.  A TAXONOMY OF E-COMMERCE RISKS AND FAILURES , 2003 .

[24]  Qinbao Song,et al.  Software defect association mining and defect correction effort prediction , 2006, IEEE Transactions on Software Engineering.

[25]  Valery Buzungu,et al.  Predicting Fault-prone Components in a Java Legacy System , 2006 .

[26]  Barry W. Boehm,et al.  What we have learned about fighting defects , 2002, Proceedings Eighth IEEE Symposium on Software Metrics.

[27]  Tim Menzies,et al.  Assessing Predictors of Software Defects , 2004 .

[28]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[29]  Barry Boehm,et al.  Top 10 list [software development] , 2001 .

[30]  Tim Menzies,et al.  When can we test less? , 2003, Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No.03EX717).

[31]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[32]  Thomas Ball,et al.  Static analysis tools as early indicators of pre-release defect density , 2005, ICSE.

[33]  Victor R. Basili,et al.  Software errors and complexity: an empirical investigation0 , 1984, CACM.

[34]  Robert C. Holte,et al.  Cost curves: An improved method for visualizing classifier performance , 2006, Machine Learning.

[35]  Hassan Artail,et al.  An enhanced Web page change detection approach based on limiting similarity computations to elements of same type , 2009, Journal of Intelligent Information Systems.

[36]  Lori Pollock,et al.  Strategies for automatically exposing faults in web applications , 2007 .

[37]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[38]  Paolo Tonella,et al.  Empirical Validation of a Web Fault Taxonomy and its usage for Fault Seeding , 2007, 2007 9th IEEE International Workshop on Web Site Evolution.

[39]  Gregory Tassey,et al.  Prepared for what , 2007 .

[40]  Victor R. Basili,et al.  Software errors and complexity: an empirical investigation , 1993 .

[41]  N. Nagappan,et al.  Static analysis tools as early indicators of pre-release defect density , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[42]  Forrest Shull,et al.  Using the ISO/IEC 9126 product quality model to classify defects: A controlled experiment , 2012, EASE.

[43]  Bert Bos,et al.  Cascading style sheets , 1997, World Wide Web J..

[44]  Tim Menzies,et al.  Data Mining Static Code Attributes to Learn Defect Predictors , 2007, IEEE Transactions on Software Engineering.

[45]  Frank Tip,et al.  Finding bugs in dynamic web applications , 2008, ISSTA '08.

[46]  Maurice H. Halstead,et al.  Elements of software science (Operating and programming systems series) , 1977 .