  Context: Code smells are considered symptoms of poor design, leading to
future problems, such as reduced maintainability. Except for anecdotal cases
(e. g. code dropout), a code smell survives until it gets explicitly refactored
or removed. This paper presents a longitudinal study on the survival of code
smells for web apps built with PHP.
  Objectives: RQ: (i) code smells survival depends on their scope? (ii)
practitioners attitudes towards code smells removal in web apps have changed
throughout time? (iii) how long code smells survive in web applications? (iv)
are there sudden variations (anomalies) in the density of code smells through
the evolution of web apps?
  Method: We analyze the evolution of 6 code smells in 8 web applications
written in PHP at the server side, across several years, using the survival
analysis technique. We classify code smells according to scope in two
categories: scattered and localized. Scattered code smells are expected to be
more harmful since their influence is not circumscribed as in localized code
smells. We split the observations for each web app into two equal and
consecutive timeframes, to test the hypothesis that code smells awareness has
increased throughout time. As for the anomalies, we standardize their detection
criteria.
  Results: We present some evidence that code smells survival depends on their
scope: the average survival rate decreases in some of them, while the opposite
is observed for the remainder. The survival of localized code smells is around
4 years, while the scattered ones live around 5 years. Around 60% of the smells
are removed, and some live through all the application life. We also show how a
graphical representation of anomalies found in the evolution of code smells
allows unveiling the story of a development project and make managers aware of
the need for enforcing regular refactoring practices.
