Evolving Java']JavaScript Code to Reduce Load Time

被引:4
作者
Farzat, Fabio de A. [1 ]
Barros, Marcio de O. [2 ]
Travassos, Guilherme H. [1 ]
机构
[1] COPPE UFRJ, Syst Engn & Comp Sci Program, Cx Postal 68501,Cidade Univ, BR-21941594 Rio De Janeiro, RJ, Brazil
[2] PPGI UNIRIO, Postgrad Informat Syst Dept, AV Pasteur 458, BR-22290250 Rio De Janeiro, RJ, Brazil
关键词
Software; Syntactics; Genetic programming; Software algorithms; Heuristic algorithms; Libraries; Runtime; !text type='Java']Java[!/text]Script; source code improvement; genetic programming; local search; SOFTWARE;
D O I
10.1109/TSE.2019.2928293
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
JavaScript is one of the most used programming languages for front-end development of Web applications. The increase in complexity of front-end features brings concerns about performance, especially the load and execution time of JavaScript code. In this paper, we propose an evolutionary program improvement technique to reduce the size of JavaScript programs and, therefore, the time required to load and execute them in Web applications. To guide the development of this technique, we performed an experimental study to characterize the patches applied to JavaScript programs to reduce their size while keeping the functionality required to pass all test cases in their test suites. We applied this technique to 19 JavaScript programs varying from 92 to 15,602 LOC and observed reductions from 0.2 to 73.8 percent of the original code, as well as a relationship between the quality of a program's test suite and the ability to reduce the size of its source code.
引用
收藏
页码:1544 / 1558
页数:15
相关论文
共 31 条
[1]  
Abramov D., 2017, SCENES IMPROVING REP
[2]   Comparing Line and AST Granularity Level for Program Repair using PyGGI [J].
An, Gabin ;
Kim, Jinhan ;
Yoo, Shin .
2018 ACM/IEEE 4TH INTERNATIONAL GENETIC IMPROVEMENT WORKSHOP (GI@ICSE 2018), 2018, :19-26
[3]  
Anderson Christopher., 2006, Type inference for JavaScript
[4]  
[Anonymous], 2005, 4122 RFC
[5]  
Arcuri A, 2008, LECT NOTES COMPUT SC, V5361, P61
[6]   A Novel Co-evolutionary Approach to Automatic Software Bug Fixing [J].
Arcuri, Andrea ;
Yao, Xin .
2008 IEEE CONGRESS ON EVOLUTIONARY COMPUTATION, VOLS 1-8, 2008, :162-168
[7]  
Armstrong R., 1999, Proceedings. The Eighth International Symposium on High Performance Distributed Computing (Cat. No.99TH8469), P115, DOI 10.1109/HPDC.1999.805289
[8]  
Bengtsson P., 2016, ADV CLOSURE COMPILER
[9]  
Bierman G, 2014, LECT NOTES COMPUT SC, V8586, P257
[10]   Gin: Genetic Improvement Research Made Easy [J].
Brownlee, Alexander E. I. ;
Petke, Justyna ;
Alexander, Brad ;
Barr, Earl T. ;
Wagner, Markus ;
White, David R. .
PROCEEDINGS OF THE 2019 GENETIC AND EVOLUTIONARY COMPUTATION CONFERENCE (GECCO'19), 2019, :985-993