SwePub
Sök i LIBRIS databas

  Extended search

onr:"swepub:oai:DiVA.org:kth-274268"
 

Search: onr:"swepub:oai:DiVA.org:kth-274268" > An approach and ben...

  • 1 of 1
  • Previous record
  • Next record
  •    To hitlist

An approach and benchmark to detect behavioral changes of commits in continuous integration

Danglot, Benjamin (author)
INRIA, Lille-Nord Europe, 40 Avenue Halley, Villeneuve d’Ascq, 59650, France
Monperrus, Martin (author)
KTH,Teoretisk datalogi, TCS
Rudametkin, Walter (author)
Université de Lille, 42 rue Paul Duez, 59000, Lille, France
show more...
Baudry, Benoit (author)
KTH,Programvaruteknik och datorsystem, SCS
show less...
 (creator_code:org_t)
2020-03-05
2020
English.
In: Empirical Software Engineering. - : Springer Nature. - 1382-3256 .- 1573-7616. ; 25:4, s. 2379-2415
  • Journal article (peer-reviewed)
Abstract Subject headings
Close  
  • When a developer pushes a change to an application’s codebase, a good practice is to have a test case specifying this behavioral change. Thanks to continuous integration (CI), the test is run on subsequent commits to check that they do no introduce a regression for that behavior. In this paper, we propose an approach that detects behavioral changes in commits. As input, it takes a program, its test suite, and a commit. Its output is a set of test methods that capture the behavioral difference between the pre-commit and post-commit versions of the program. We call our approach DCI (Detecting behavioral changes in CI). It works by generating variations of the existing test cases through (i) assertion amplification and (ii) a search-based exploration of the input space. We evaluate our approach on a curated set of 60 commits from 6 open source Java projects. To our knowledge, this is the first ever curated dataset of real-world behavioral changes. Our evaluation shows that DCI is able to generate test methods that detect behavioral changes. Our approach is fully automated and can be integrated into current development processes. The main limitations are that it targets unit tests and works on a relatively small fraction of commits. More specifically, DCI works on commits that have a unit test that already executes the modified code. In practice, from our benchmark projects, we found 15.29% of commits to meet the conditions required by DCI.

Subject headings

NATURVETENSKAP  -- Data- och informationsvetenskap -- Programvaruteknik (hsv//swe)
NATURAL SCIENCES  -- Computer and Information Sciences -- Software Engineering (hsv//eng)

Keyword

Behavioral change detection
Continuous Integration
Test amplification
Integration
Open source software
Testing
Behavioral changes
Continuous integrations
Development process
Fully automated
Generating variations
Good practices
Search-based
Test amplifications
Software testing

Publication and Content Type

ref (subject category)
art (subject category)

Find in a library

To the university's database

  • 1 of 1
  • Previous record
  • Next record
  •    To hitlist

Search outside SwePub

Kungliga biblioteket hanterar dina personuppgifter i enlighet med EU:s dataskyddsförordning (2018), GDPR. Läs mer om hur det funkar här.
Så här hanterar KB dina uppgifter vid användning av denna tjänst.

 
pil uppåt Close

Copy and save the link in order to return to this view