Summary: | Submitted by Marlene Santos (marlene.bc.ufg@gmail.com) on 2016-06-09T17:02:10Z
No. of bitstreams: 2
Tese - Eduardo Noronha de Andrade Freitas - 2016.pdf: 1936673 bytes, checksum: 4336d187b0e552ae806ef83b9f695db0 (MD5)
license_rdf: 19874 bytes, checksum: 38cb62ef53e6f513db2fb7e337df6485 (MD5) === Approved for entry into archive by Luciana Ferreira (lucgeral@gmail.com) on 2016-06-10T11:14:00Z (GMT) No. of bitstreams: 2
Tese - Eduardo Noronha de Andrade Freitas - 2016.pdf: 1936673 bytes, checksum: 4336d187b0e552ae806ef83b9f695db0 (MD5)
license_rdf: 19874 bytes, checksum: 38cb62ef53e6f513db2fb7e337df6485 (MD5) === Made available in DSpace on 2016-06-10T11:14:00Z (GMT). No. of bitstreams: 2
Tese - Eduardo Noronha de Andrade Freitas - 2016.pdf: 1936673 bytes, checksum: 4336d187b0e552ae806ef83b9f695db0 (MD5)
license_rdf: 19874 bytes, checksum: 38cb62ef53e6f513db2fb7e337df6485 (MD5)
Previous issue date: 2016-02-15 === Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPES === Fundação de Amparo à Pesquisa do Estado de Goiás - FAPEG === The creation of a suite of unit testing is preceded by the selection of which components
(code units) should be tested. This selection is a significant challenge, usually made based
on the team member’s experience or guided by defect prediction or fault localization models.
We modeled the selection of components for unit testing with limited resources as a
multi-objective problem, addressing two different objectives: maximizing benefits and
minimizing cost. To measure the benefit of a component, we made use of important metrics
from static analysis (cost of future maintenance), dynamic analysis (risk of fault, and
frequency of calls), and business value. We tackled gaps and challenges in the literature
to formulate an effective method, the Selector of Software Components for Unit testing
(SCOUT). SCOUT was structured in two stages: an automated extraction of all necessary
data and a multi-objective optimization process. The Android platform was chosen to
perform our experiments, and nine leading open-source applications were used as our subjects.
SCOUT was compared with two of the most frequently used strategies in terms of
efficacy.We also compared the effectiveness and efficiency of seven algorithms in solving
a multi-objective component selection problem: random technique; constructivist heuristic;
Gurobi, a commercial tool; genetic algorithm; SPEA_II; NSGA_II; and NSGA_III.
The results indicate the benefits of using multi-objective evolutionary approaches such
as NSGA_II and demonstrate that SCOUT has a significant potential to reduce market
vulnerability. To the best of our knowledge, SCOUT is the first method to assist software
testing managers in selecting components at the method level for the development of unit
testing in an automated way based on a multi-objective approach, exploring static and
dynamic metrics and business value. === (Sem resumo)
|