EdSketch: execution-driven sketching for Java

Sketching is a synthesis approach that allows users to provide high-level insights into a synthesis problem and let synthesis tools complete low-level details. Users write sketches —partial programs that have “holes” and provide test assertions as the correctness criteria. The sketching techniques f...

Full description

Saved in:
Bibliographic Details
Published inInternational journal on software tools for technology transfer Vol. 21; no. 3; pp. 249 - 265
Main Authors Hua, Jinru, Zhang, Yushan, Zhang, Yuqun, Khurshid, Sarfraz
Format Journal Article
LanguageEnglish
Published Berlin/Heidelberg Springer Berlin Heidelberg 01.06.2019
Springer Nature B.V
Subjects
Online AccessGet full text
ISSN1433-2779
1433-2787
DOI10.1007/s10009-019-00512-8

Cover

Abstract Sketching is a synthesis approach that allows users to provide high-level insights into a synthesis problem and let synthesis tools complete low-level details. Users write sketches —partial programs that have “holes” and provide test assertions as the correctness criteria. The sketching techniques fill the holes with code fragments such that the complete program satisfies all test assertions. Traditional techniques translate the sketching problem to propositional satisfiability formulas and leverage SAT solvers to generate programs with the desired functionality. While effective for a range of small well-defined domains, such translation-based approaches have a key limitation when applying to real applications: They require either translating all relevant libraries that are invoked directly or indirectly by the given sketch or creating models of those libraries, which requires much manual effort. This paper introduces execution-driven sketching , a novel approach for synthesizing Java programs with on-demand candidate generation. The key novelty of our work is to leverage runtime behavior to prune a large amount of search space. EdSketch explores the actual program behaviors in the presence of libraries and sketches small parts of real-world applications, which may use complex constructs of modern languages, such as reflection, native calls and File I/O. We further leverage a set of pruning strategies based on Java syntax to expedite the synthesis process. EdSketch embodies our approach in two forms: a stateful search based on the Java PathFinder model checker; and a stateless search based on re-execution inspired by the VeriSoft model checker. Experimental results show that EdSketch can complete some sketches that contain complex constructs in the presence of libraries, recursive procedures and advanced features like reflection. Without translating to SAT, EdSketch ’s performance compares well with the SAT-based Sketch system for a range of small but complex data structure subjects.
AbstractList Sketching is a synthesis approach that allows users to provide high-level insights into a synthesis problem and let synthesis tools complete low-level details. Users write sketches —partial programs that have “holes” and provide test assertions as the correctness criteria. The sketching techniques fill the holes with code fragments such that the complete program satisfies all test assertions. Traditional techniques translate the sketching problem to propositional satisfiability formulas and leverage SAT solvers to generate programs with the desired functionality. While effective for a range of small well-defined domains, such translation-based approaches have a key limitation when applying to real applications: They require either translating all relevant libraries that are invoked directly or indirectly by the given sketch or creating models of those libraries, which requires much manual effort. This paper introduces execution-driven sketching , a novel approach for synthesizing Java programs with on-demand candidate generation. The key novelty of our work is to leverage runtime behavior to prune a large amount of search space. EdSketch explores the actual program behaviors in the presence of libraries and sketches small parts of real-world applications, which may use complex constructs of modern languages, such as reflection, native calls and File I/O. We further leverage a set of pruning strategies based on Java syntax to expedite the synthesis process. EdSketch embodies our approach in two forms: a stateful search based on the Java PathFinder model checker; and a stateless search based on re-execution inspired by the VeriSoft model checker. Experimental results show that EdSketch can complete some sketches that contain complex constructs in the presence of libraries, recursive procedures and advanced features like reflection. Without translating to SAT, EdSketch ’s performance compares well with the SAT-based Sketch system for a range of small but complex data structure subjects.
Sketching is a synthesis approach that allows users to provide high-level insights into a synthesis problem and let synthesis tools complete low-level details. Users write sketches—partial programs that have “holes” and provide test assertions as the correctness criteria. The sketching techniques fill the holes with code fragments such that the complete program satisfies all test assertions. Traditional techniques translate the sketching problem to propositional satisfiability formulas and leverage SAT solvers to generate programs with the desired functionality. While effective for a range of small well-defined domains, such translation-based approaches have a key limitation when applying to real applications: They require either translating all relevant libraries that are invoked directly or indirectly by the given sketch or creating models of those libraries, which requires much manual effort. This paper introduces execution-driven sketching, a novel approach for synthesizing Java programs with on-demand candidate generation. The key novelty of our work is to leverage runtime behavior to prune a large amount of search space. EdSketch explores the actual program behaviors in the presence of libraries and sketches small parts of real-world applications, which may use complex constructs of modern languages, such as reflection, native calls and File I/O. We further leverage a set of pruning strategies based on Java syntax to expedite the synthesis process. EdSketch embodies our approach in two forms: a stateful search based on the Java PathFinder model checker; and a stateless search based on re-execution inspired by the VeriSoft model checker. Experimental results show that EdSketch can complete some sketches that contain complex constructs in the presence of libraries, recursive procedures and advanced features like reflection. Without translating to SAT, EdSketch ’s performance compares well with the SAT-based Sketch system for a range of small but complex data structure subjects.
Author Hua, Jinru
Khurshid, Sarfraz
Zhang, Yushan
Zhang, Yuqun
Author_xml – sequence: 1
  givenname: Jinru
  surname: Hua
  fullname: Hua, Jinru
  organization: The University of Texas at Austin
– sequence: 2
  givenname: Yushan
  surname: Zhang
  fullname: Zhang, Yushan
  organization: Southern University of Science and Technology
– sequence: 3
  givenname: Yuqun
  surname: Zhang
  fullname: Zhang, Yuqun
  email: zhangyq@sustc.edu.cn
  organization: Southern University of Science and Technology
– sequence: 4
  givenname: Sarfraz
  surname: Khurshid
  fullname: Khurshid, Sarfraz
  organization: The University of Texas at Austin
BookMark eNp9kE1PAyEQhompiW31D3jaxDMKC7sD3kxTq6aJB_VMKLB1a2Ur7Db676Vdo4mHHuYjmfeZgXeEBr7xDqFzSi4pIXAVUyYSE5qCFDTH4ggNKWcM5yBg8NuDPEGjGFeEUChBDhGe2qc315rX68x9OtO1deOxDfXW-SzuB7VfZlUTsge91afouNLr6M5-6hi93E6fJ3d4_ji7n9zMsWFUtrjgxhUGQFDGwXLgmjgHTHILIrdWVtoCL21hmday5DkpDVsIa-yikrSwmo3RRb93E5qPzsVWrZou-HRS5VRSmRCQSSV6lQlNjMFVytSt3v2gDbpeK0rUzhzVm6OSOWpvjhIJzf-hm1C_6_B1GGI9FJPYL134e9UB6hvvN3ez
CitedBy_id crossref_primary_10_1109_TSE_2020_2979701
crossref_primary_10_1016_j_sysarc_2020_101936
crossref_primary_10_3390_sym12122076
crossref_primary_10_1007_s10009_019_00515_5
crossref_primary_10_3390_computers9020027
Cites_doi 10.1145/566172.566191
10.1145/321420.321422
10.1007/s10009-012-0249-7
10.1145/2786805.2786811
10.1109/FMCAD.2013.6679385
10.1109/ASE.2000.873645
10.1145/1368088.1368222
10.1145/1806799.1806833
10.1145/263699.263717
10.1145/1706299.1706339
10.1145/2884781.2884807
10.1109/ASE.2013.6693094
10.1007/978-3-319-46520-3_29
10.1145/1062455.1062491
10.1007/978-3-642-19835-9_15
10.1145/3236024.3264594
10.1145/1101908.1101949
10.1109/ASE.2009.92
10.1145/2635868.2635929
10.1007/978-3-642-39799-8_67
ContentType Journal Article
Copyright Springer-Verlag GmbH Germany, part of Springer Nature 2019
International Journal on Software Tools for Technology Transfer is a copyright of Springer, (2019). All Rights Reserved.
Copyright_xml – notice: Springer-Verlag GmbH Germany, part of Springer Nature 2019
– notice: International Journal on Software Tools for Technology Transfer is a copyright of Springer, (2019). All Rights Reserved.
DBID AAYXX
CITATION
3V.
7SC
7XB
8AL
8AO
8FD
8FE
8FG
8FK
8G5
ABJCF
ABUWG
AFKRA
ARAPS
AZQEC
BENPR
BGLVJ
CCPQU
DWQXO
GNUQQ
GUQSH
HCIFZ
JQ2
K7-
L6V
L7M
L~C
L~D
M0N
M2O
M7S
MBDVC
P5Z
P62
PADUT
PHGZM
PHGZT
PKEHL
PQEST
PQGLB
PQQKQ
PQUKI
PRINS
PTHSS
Q9U
DOI 10.1007/s10009-019-00512-8
DatabaseName CrossRef
ProQuest Central (Corporate)
Computer and Information Systems Abstracts
ProQuest Central (purchase pre-March 2016)
Computing Database (Alumni Edition)
ProQuest Pharma Collection
Technology Research Database
ProQuest SciTech Collection
ProQuest Technology Collection
ProQuest Central (Alumni) (purchase pre-March 2016)
ProQuest Research Library
Materials Science & Engineering Collection
ProQuest Central (Alumni)
ProQuest Central UK/Ireland
Advanced Technologies & Aerospace Collection
ProQuest Central Essentials
ProQuest Central
Technology Collection (ProQuest)
ProQuest One Community College
ProQuest Central Korea
ProQuest Central Student
ProQuest Research Library
SciTech Premium Collection
ProQuest Computer Science Collection
Computer Science Database
ProQuest Engineering Collection
Advanced Technologies Database with Aerospace
Computer and Information Systems Abstracts – Academic
Computer and Information Systems Abstracts Professional
Computing Database
Research Library
Engineering Database
Research Library (Corporate)
AAdvanced Technologies & Aerospace Database (subscription)
ProQuest Advanced Technologies & Aerospace Collection
Research Library China
ProQuest Central Premium
ProQuest One Academic (New)
ProQuest One Academic Middle East (New)
ProQuest One Academic Eastern Edition (DO NOT USE)
ProQuest One Applied & Life Sciences
ProQuest One Academic
ProQuest One Academic UKI Edition
ProQuest Central China
Engineering Collection
ProQuest Central Basic
DatabaseTitle CrossRef
Research Library Prep
Computer Science Database
ProQuest Central Student
Technology Collection
Technology Research Database
Computer and Information Systems Abstracts – Academic
ProQuest One Academic Middle East (New)
ProQuest Advanced Technologies & Aerospace Collection
ProQuest Central Essentials
ProQuest Computer Science Collection
Computer and Information Systems Abstracts
ProQuest Central (Alumni Edition)
SciTech Premium Collection
ProQuest One Community College
Research Library (Alumni Edition)
ProQuest Pharma Collection
ProQuest Central China
ProQuest Central
ProQuest One Applied & Life Sciences
ProQuest Engineering Collection
ProQuest Central Korea
ProQuest Research Library
Research Library China
ProQuest Central (New)
Advanced Technologies Database with Aerospace
Engineering Collection
Advanced Technologies & Aerospace Collection
ProQuest Computing
Engineering Database
ProQuest Central Basic
ProQuest Computing (Alumni Edition)
ProQuest One Academic Eastern Edition
ProQuest Technology Collection
ProQuest SciTech Collection
Computer and Information Systems Abstracts Professional
Advanced Technologies & Aerospace Database
ProQuest One Academic UKI Edition
Materials Science & Engineering Collection
ProQuest One Academic
ProQuest One Academic (New)
ProQuest Central (Alumni)
DatabaseTitleList
Research Library Prep
Database_xml – sequence: 1
  dbid: 8FG
  name: ProQuest Technology Collection
  url: https://search.proquest.com/technologycollection1
  sourceTypes: Aggregation Database
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1433-2787
EndPage 265
ExternalDocumentID 10_1007_s10009_019_00512_8
GroupedDBID -59
-5G
-BR
-EM
-~C
.86
.DC
.VR
06D
0R~
0VY
1N0
203
29J
2J2
2JN
2JY
2KG
2KM
2LR
2~H
30V
4.4
406
408
409
40D
40E
5GY
67Z
6NX
8AO
8FE
8FG
8FW
8G5
8TC
95-
95.
95~
96X
AAAVM
AABHQ
AACDK
AAHNG
AAIAL
AAJBT
AAJKR
AANZL
AARTL
AASML
AATNV
AATVU
AAUYE
AAWCG
AAYIU
AAYQN
AAYTO
AAYZH
ABAKF
ABBBX
ABBXA
ABDZT
ABECU
ABFTD
ABFTV
ABHLI
ABHQN
ABJCF
ABJNI
ABJOX
ABKCH
ABKTR
ABMNI
ABMQK
ABNWP
ABQBU
ABSXP
ABTEG
ABTHY
ABTKH
ABTMW
ABUWG
ABWNU
ABXPI
ACAOD
ACDTI
ACGFS
ACHSB
ACHXU
ACIWK
ACKNC
ACMDZ
ACMLO
ACOKC
ACOMO
ACPIV
ACSNA
ACZOJ
ADHHG
ADHIR
ADINQ
ADKNI
ADKPE
ADRFC
ADTPH
ADURQ
ADYFF
ADZKW
AEFQL
AEGAL
AEGNC
AEJHL
AEJRE
AEMSY
AEOHA
AEPYU
AESKC
AETLH
AEVLU
AEXYK
AFBBN
AFKRA
AFLOW
AFQWF
AFWTZ
AFZKB
AGAYW
AGDGC
AGJBK
AGMZJ
AGQEE
AGQMX
AGRTI
AGWIL
AGWZB
AGYKE
AHAVH
AHBYD
AHKAY
AHYZX
AIAKS
AIGIU
AIIXL
AILAN
AITGF
AJRNO
AJZVZ
ALMA_UNASSIGNED_HOLDINGS
ALWAN
AMKLP
AMXSW
AMYLF
AMYQR
AOCGG
ARAPS
ARMRJ
ASPBG
AVWKF
AXYYD
AYJHY
AZFZN
AZQEC
B-.
BA0
BDATZ
BENPR
BGLVJ
BGNMA
BPHCQ
BSONS
CCPQU
CS3
CSCUP
DDRTE
DL5
DNIVK
DPUIP
DU5
DWQXO
EBLON
EBS
EIOEI
EJD
ESBYG
FEDTE
FERAY
FFXSO
FIGPU
FINBP
FNLPD
FRRFC
FSGXE
FWDCC
GGCAI
GGRSB
GJIRD
GNUQQ
GNWQR
GQ6
GQ7
GQ8
GUQSH
GXS
HCIFZ
HF~
HG5
HG6
HMJXF
HQYDN
HRMNR
HVGLF
I09
IHE
IJ-
IKXTQ
ITM
IWAJR
IXC
IZIGR
IZQ
I~X
I~Z
J-C
J0Z
JBSCW
JCJTX
JZLTJ
K6V
K7-
KDC
KOV
L6V
LAS
LLZTM
M0N
M2O
M4Y
M7S
MA-
NB0
NPVJJ
NQJWS
NU0
O93
O9J
OAM
P62
P9O
PADUT
PF0
PQQKQ
PROAC
PT4
PT5
PTHSS
Q2X
QOS
R89
R9I
ROL
RPX
RSV
S16
S27
S3B
SAP
SCO
SDH
SHX
SISQX
SJYHP
SNE
SNPRN
SNX
SOHCF
SOJ
SPISZ
SRMVM
SSLCW
STPWE
SZN
T13
TSG
TSK
TSV
TUC
U2A
UG4
UOJIU
UTJUX
UZXMN
VC2
VFIZW
W23
W48
WK8
YLTOR
Z45
Z7R
Z7X
Z7Z
Z83
Z88
ZMTXR
-Y2
.4S
1SB
2P1
2VQ
5VS
AAPKM
AARHV
AAYXX
ABBRH
ABDBE
ABFSG
ABQSL
ABULA
ACBXY
ACSTC
ADHKG
AEBTG
AEKMD
AEZWR
AFDZB
AFGCZ
AFHIU
AFOHR
AGGDS
AGQPQ
AHPBZ
AHSBF
AHWEU
AIXLP
AJBLW
ARCSS
ATHPR
AYFIA
CAG
CITATION
COF
EDO
H13
HZ~
I-F
MK~
ML~
N2Q
O9-
PHGZM
PHGZT
RIG
RNI
RZK
S1Z
TUS
3V.
7SC
7XB
8AL
8FD
8FK
ABRTQ
JQ2
L7M
L~C
L~D
MBDVC
PKEHL
PQEST
PQGLB
PQUKI
PRINS
Q9U
ID FETCH-LOGICAL-c319t-54ce5c7781347d474a0ee7394d782dd9fad746d5d3aa964206c3b8dcdbf915da3
IEDL.DBID 8FG
ISSN 1433-2779
IngestDate Sat Aug 23 14:45:31 EDT 2025
Thu Apr 24 23:10:33 EDT 2025
Tue Jul 01 01:52:19 EDT 2025
Fri Feb 21 02:33:57 EST 2025
IsPeerReviewed true
IsScholarly true
Issue 3
Keywords Program sketching
Execution-driven synthesis
Backtracking search
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c319t-54ce5c7781347d474a0ee7394d782dd9fad746d5d3aa964206c3b8dcdbf915da3
Notes ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
PQID 2191942079
PQPubID 46652
PageCount 17
ParticipantIDs proquest_journals_2191942079
crossref_citationtrail_10_1007_s10009_019_00512_8
crossref_primary_10_1007_s10009_019_00512_8
springer_journals_10_1007_s10009_019_00512_8
ProviderPackageCode CITATION
AAYXX
PublicationCentury 2000
PublicationDate 20190601
2019-6-00
PublicationDateYYYYMMDD 2019-06-01
PublicationDate_xml – month: 6
  year: 2019
  text: 20190601
  day: 1
PublicationDecade 2010
PublicationPlace Berlin/Heidelberg
PublicationPlace_xml – name: Berlin/Heidelberg
– name: Heidelberg
PublicationTitle International journal on software tools for technology transfer
PublicationTitleAbbrev Int J Softw Tools Technol Transfer
PublicationYear 2019
Publisher Springer Berlin Heidelberg
Springer Nature B.V
Publisher_xml – name: Springer Berlin Heidelberg
– name: Springer Nature B.V
References Solar-Lezama (CR1) 2013; 15
CR19
CR17
CR39
CR16
CR37
CR14
CR13
CR35
CR12
CR34
CR11
CR33
CR10
CR32
CR31
CR30
Cormen, Leiserson, Rivest, Stein (CR15) 2009
Jackson (CR36) 2006
CR2
Boyapati, Khurshid, Marinov (CR18) 2002; 2002
CR4
CR3
CR6
CR5
CR8
CR7
CR29
Floyd (CR38) 1967; 14
CR28
CR9
CR27
CR26
CR25
CR47
CR24
CR46
CR23
CR45
CR22
CR44
CR21
CR43
CR20
CR42
CR41
CR40
512_CR37
512_CR16
512_CR17
512_CR39
C Boyapati (512_CR18) 2002; 2002
512_CR11
512_CR33
D Jackson (512_CR36) 2006
512_CR12
512_CR34
512_CR13
512_CR35
512_CR14
512_CR4
512_CR5
512_CR30
512_CR6
512_CR31
512_CR7
512_CR10
512_CR32
512_CR2
512_CR3
RW Floyd (512_CR38) 1967; 14
TH Cormen (512_CR15) 2009
512_CR26
512_CR27
512_CR28
512_CR29
512_CR22
512_CR44
512_CR23
512_CR45
512_CR24
512_CR46
512_CR25
512_CR47
512_CR40
512_CR41
512_CR20
512_CR42
512_CR21
512_CR43
A Solar-Lezama (512_CR1) 2013; 15
512_CR8
512_CR9
512_CR19
References_xml – ident: CR45
– ident: CR22
– ident: CR43
– ident: CR47
– ident: CR4
– ident: CR14
– ident: CR39
– ident: CR2
– ident: CR16
– ident: CR37
– ident: CR12
– ident: CR30
– ident: CR10
– ident: CR33
– ident: CR35
– ident: CR6
– ident: CR29
– year: 2006
  ident: CR36
  publication-title: Software Abstractions: Logic, Language, and Analysis
– ident: CR8
– ident: CR40
– year: 2009
  ident: CR15
  publication-title: Introduction to Algorithms
– ident: CR25
– ident: CR27
– ident: CR42
– ident: CR23
– ident: CR21
– ident: CR46
– ident: CR19
– ident: CR44
– volume: 2002
  start-page: 123
  year: 2002
  end-page: 133
  ident: CR18
  article-title: Korat: automated testing based on Java predicates
  publication-title: ISSTA
  doi: 10.1145/566172.566191
– volume: 14
  start-page: 4
  year: 1967
  ident: CR38
  article-title: Nondeterministic algorithms
  publication-title: J. ACM
  doi: 10.1145/321420.321422
– volume: 15
  start-page: 475
  issue: 5–6
  year: 2013
  end-page: 495
  ident: CR1
  article-title: Program sketching
  publication-title: STTT
  doi: 10.1007/s10009-012-0249-7
– ident: CR3
– ident: CR17
– ident: CR31
– ident: CR13
– ident: CR11
– ident: CR9
– ident: CR32
– ident: CR34
– ident: CR5
– ident: CR7
– ident: CR28
– ident: CR41
– ident: CR26
– ident: CR24
– ident: CR20
– ident: 512_CR34
– ident: 512_CR11
– ident: 512_CR45
  doi: 10.1145/2786805.2786811
– ident: 512_CR9
– ident: 512_CR28
– ident: 512_CR4
  doi: 10.1109/FMCAD.2013.6679385
– ident: 512_CR7
  doi: 10.1109/ASE.2000.873645
– ident: 512_CR12
  doi: 10.1145/1368088.1368222
– ident: 512_CR30
– ident: 512_CR32
  doi: 10.1145/1806799.1806833
– ident: 512_CR8
  doi: 10.1145/263699.263717
– ident: 512_CR19
  doi: 10.1145/1706299.1706339
– ident: 512_CR20
– ident: 512_CR46
  doi: 10.1145/2884781.2884807
– ident: 512_CR22
– ident: 512_CR24
– ident: 512_CR5
– ident: 512_CR3
– ident: 512_CR26
– ident: 512_CR44
  doi: 10.1109/ASE.2013.6693094
– ident: 512_CR47
  doi: 10.1007/978-3-319-46520-3_29
– ident: 512_CR41
  doi: 10.1145/1062455.1062491
– ident: 512_CR43
  doi: 10.1007/978-3-642-19835-9_15
– volume: 15
  start-page: 475
  issue: 5–6
  year: 2013
  ident: 512_CR1
  publication-title: STTT
  doi: 10.1007/s10009-012-0249-7
– ident: 512_CR10
– ident: 512_CR33
– volume-title: Introduction to Algorithms
  year: 2009
  ident: 512_CR15
– ident: 512_CR35
  doi: 10.1145/3236024.3264594
– ident: 512_CR31
– ident: 512_CR37
– volume-title: Software Abstractions: Logic, Language, and Analysis
  year: 2006
  ident: 512_CR36
– ident: 512_CR16
– ident: 512_CR17
  doi: 10.1145/1101908.1101949
– ident: 512_CR14
– ident: 512_CR42
  doi: 10.1109/ASE.2009.92
– ident: 512_CR23
– ident: 512_CR29
  doi: 10.1145/2635868.2635929
– ident: 512_CR21
– ident: 512_CR25
– volume: 14
  start-page: 4
  year: 1967
  ident: 512_CR38
  publication-title: J. ACM
  doi: 10.1145/321420.321422
– ident: 512_CR2
– ident: 512_CR13
  doi: 10.1007/978-3-642-39799-8_67
– ident: 512_CR6
– volume: 2002
  start-page: 123
  year: 2002
  ident: 512_CR18
  publication-title: ISSTA
  doi: 10.1145/566172.566191
– ident: 512_CR27
– ident: 512_CR39
– ident: 512_CR40
SSID ssj0017679
Score 2.2214048
Snippet Sketching is a synthesis approach that allows users to provide high-level insights into a synthesis problem and let synthesis tools complete low-level details....
SourceID proquest
crossref
springer
SourceType Aggregation Database
Enrichment Source
Index Database
Publisher
StartPage 249
SubjectTerms Computer Science
Data structures
Domains
Java
Libraries
Pruning
Reflection
Searching
Sketches
Software Engineering
Software Engineering/Programming and Operating Systems
Solvers
Spin 2017
Synthesis
Theory of Computation
SummonAdditionalLinks – databaseName: SpringerLINK - Czech Republic Consortium
  dbid: AGYKE
  link: http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlR1NT8Iw9EXh4kX8jCiaHbxpyba26-qNGJBg9KIkeFq6trtg0MAwxl_v69hAiZp4btd277vv9b0HcG4szVIlI2K5xAsKDTVBLZcRP9MW9QMi2jqH_t191B-ywYiPyqSwWfXavQpJFpL6S7Jb4ch3STdIScjHm1DnQSzjGtQ7N0-33WX0QERFjT00BSgJhZBlsszPq3xXSCsrcy0wWuibXgOG1UkXz0zG7XmetvXHWhHH__7KDmyXBqjXWVDMLmzYyR40quYOXsnr-0C65mHscHrl2XerC_okZuqEozcrBnBHD01eb6De1AEMe93H6z4peysQjUyXE8605VqI2KWSGiaY8q0VVDKDJoMxMlNGsMhwQxVikoV-pGkaG23STAbcKHoItcnLxB6BxxmzUhuUmhllymqllKBGGo4b-IEVTQgqACe6LDzu-l88J6uSyQ4eCcIjKeCRxE24WH7zuii78efsVoW3pGTBWYKiOJB4cCGbcFmhYTX8-2rH_5t-AlthgUnnmWlBLZ_O7SkaKnl6VtLlJyZ727Q
  priority: 102
  providerName: Springer Nature
Title EdSketch: execution-driven sketching for Java
URI https://link.springer.com/article/10.1007/s10009-019-00512-8
https://www.proquest.com/docview/2191942079
Volume 21
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwfV3NT8IwFG8ULl78NqJIdvCmjbB2K_ViwAwIRmJUEj0tpa-7aAABjX--r6Vj0UROPXTrkt_77Ht77xFyDoZlIyVjaiKJFxQWaopWLqP1TBu0D0hoYwP694O4N-T9l-jFB9zm_rfKXCc6RQ0TbWPkVyhZeN8O60LeTD-onRpls6t-hMYmKTfQ0lg-b3a6qyyCiF2vPXQJGA2FkL5oxpfOubSALeFBvkSt8NswFd7mnwSpszudXbLtHcagtaTwHtkw432ykw9jCLxsHhCawNObpcF1YL6NdvxEYWaVWTB3G3h8gC5q0Fdf6pAMO8nzbY_6WQhUo5AsaMS1ibQQTVv6CVxwVTdGMMkBTTyAzBQIHkMETCHyiFOs2agJGkaZbESg2BEpjSdjc0yCiHMjNaCWyxhXRiulBAMJEX6g3jCiQho5EKn2jcLtvIr3tGhxbMFLEbzUgZc2K-Ri9c502SZj7dPVHN_Ui8w8LQhcIZc55sX2_6edrD_tlGyFjsw2clIlpcXs05yhI7EY1Ry31Ei51Wm3B3btvt4luLaTwcMj7g7D1g9AQ8dy
linkProvider ProQuest
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV3JTsMwEB2VcoALO6JQIAc4gUUaO3GNhBBLq7JViEXiFlyPcwEVaMv2U3wj4zQhAglunJ2MlTerPZkZgDW0POloFTEbKjqg8MAw8nIJ8xNjyT8Qo6270D9rR61rcXwT3pTgI6-Fcb9V5jYxNdT4YNwd-RZpFp23A1-q3ccn5qZGuexqPkJjKBYn9v2Vjmz9naND4u96EDQbVwctlk0VYIbEbcBCYWxopKy7IkoUUmjfWsmVQHKWiCrRKEWEIXJN30A7RoZ36miwk6haiJoT3REYFa6itQyj-432-cVX3kJGaXc_CkI4C6RUWZlOVqyXJiJc0RBpAtmh766wiG9_pGRTT9ecgoksRPX2hjI1DSXbnYHJfPyDl1mDWWANvLxzXN_27Js1qQQz7Dnz6fXTBSLvUVDsHesXPQfX_4LTPJS7D127AF4ohFUGya4mXGhrtNaSo8KQNvBrVlaglgMRm6w1uZuQcR8XTZUdeDGBF6fgxfUKbHy98zhszPHn09Uc3zhT0n5ciFQFNnPMi-XfqS3-TW0VxlpXZ6fx6VH7ZAnGg5Tl7t6mCuVB79kuUxgz6KxksuPB7X-L6ydtLwDx
linkToPdf http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1ZT8MwDLY4JMQLN2KcfYAniLY1abMgIYSAwriEBJP2VrI4fQGNY-P6a_w6nKzdBBJ747mto9pffMSxDbCJlmctrWJmI0UBCg8NIyuXsUpmLNkHErR1B_qXV_FpQ5w1o-YIfBW1MO5aZaETvaLGR-POyMu0syjeDitSlbP8WsT1UbL_9MzcBCmXaS3GafQgcm4_3yl86-zVj0jWW2GYHN8enrJ8wgAzBL0ui4SxkZGy5goqUUihK9ZKrgSS4URUmUYpYoyQa_ofWj02vFVDg61MVSPUnOiOwrjkUrnAr5ac9DMYMvZ9_sgd4SyUUuUFO3nZnk9JuPIh2hOkkX4axYGn-ys5621eMgNTubMaHPTQNQsjtj0H08UgiCDXC_PAjvHm3sl_N7Af1ngsM3xxijTo-AdEPiD3ODjTb3oBGv_CpUUYaz-27RIEkRBWGSQNm3GhrdFaS44KI1qgUrWyBNWCEanJm5S7WRkP6aC9smNeSsxLPfPSWgm2-9889Vp0DH17teBvmm_XTjoAVwl2Cp4PHv9NbXk4tQ2YIJCmF_Wr8xWYDL3E3QHOKox1X17tGvkz3da6B04Ad_-N1G_hGAPB
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=EdSketch%3A+execution-driven+sketching+for+Java&rft.jtitle=International+journal+on+software+tools+for+technology+transfer&rft.au=Hua%2C+Jinru&rft.au=Zhang%2C+Yushan&rft.au=Zhang%2C+Yuqun&rft.au=Khurshid%2C+Sarfraz&rft.date=2019-06-01&rft.pub=Springer+Nature+B.V&rft.issn=1433-2779&rft.eissn=1433-2787&rft.volume=21&rft.issue=3&rft.spage=249&rft.epage=265&rft_id=info:doi/10.1007%2Fs10009-019-00512-8&rft.externalDBID=HAS_PDF_LINK
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1433-2779&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1433-2779&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1433-2779&client=summon