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

skip to main content
10.1145/2597008.2597153acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Identifying and locating interference issues in PHP applications: the case of WordPress

Published: 02 June 2014 Publication History

Abstract

The large success of Content management Systems (CMS) such as WordPress is largely due to the rich ecosystem of themes and plugins developed around the CMS that allows users to easily build and customize complex Web applications featuring photo galleries, contact forms, and blog pages. However, the design of the CMS, the plugin-based architecture, and the implicit characteristics of the programming language used to develop them (often PHP), can cause interference or unwanted side effects between the resources declared and used by different plugins. This paper describes the problem of interference between plugins in CMS, specifically those developed using PHP, and outlines an approach combining static and dynamic analysis to detect and locate such interference. Results of a case study conducted over 10 WordPress plugins shows that the analysis can help to identify and locate plugin interference, and thus be used to enhance CMS quality assurance.

References

[1]
M. H. Alalfi, J. R. Cordy, and T. R. Dean. Wafa: Fine-grained dynamic analysis of web applications. In WSE, pages 141–150, 2009.
[2]
M. H. Alalfi, J. R. Cordy, and T. R. Dean. Automating coverage metrics for dynamic web applications. In CSMR, pages 51–60, 2010.
[3]
G. Antoniol, M. Di Penta, and M. Zazzara. Understanding web applications through dynamic analysis. In the 12th IEEE International Workshop on Program Comprehension, pages 120–129, Bari, ITALY, June 24-26 2004. IEEE CS Press.
[4]
J. R. Cordy. The TXL source transformation language. Sci. Comput. Program., 61(3):190–210, 2006.
[5]
G. Di Lucca, A. Fasolino, F. Pace, P. Tramontana, and U. De Carlini. WARE: A tool for the reverse engineering of web applications. In Proceedings of the European Conference on Software Maintenance and Reengineering, pages 241–250, Budapest, Hungary, Mar 2002.
[6]
G. Di Lucca, A. Fasolino, P. Tramontana, and U. De Carlini. Abstracting business level UML diagrams from web applications. pages 12–19, Amsterdam, The Netherlands, Oct 2003.
[7]
G. Di Lucca, A. Fasolino, P. Tramontana, and U. De Carlini. Recovering a business object model from web applications. pages 348–353, Dallas, TX, USA, Nov 2003.
[8]
A. E. Hassan and R. C. Holt. Architecture recovery of web applications. In Proceedings of the 22rd International Conference on Software Engineering, ICSE 2002, 19-25 May 2002, Orlando, Florida, USA, pages 349–359. ACM, 2002.
[9]
H. A. Nguyen, H. V. Nguyen, T. T. Nguyen, and T. N. Nguyen. Output-oriented refactoring in php-based dynamic web applications. In ICSM, pages 150–159, 2013.
[10]
H. V. Nguyen, H. A. Nguyen, T. T. Nguyen, and T. N. Nguyen. Auto-locating and fix-propagating for html validation errors to php server-side code. In ASE, pages 13–22, 2011.
[11]
H. V. Nguyen, H. A. Nguyen, T. T. Nguyen, and T. N. Nguyen. Drc: a detection tool for dangling references in php-based web applications. In ICSE, pages 1299–1302, 2013.
[12]
F. Ricca and P. Tonella. Analysis and testing of web applications. In Proceedings of the International Conference on Software Engineering, pages 25–34, Toronto, ON, Canada, May 2001. IEEE CS Press.
[13]
F. Ricca and P. Tonella. Understanding and restructuring web sites with ReWeb. IEEE Multimedia, 8(2):40–51, Apr-Jun 2001.
[14]
P. Tonella and F. Ricca. Dynamic model extraction and statistical analysis of web applications. pages 43–52, Montréal, QC, Canada, Oct 2002.

Cited By

View all
  • (2023)The Co-evolution of the WordPress Platform and Its PluginsACM Transactions on Software Engineering and Methodology10.1145/353370032:1(1-24)Online publication date: 13-Feb-2023
  • (2021)Exposing bugs in JavaScript engines through test transplantation and differential testingSoftware Quality Journal10.1007/s11219-020-09537-8Online publication date: 7-Jan-2021
  • (2020)Practical detection of CMS plugin conflicts in large plugin setsInformation and Software Technology10.1016/j.infsof.2019.106212118:COnline publication date: 1-Feb-2020
  • Show More Cited By

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICPC 2014: Proceedings of the 22nd International Conference on Program Comprehension
June 2014
325 pages
ISBN:9781450328791
DOI:10.1145/2597008
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]

Sponsors

In-Cooperation

  • TCSE: IEEE Computer Society's Tech. Council on Software Engin.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 June 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Content Management Systems
  2. PHP
  3. dynamic typing
  4. variable interferences

Qualifiers

  • Article

Conference

ICSE '14
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)12
  • Downloads (Last 6 weeks)1
Reflects downloads up to 01 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2023)The Co-evolution of the WordPress Platform and Its PluginsACM Transactions on Software Engineering and Methodology10.1145/353370032:1(1-24)Online publication date: 13-Feb-2023
  • (2021)Exposing bugs in JavaScript engines through test transplantation and differential testingSoftware Quality Journal10.1007/s11219-020-09537-8Online publication date: 7-Jan-2021
  • (2020)Practical detection of CMS plugin conflicts in large plugin setsInformation and Software Technology10.1016/j.infsof.2019.106212118:COnline publication date: 1-Feb-2020
  • (2018)Feature location using crowd-based screencastsProceedings of the 15th International Conference on Mining Software Repositories10.1145/3196398.3196439(192-202)Online publication date: 28-May-2018
  • (2018)ConflictJSProceedings of the 40th International Conference on Software Engineering10.1145/3180155.3180184(741-751)Online publication date: 27-May-2018
  • (2017)On cross-stack configuration errorsProceedings of the 39th International Conference on Software Engineering10.1109/ICSE.2017.31(255-265)Online publication date: 20-May-2017
  • (2016)Inter-app communication in AndroidProceedings of the 13th International Conference on Mining Software Repositories10.1145/2901739.2901762(177-188)Online publication date: 14-May-2016
  • (2016)Navigating the WordPress plugin landscape2016 IEEE 24th International Conference on Program Comprehension (ICPC)10.1109/ICPC.2016.7503709(1-10)Online publication date: May-2016
  • (2015)Are PHP applications ready for Hack?2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER)10.1109/SANER.2015.7081816(63-72)Online publication date: Mar-2015
  • (2014)Static, lightweight includes resolution for PHPProceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering10.1145/2642937.2643017(503-514)Online publication date: 15-Sep-2014

View Options

Get Access

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