Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Constraint cascading style sheets for the Web
Proceedings of the 12th annual ACM symposium on User interface software and technology
Compiler techniques for code compaction
ACM Transactions on Programming Languages and Systems (TOPLAS)
Practical extraction techniques for Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 2007 ACM symposium on Document engineering
An Empirical Study of Unused Design Decisions in Open Source Java Software
APSEC '08 Proceedings of the 2008 15th Asia-Pacific Software Engineering Conference
Guidelines for conducting and reporting case study research in software engineering
Empirical Software Engineering
What Is End-User Software Engineering and Why Does It Matter?
IS-EUD '09 Proceedings of the 2nd International Symposium on End-User Development
Comparison and evaluation of code clone detection techniques and tools: A qualitative approach
Science of Computer Programming
Fast and parallel webpage layout
Proceedings of the 19th international conference on World wide web
HotPar'09 Proceedings of the First USENIX conference on Hot topics in parallelism
Towards parallelizing the layout engine of firefox
HotPar'10 Proceedings of the 2nd USENIX conference on Hot topics in parallelism
WEBDIFF: Automated identification of cross-browser issues in web applications
ICSM '10 Proceedings of the 2010 IEEE International Conference on Software Maintenance
CSS Code Quality: A Metric for Abstractness; Or Why Humans Beat Machines in CSS Coding
QUATIC '10 Proceedings of the 2010 Seventh International Conference on the Quality of Information and Communications Technology
Automated cross-browser compatibility testing
Proceedings of the 33rd International Conference on Software Engineering
Pro CSS for High Traffic Websites
Pro CSS for High Traffic Websites
Crawling Ajax-Based Web Applications through Dynamic Analysis of User Interface State Changes
ACM Transactions on the Web (TWEB)
Invariant-Based Automatic Testing of Modern Web Applications
IEEE Transactions on Software Engineering
Compiling mockups to flexible UIs
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Hidden-Web induced by client-side scripting: an empirical study
ICWE'13 Proceedings of the 13th international conference on Web Engineering
Hi-index | 0.00 |
CSS is a widely used language for describing the presentation semantics of HTML elements on the web. The language has a number of characteristics, such as inheritance and cascading order, which makes maintaining CSS code a challenging task for web developers. As a result, it is common for unused rules to be accumulated over time. Despite these challenges, CSS analysis has not received much attention from the research community. We propose an automated technique to support styling code maintenance, which (1) analyzes the runtime relationship between the CSS rules and DOM elements of a given web application (2) detects unmatched and ineffective selectors, overridden declaration properties, and undefined class values. Our technique, implemented in an open source tool called CILLA, has a high precision and recall rate. The results of our case study, conducted on fifteen open source and industrial web-based systems, show an average of 60% unused CSS selectors in deployed applications, which points to the ubiquity of the problem.