SwePub
Sök i LIBRIS databas

  Utökad sökning

id:"swepub:oai:DiVA.org:kth-264174"
 

Sökning: id:"swepub:oai:DiVA.org:kth-264174" > A journey among Jav...

A journey among Java neutral program variants

Harrand, Nicolas (författare)
KTH,Programvaruteknik och datorsystem, SCS
Allier, Simon (författare)
DGA, Val De Reuil, France.
Rodriguez-Cancio, Marcelino (författare)
Vanderbildt Univ, Nashville, TN USA.
visa fler...
Monperrus, Martin (författare)
KTH,Teoretisk datalogi, TCS
Baudry, Benoit (författare)
KTH,Programvaruteknik och datorsystem, SCS
visa färre...
 (creator_code:org_t)
2019-06-25
2019
Engelska.
Ingår i: Genetic Programming and Evolvable Machines. - : Springer. - 1389-2576 .- 1573-7632. ; 20:4, s. 531-580
  • Tidskriftsartikel (refereegranskat)
Abstract Ämnesord
Stäng  
  • Neutral program variants are alternative implementations of a program, yet equivalent with respect to the test suite. Techniques such as approximate computing or genetic improvement share the intuition that potential for enhancements lies in these acceptable behavioral differences (e.g., enhanced performance or reliability). Yet, the automatic synthesis of neutral program variants, through program transformations remains a key challenge. This work aims at characterizing plastic code regions in Java programs, i.e., the code regions that are modifiable while maintaining functional correctness, according to a test suite. Our empirical study relies on automatic variations of 6 real-world Java programs. First, we transform these programs with three state-of-the-art program transformations: add, replace and delete statements. We get a pool of 23,445 neutral variants, from which we gather the following novel insights: developers naturally write code that supports fine-grain behavioral changes; statement deletion is a surprisingly effective program transformation; high-level design decisions, such as the choice of a data structure, are natural points that can evolve while keeping functionality. Second, we design 3 novel program transformations, targeted at specific plastic regions. New experiments reveal that respectively 60%, 58% and 73% of the synthesized variants (175,688 in total) are neutral and exhibit execution traces that are different from the original.

Ämnesord

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

Nyckelord

Neutral program variant
Program transformation
Java
Code plasticity

Publikations- och innehållstyp

ref (ämneskategori)
art (ämneskategori)

Hitta via bibliotek

Till lärosätets databas

Sök utanför 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 Stäng

Kopiera och spara länken för att återkomma till aktuell vy