A field study of API learning obstacles

Large APIs can be hard to learn, and this can lead to decreased programmer productivity. But what makes APIs hard to learn? We conducted a mixed approach, multi-phased study of the obstacles faced by Microsoft developers learning a wide variety of new APIs. The study involved a combination of survey...

Full description

Saved in:
Bibliographic Details
Published inEmpirical software engineering : an international journal Vol. 16; no. 6; pp. 703 - 732
Main Authors Robillard, Martin P., DeLine, Robert
Format Journal Article
LanguageEnglish
Published Boston Springer US 01.12.2011
Springer Nature B.V
Subjects
Online AccessGet full text

Cover

Loading…
Abstract Large APIs can be hard to learn, and this can lead to decreased programmer productivity. But what makes APIs hard to learn? We conducted a mixed approach, multi-phased study of the obstacles faced by Microsoft developers learning a wide variety of new APIs. The study involved a combination of surveys and in-person interviews, and collected the opinions and experiences of over 440 professional developers. We found that some of the most severe obstacles faced by developers learning new APIs pertained to the documentation and other learning resources. We report on the obstacles developers face when learning new APIs, with a special focus on obstacles related to API documentation. Our qualitative analysis elicited five important factors to consider when designing API documentation: documentation of intent; code examples; matching APIs with scenarios; penetrability of the API; and format and presentation. We analyzed how these factors can be interpreted to prioritize API documentation development efforts
AbstractList Large APIs can be hard to learn, and this can lead to decreased programmer productivity. But what makes APIs hard to learn? We conducted a mixed approach, multi-phased study of the obstacles faced by Microsoft developers learning a wide variety of new APIs. The study involved a combination of surveys and in-person interviews, and collected the opinions and experiences of over 440 professional developers. We found that some of the most severe obstacles faced by developers learning new APIs pertained to the documentation and other learning resources. We report on the obstacles developers face when learning new APIs, with a special focus on obstacles related to API documentation. Our qualitative analysis elicited five important factors to consider when designing API documentation: documentation of intent; code examples; matching APIs with scenarios; penetrability of the API; and format and presentation. We analyzed how these factors can be interpreted to prioritize API documentation development efforts
Large APIs can be hard to learn, and this can lead to decreased programmer productivity. But what makes APIs hard to learn? We conducted a mixed approach, multi-phased study of the obstacles faced by Microsoft developers learning a wide variety of new APIs. The study involved a combination of surveys and in-person interviews, and collected the opinions and experiences of over 440 professional developers. We found that some of the most severe obstacles faced by developers learning new APIs pertained to the documentation and other learning resources. We report on the obstacles developers face when learning new APIs, with a special focus on obstacles related to API documentation. Our qualitative analysis elicited five important factors to consider when designing API documentation: documentation of intent; code examples; matching APIs with scenarios; penetrability of the API; and format and presentation. We analyzed how these factors can be interpreted to prioritize API documentation development efforts[PUBLICATION ABSTRACT]
Author DeLine, Robert
Robillard, Martin P.
Author_xml – sequence: 1
  givenname: Martin P.
  surname: Robillard
  fullname: Robillard, Martin P.
  email: martin@cs.mcgill.ca
  organization: School of Computer Science, McGill University
– sequence: 2
  givenname: Robert
  surname: DeLine
  fullname: DeLine, Robert
  organization: Microsoft Research, One Microsoft Way
BookMark eNp9kM1LwzAYh4NMcJv-Ad6Kl52ibz6aNMcx_IKBHvQc0iQdHV06k_aw_96WCsJAT8nheV5-PAs0C23wCN0SuCcA8iEREIJjIIAVyQEXF2hOcsmwFETMhj8rKGY0F1dokdIeAJTk-Ryt1llV-8ZlqevdKWurbP3-mjXexFCHXdaWqTO28ekaXVamSf7m512iz6fHj80L3r49v27WW2wZlx3mZem4k4oNYyBXREoDEpiy1HlpiSi5UYY4z1gORBDLnANnKaOGO2OsZEu0mu4eY_vV-9TpQ52sbxoTfNsnraigihEykndn5L7tYxjG6aIoKKdCFgMkJ8jGNqXoK23rznR1G7po6kYT0GM-PeXTQz495tOjSc7MY6wPJp7-dejkpIENOx9_J_0tfQP04YDo
CitedBy_id crossref_primary_10_1109_TSE_2020_3047088
crossref_primary_10_1016_j_cola_2022_101189
crossref_primary_10_1109_TSE_2018_2876006
crossref_primary_10_1145_3687299
crossref_primary_10_1007_s10664_025_10618_0
crossref_primary_10_1145_2544173_2509523
crossref_primary_10_1002_widm_1369
crossref_primary_10_1109_TSE_2021_3067156
crossref_primary_10_1007_s11390_021_0235_1
crossref_primary_10_1016_j_csi_2022_103657
crossref_primary_10_1007_s10515_021_00294_x
crossref_primary_10_1002_smr_1660
crossref_primary_10_1109_ACCESS_2023_3238813
crossref_primary_10_1007_s11219_024_09686_0
crossref_primary_10_1109_TSE_2014_2387172
crossref_primary_10_1016_j_cosrev_2019_05_001
crossref_primary_10_1186_s40411_018_0050_8
crossref_primary_10_1016_j_jss_2019_07_101
crossref_primary_10_1002_spe_2215
crossref_primary_10_1109_TSE_2020_3023664
crossref_primary_10_1007_s11390_020_0042_0
crossref_primary_10_1002_pra2_2018_14505501171
crossref_primary_10_1145_3392859
crossref_primary_10_1109_MIC_2018_032501515
crossref_primary_10_1109_TSC_2018_2812729
crossref_primary_10_1007_s10664_023_10304_z
crossref_primary_10_1145_3439769
crossref_primary_10_1109_ACCESS_2017_2777845
crossref_primary_10_3390_philosophies1010087
crossref_primary_10_1016_j_infsof_2019_03_009
crossref_primary_10_1007_s10664_022_10156_z
crossref_primary_10_1007_s11771_019_4185_5
crossref_primary_10_1145_3444945
crossref_primary_10_1007_s10664_023_10345_4
crossref_primary_10_1016_j_jss_2016_12_036
crossref_primary_10_3390_mti8040035
crossref_primary_10_1002_smr_1841
crossref_primary_10_1109_TSE_2019_2903039
crossref_primary_10_1016_j_jss_2018_04_034
crossref_primary_10_1145_2896587
crossref_primary_10_1016_j_jss_2024_111974
crossref_primary_10_1134_S0361768820080241
crossref_primary_10_1007_s10664_020_09857_0
crossref_primary_10_1007_s10664_014_9323_y
crossref_primary_10_1016_j_jss_2014_10_014
crossref_primary_10_1007_s10664_015_9411_7
crossref_primary_10_1145_3695988
crossref_primary_10_1109_TSE_2021_3120203
crossref_primary_10_1145_3561383
crossref_primary_10_1007_s10664_022_10235_1
crossref_primary_10_1145_3545995
crossref_primary_10_1109_TSE_2017_2782280
crossref_primary_10_1002_spe_2906
crossref_primary_10_1145_3571850
crossref_primary_10_1142_S0218194021500406
crossref_primary_10_1007_s10664_019_09743_4
crossref_primary_10_1007_s10664_016_9444_6
crossref_primary_10_1007_s10664_015_9421_5
crossref_primary_10_1145_3702976
crossref_primary_10_1016_j_jss_2016_06_063
crossref_primary_10_1016_j_jss_2021_110971
crossref_primary_10_1016_j_jss_2021_111146
crossref_primary_10_1109_TSE_2020_3040935
crossref_primary_10_1007_s10515_023_00401_0
crossref_primary_10_1145_3715007
crossref_primary_10_1016_j_jss_2020_110728
crossref_primary_10_1145_3622851
crossref_primary_10_3389_frai_2020_00013
crossref_primary_10_1145_3470133
crossref_primary_10_1007_s10664_021_09962_8
crossref_primary_10_1109_TSE_2013_12
crossref_primary_10_1016_j_ins_2018_03_014
crossref_primary_10_1109_TE_2013_2238543
crossref_primary_10_1109_TSE_2020_2988396
crossref_primary_10_1016_j_cosrev_2025_100732
crossref_primary_10_1186_s13173_016_0049_0
crossref_primary_10_1002_asi_24067
crossref_primary_10_1109_MS_2014_80
crossref_primary_10_1007_s11432_019_2745_5
crossref_primary_10_1145_3358931_3358937
crossref_primary_10_1016_j_cola_2023_101201
crossref_primary_10_1007_s10664_018_9614_9
crossref_primary_10_1007_s10515_024_00442_z
crossref_primary_10_1007_s10664_023_10318_7
crossref_primary_10_1007_s10664_022_10241_3
crossref_primary_10_1145_3565799
crossref_primary_10_1007_s00766_023_00401_2
crossref_primary_10_1007_s10664_014_9343_7
crossref_primary_10_1145_2990497
crossref_primary_10_1145_2622669
crossref_primary_10_1007_s11219_024_09668_2
crossref_primary_10_1016_j_jss_2020_110724
crossref_primary_10_1145_3691627
crossref_primary_10_1016_j_infsof_2016_04_004
crossref_primary_10_1177_2053951719827619
crossref_primary_10_1016_j_infsof_2021_106686
crossref_primary_10_1016_j_jvlc_2016_07_005
crossref_primary_10_1109_TSE_2012_63
crossref_primary_10_1109_TSE_2020_2996975
crossref_primary_10_1016_j_jss_2024_112296
crossref_primary_10_1109_TSE_2014_2367027
crossref_primary_10_1109_TSE_2023_3332568
crossref_primary_10_1142_S0218194022500437
crossref_primary_10_1049_sfw2_12023
crossref_primary_10_1145_3453478
crossref_primary_10_1007_s00766_020_00342_0
crossref_primary_10_1109_TSE_2020_2981898
crossref_primary_10_1177_0047281617721853
Cites_doi 10.1109/52.922731
10.1145/361598.361623
10.1109/ICSE.2007.92
10.1145/584955.584976
10.1109/VLHCC.2007.44
10.1109/ICSM.2002.1167761
10.1109/ICPC.2008.12
10.1109/VLHCC.2008.4639083
10.1109/ICCE.2005.1429764
10.1145/1176617.1176622
10.1145/1518701.1518944
10.1109/52.676963
10.1109/VLHCC.2008.4639084
10.1145/1453101.1453117
10.1016/j.infsof.2007.02.013
10.1109/MS.2009.193
10.1109/TSE.2006.117
10.1016/S0164-1212(02)00136-X
10.1109/ICSE.2007.85
10.4135/9781452230153
10.4324/9780080481913
10.1109/52.991326
10.1109/TSE.2008.26
10.1007/978-3-642-00427-8_6
10.1109/32.881720
10.1145/234526.234530
ContentType Journal Article
Copyright Springer Science+Business Media, LLC 2010
Springer Science+Business Media, LLC 2011
Copyright_xml – notice: Springer Science+Business Media, LLC 2010
– notice: Springer Science+Business Media, LLC 2011
DBID AAYXX
CITATION
7SC
8FD
8FE
8FG
ABJCF
AFKRA
ARAPS
BENPR
BGLVJ
CCPQU
DWQXO
HCIFZ
JQ2
L6V
L7M
L~C
L~D
M7S
P5Z
P62
PHGZM
PHGZT
PKEHL
PQEST
PQGLB
PQQKQ
PQUKI
PRINS
PTHSS
S0W
DOI 10.1007/s10664-010-9150-8
DatabaseName CrossRef
Computer and Information Systems Abstracts
Technology Research Database
ProQuest SciTech Collection
ProQuest Technology Collection
Materials Science & Engineering Collection
ProQuest Central UK/Ireland
Advanced Technologies & Aerospace Collection
ProQuest Central
Technology Collection
ProQuest One
ProQuest Central Korea
SciTech Premium Collection
ProQuest Computer Science Collection
ProQuest Engineering Collection
Advanced Technologies Database with Aerospace
Computer and Information Systems Abstracts – Academic
Computer and Information Systems Abstracts Professional
Engineering Database
Advanced Technologies & Aerospace Database
ProQuest Advanced Technologies & Aerospace Collection
ProQuest Central Premium
ProQuest One Academic
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
DELNET Engineering & Technology Collection
DatabaseTitle CrossRef
Technology Collection
Technology Research Database
Computer and Information Systems Abstracts – Academic
ProQuest One Academic Middle East (New)
ProQuest Advanced Technologies & Aerospace Collection
ProQuest Computer Science Collection
Computer and Information Systems Abstracts
SciTech Premium Collection
ProQuest One Community College
ProQuest Central China
ProQuest Central
ProQuest One Applied & Life Sciences
ProQuest Engineering Collection
ProQuest Central Korea
ProQuest Central (New)
Advanced Technologies Database with Aerospace
Engineering Collection
Advanced Technologies & Aerospace Collection
Engineering Database
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
ProQuest DELNET Engineering and Technology Collection
Materials Science & Engineering Collection
ProQuest One Academic
ProQuest One Academic (New)
DatabaseTitleList Computer and Information Systems Abstracts
Technology Collection

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 1573-7616
EndPage 732
ExternalDocumentID 2447467901
10_1007_s10664_010_9150_8
Genre Feature
GroupedDBID -4Z
-59
-5G
-BR
-EM
-Y2
-~C
.86
.DC
.VR
06D
0R~
0VY
199
1N0
1SB
2.D
203
28-
29G
2J2
2JN
2JY
2KG
2LR
2P1
2VQ
2~H
30V
4.4
406
408
409
40D
40E
5GY
5QI
5VS
67Z
6NX
78A
8FE
8FG
8TC
8UJ
95-
95.
95~
96X
AABHQ
AACDK
AAHNG
AAIAL
AAJBT
AAJKR
AANZL
AAOBN
AARHV
AARTL
AASML
AATNV
AATVU
AAUYE
AAWCG
AAYIU
AAYOK
AAYQN
AAYTO
AAYZH
ABAKF
ABBBX
ABBXA
ABDZT
ABECU
ABFTD
ABFTV
ABHLI
ABHQN
ABJCF
ABJNI
ABJOX
ABKCH
ABKTR
ABMNI
ABMQK
ABNWP
ABQBU
ABQSL
ABSXP
ABTEG
ABTHY
ABTKH
ABTMW
ABULA
ABWNU
ABXPI
ACAOD
ACBXY
ACDTI
ACGFS
ACHSB
ACHXU
ACIWK
ACKNC
ACMDZ
ACMLO
ACOKC
ACOMO
ACPIV
ACSNA
ACZOJ
ADHHG
ADHIR
ADIMF
ADINQ
ADKNI
ADKPE
ADRFC
ADTPH
ADURQ
ADYFF
ADZKW
AEBTG
AEFIE
AEFQL
AEGAL
AEGNC
AEJHL
AEJRE
AEKMD
AEMSY
AENEX
AEOHA
AEPYU
AESKC
AETLH
AEVLU
AEXYK
AFBBN
AFEXP
AFGCZ
AFKRA
AFLOW
AFQWF
AFWTZ
AFZKB
AGAYW
AGDGC
AGGDS
AGJBK
AGMZJ
AGQEE
AGQMX
AGRTI
AGWIL
AGWZB
AGYKE
AHAVH
AHBYD
AHKAY
AHSBF
AHYZX
AIAKS
AIGIU
AIIXL
AILAN
AITGF
AJBLW
AJRNO
AJZVZ
ALMA_UNASSIGNED_HOLDINGS
ALWAN
AMKLP
AMXSW
AMYLF
AMYQR
AOCGG
ARAPS
ARMRJ
ASPBG
AVWKF
AXYYD
AYJHY
AZFZN
B-.
BA0
BBWZM
BDATZ
BENPR
BGLVJ
BGNMA
BSONS
CAG
CCPQU
COF
CS3
CSCUP
DDRTE
DL5
DNIVK
DPUIP
DU5
EBLON
EBS
EIOEI
EJD
ESBYG
FEDTE
FERAY
FFXSO
FIGPU
FINBP
FNLPD
FRRFC
FSGXE
FWDCC
GGCAI
GGRSB
GJIRD
GNWQR
GQ6
GQ7
GQ8
GXS
H13
HCIFZ
HF~
HG5
HG6
HMJXF
HQYDN
HRMNR
HVGLF
HZ~
I09
IHE
IJ-
IKXTQ
ITM
IWAJR
IXC
IZIGR
IZQ
I~X
I~Z
J-C
J0Z
JBSCW
JCJTX
JZLTJ
KDC
KOV
KOW
L6V
LAK
LLZTM
M4Y
M7S
MA-
N2Q
NB0
NDZJH
NPVJJ
NQJWS
NU0
O9-
O93
O9G
O9I
O9J
OAM
P19
P62
P9O
PF0
PT4
PT5
PTHSS
Q2X
QOK
QOS
R4E
R89
R9I
RHV
RNI
RNS
ROL
RPX
RSV
RZC
RZE
RZK
S0W
S16
S1Z
S26
S27
S28
S3B
SAP
SCJ
SCLPG
SCO
SDH
SDM
SHX
SISQX
SJYHP
SNE
SNPRN
SNX
SOHCF
SOJ
SPISZ
SRMVM
SSLCW
STPWE
SZN
T13
T16
TSG
TSK
TSV
TUC
U2A
UG4
UOJIU
UTJUX
UZXMN
VC2
VFIZW
W23
W48
WK8
YLTOR
Z45
Z7R
Z7S
Z7V
Z7X
Z7Z
Z81
Z83
Z86
Z88
Z8M
Z8N
Z8P
Z8R
Z8T
Z8U
Z8W
Z92
ZMTXR
~EX
AAPKM
AAYXX
ABBRH
ABDBE
ABFSG
ACSTC
ADHKG
AEZWR
AFDZB
AFHIU
AFOHR
AGQPQ
AHPBZ
AHWEU
AIXLP
ATHPR
AYFIA
CITATION
PHGZM
PHGZT
7SC
8FD
ABRTQ
DWQXO
JQ2
L7M
L~C
L~D
PKEHL
PQEST
PQGLB
PQQKQ
PQUKI
PRINS
PUEGO
ID FETCH-LOGICAL-c347t-4bbd4d793664059177a07039c2de7c16b4a9a1de3350161c3dd0dc232a4daac73
IEDL.DBID BENPR
ISSN 1382-3256
IngestDate Sun Aug 24 03:03:09 EDT 2025
Fri Jul 25 11:14:56 EDT 2025
Tue Jul 01 03:32:15 EDT 2025
Thu Apr 24 23:06:06 EDT 2025
Fri Feb 21 02:35:46 EST 2025
IsPeerReviewed true
IsScholarly true
Issue 6
Keywords Programming
Software libraries
Documentation
Application programming interfaces
Language English
License http://www.springer.com/tdm
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c347t-4bbd4d793664059177a07039c2de7c16b4a9a1de3350161c3dd0dc232a4daac73
Notes SourceType-Scholarly Journals-1
ObjectType-Feature-1
content type line 14
ObjectType-Article-2
content type line 23
PQID 888242678
PQPubID 326341
PageCount 30
ParticipantIDs proquest_miscellaneous_926293117
proquest_journals_888242678
crossref_citationtrail_10_1007_s10664_010_9150_8
crossref_primary_10_1007_s10664_010_9150_8
springer_journals_10_1007_s10664_010_9150_8
ProviderPackageCode CITATION
AAYXX
PublicationCentury 2000
PublicationDate 20111200
2011-12-00
20111201
PublicationDateYYYYMMDD 2011-12-01
PublicationDate_xml – month: 12
  year: 2011
  text: 20111200
PublicationDecade 2010
PublicationPlace Boston
PublicationPlace_xml – name: Boston
– name: Dordrecht
PublicationSubtitle An International Journal
PublicationTitle Empirical software engineering : an international journal
PublicationTitleAbbrev Empir Software Eng
PublicationYear 2011
Publisher Springer US
Springer Nature B.V
Publisher_xml – name: Springer US
– name: Springer Nature B.V
References Bore C, Bore S (2005) Profiling software API usability for consumer electronics. In: Digest of int’l conf. on consumer electronics, pp 155–156
Feilkas M, Ratiu D (2008) Ensuring well-behaved usage of APIs through syntactic constraints. In: Proc. 16th int’l conf. on program comprehension, pp 248–253
Robillard MP (2009) What makes APIs hard to learn? The answers of developers. IEEE Softw (November/December):27–34
McLellanSGRoeslerAWTempestJTSpinuzziCIBuilding more usable APIsIEEE Softw1998153788610.1109/52.676963
Cwalina K, Abrams B (2009) Framework design guidelines: conventions, idioms, and patterns for reusable .NET Libraries, 2nd edn. Addison-Wesley
Stylos J, Myers BA (2008) Implications of method placement on api learnability. In: Proc. 16th ACM SIGSOFT int’l symp. on the foundations of software engineering, pp 105–112
des Rivières J (2004) Eclipse APIs: lines in the sand. EclipseCon Technical Talk. http://www.eclipse.org/eclipse/development/apis/Eclipse-APIs-Lines-in-the-Sand.pdf
FowlerMPublic versus published interfacesIEEE Softw2002192181910.1109/52.991326
LarmanCProtected variation: the importance of being closedIEEE Softw2001183899110.1109/52.922731
Corbin J, Strauss A (2007) Basics of qualitative research: techniques and procedures for developing grounded theory. Sage Publications
HolmesRWalkerRJMurphyGCApproximate structural context matching: an approach to recommend relevant examplesIEEE Trans Softw Eng2006321295297010.1109/TSE.2006.117
Stylos J, Myers BA (2007) Mapping the space of API design decisions. In: Proc. symp. on visual languages and human-centric computing, pp 50–60
Stylos J, Graf B, Busse DK, Ziegler C, Karstens REJ (2008) A case study of API redesign for improved usability. In: Proc. symp. on visual languages and human-centric computing, pp 189–192
WestfallPHTobiasRDRomDWolfingerRDHochbergYMultiple comparisons and multiple tests using the SAS system1999Cary, NCSAS Institute Inc
Beaton J, Jeong SY, Xie Y, Stylos J, Myers BA (2008) Usability challenges for enterprise service-oriented architecture APIs. In: Proc. IEEE symp. visual languages and human-centric computing, pp 193–196
BerglundEDesigning electronic reference documentation for software component librariesJ Syst Softw20036816575197328010.1016/S0164-1212(02)00136-X
LuttersWGSeamanCBRevealing actual documentation usage in software maintenance through war storiesInf Softw Technol20074957658710.1016/j.infsof.2007.02.013
Seaman CB (2002) The information gathering strategies of software maintainers. In: Proc. int’l conf. on software maintenance, pp 141–149
Hou D (2008) Investigating the effects of framework design knowledge in example-based framework learning. In: Proc. 24th int’l conf. on software maintenance, pp 37–46
Ellis B, Stylos J, Myers B (2007) The factory pattern in API design: a usability evaluation. In: Proc. 29th int’l conf. on software engineering, pp 302–312. doi:10.1109/ICSE.2007.85
Knowles MS, Holton III EF, Swanson RA (2005) The adult learner, 6th edn. Butterworth-Heinemann
Olson M, Hergenhahn B (2008) Introduction to the theories of learning, 8th edn. Prentice Hall
RossonMBCarrollJMThe reuse of uses in Smalltalk programmingACM Trans Comput-Hum Interact19963321925310.1145/234526.234530
Weiss RS (1994) Learning from strangers: the art and method of qualitative interview studies. The Free Press
Ko AJ, Myers BA, Aung HH (2004) Six learning barriers in end-user programming systems. In: Proc. symp. on visual languages and human centric computing, pp 199–206
ParnasDLOn the criteria to be used in decomposing systems into modulesCommun ACM197215121053105810.1145/361598.361623
Stylos J, Clarke S (2007) Usability implications of requiring parameters in objects’ constructors. In: Proc. 29th int’l conf. on software engineering, pp 529–539
Tulach J (2008) Practical API Design: confessions of a Java framework architect. APress
Ko AJ, DeLine R, Venolia G (2007) Information needs in collocated software development teams. In: Proc. 29th int’l conf. on software engineering, pp 344–353
ShullFLanubileFBasiliVRInvestigating reading techniques for object-oriented framework learningIEEE Trans Softw Eng200026111101111810.1109/32.881720
SillitoJMurphyGCVolderKDAsking and answering questions during a programming change taskIEEE Trans Softw Eng200834443445110.1109/TSE.2008.26
Bloch J (2006) How to design a good API and why it matters. In: Companion to the 21st ACM SIGPLAN symposium on object-oriented programming systems, languages, and applications, pp 505–506
Jeong SY, Xie Y, Beaton J, Myers BA, Stylos J, Ehret R, Karstens J, Efeoglu A, Busse DK (2009) Improving documentation for eSOA APIs through user studies. In: Proc. 2nd int’l symp. on end-user development. LNCS, vol 5435. Springer, pp 86–105
Clarke S (2004) Measuring API usability. Dr Dobb’s Journal Special Windows/NET Supplement
Brandt J, Guo PJ, Lewenstein J, Dontcheva M, Klemmer SR (2009) Two studies of opportunistic programming: interleaving web foraging, learning, and writing code. In: Proc. 27th int’l conf. on human factors in computing systems, pp 1589–1598
Creswell JW (2007) Qualitative inquiry and research design: choosing among five approaches. Sage Publications
Hou D, Wong K, Hoover JH (2005) What can programmer questions tell us about frameworks? In: Proc. 13th int’l workshop on program comprehension, pp 87–96
Nykaza J, Messinger R, Boehme F, Norman CL, Mace M, Gordon M (2002) What programmers really want: results of a needs assessment for SDK documentation. In: Proc. 20th annual ACM SIGDOC int’l conf. on computer documentation, pp 133–141
9150_CR29
9150_CR27
MB Rosson (9150_CR28) 1996; 3
WG Lutters (9150_CR21) 2007; 49
SG McLellan (9150_CR22) 1998; 15
M Fowler (9150_CR12) 2002; 19
9150_CR11
9150_CR33
E Berglund (9150_CR2) 2003; 68
9150_CR10
9150_CR32
DL Parnas (9150_CR25) 1972; 15
R Holmes (9150_CR13) 2006; 32
9150_CR15
9150_CR37
9150_CR14
9150_CR36
9150_CR35
9150_CR34
9150_CR19
9150_CR18
9150_CR17
F Shull (9150_CR30) 2000; 26
9150_CR1
9150_CR16
C Larman (9150_CR20) 2001; 18
9150_CR8
9150_CR7
9150_CR9
9150_CR4
9150_CR3
9150_CR6
9150_CR5
PH Westfall (9150_CR38) 1999
J Sillito (9150_CR31) 2008; 34
9150_CR26
9150_CR24
9150_CR23
References_xml – reference: Bore C, Bore S (2005) Profiling software API usability for consumer electronics. In: Digest of int’l conf. on consumer electronics, pp 155–156
– reference: Brandt J, Guo PJ, Lewenstein J, Dontcheva M, Klemmer SR (2009) Two studies of opportunistic programming: interleaving web foraging, learning, and writing code. In: Proc. 27th int’l conf. on human factors in computing systems, pp 1589–1598
– reference: Knowles MS, Holton III EF, Swanson RA (2005) The adult learner, 6th edn. Butterworth-Heinemann
– reference: des Rivières J (2004) Eclipse APIs: lines in the sand. EclipseCon Technical Talk. http://www.eclipse.org/eclipse/development/apis/Eclipse-APIs-Lines-in-the-Sand.pdf
– reference: Clarke S (2004) Measuring API usability. Dr Dobb’s Journal Special Windows/NET Supplement
– reference: RossonMBCarrollJMThe reuse of uses in Smalltalk programmingACM Trans Comput-Hum Interact19963321925310.1145/234526.234530
– reference: WestfallPHTobiasRDRomDWolfingerRDHochbergYMultiple comparisons and multiple tests using the SAS system1999Cary, NCSAS Institute Inc
– reference: FowlerMPublic versus published interfacesIEEE Softw2002192181910.1109/52.991326
– reference: ParnasDLOn the criteria to be used in decomposing systems into modulesCommun ACM197215121053105810.1145/361598.361623
– reference: Stylos J, Graf B, Busse DK, Ziegler C, Karstens REJ (2008) A case study of API redesign for improved usability. In: Proc. symp. on visual languages and human-centric computing, pp 189–192
– reference: Jeong SY, Xie Y, Beaton J, Myers BA, Stylos J, Ehret R, Karstens J, Efeoglu A, Busse DK (2009) Improving documentation for eSOA APIs through user studies. In: Proc. 2nd int’l symp. on end-user development. LNCS, vol 5435. Springer, pp 86–105
– reference: Stylos J, Myers BA (2007) Mapping the space of API design decisions. In: Proc. symp. on visual languages and human-centric computing, pp 50–60
– reference: Tulach J (2008) Practical API Design: confessions of a Java framework architect. APress
– reference: Feilkas M, Ratiu D (2008) Ensuring well-behaved usage of APIs through syntactic constraints. In: Proc. 16th int’l conf. on program comprehension, pp 248–253
– reference: Bloch J (2006) How to design a good API and why it matters. In: Companion to the 21st ACM SIGPLAN symposium on object-oriented programming systems, languages, and applications, pp 505–506
– reference: Hou D (2008) Investigating the effects of framework design knowledge in example-based framework learning. In: Proc. 24th int’l conf. on software maintenance, pp 37–46
– reference: Beaton J, Jeong SY, Xie Y, Stylos J, Myers BA (2008) Usability challenges for enterprise service-oriented architecture APIs. In: Proc. IEEE symp. visual languages and human-centric computing, pp 193–196
– reference: SillitoJMurphyGCVolderKDAsking and answering questions during a programming change taskIEEE Trans Softw Eng200834443445110.1109/TSE.2008.26
– reference: HolmesRWalkerRJMurphyGCApproximate structural context matching: an approach to recommend relevant examplesIEEE Trans Softw Eng2006321295297010.1109/TSE.2006.117
– reference: Olson M, Hergenhahn B (2008) Introduction to the theories of learning, 8th edn. Prentice Hall
– reference: ShullFLanubileFBasiliVRInvestigating reading techniques for object-oriented framework learningIEEE Trans Softw Eng200026111101111810.1109/32.881720
– reference: Stylos J, Myers BA (2008) Implications of method placement on api learnability. In: Proc. 16th ACM SIGSOFT int’l symp. on the foundations of software engineering, pp 105–112
– reference: Ko AJ, Myers BA, Aung HH (2004) Six learning barriers in end-user programming systems. In: Proc. symp. on visual languages and human centric computing, pp 199–206
– reference: Nykaza J, Messinger R, Boehme F, Norman CL, Mace M, Gordon M (2002) What programmers really want: results of a needs assessment for SDK documentation. In: Proc. 20th annual ACM SIGDOC int’l conf. on computer documentation, pp 133–141
– reference: Cwalina K, Abrams B (2009) Framework design guidelines: conventions, idioms, and patterns for reusable .NET Libraries, 2nd edn. Addison-Wesley
– reference: Stylos J, Clarke S (2007) Usability implications of requiring parameters in objects’ constructors. In: Proc. 29th int’l conf. on software engineering, pp 529–539
– reference: Creswell JW (2007) Qualitative inquiry and research design: choosing among five approaches. Sage Publications
– reference: Hou D, Wong K, Hoover JH (2005) What can programmer questions tell us about frameworks? In: Proc. 13th int’l workshop on program comprehension, pp 87–96
– reference: Corbin J, Strauss A (2007) Basics of qualitative research: techniques and procedures for developing grounded theory. Sage Publications
– reference: Ellis B, Stylos J, Myers B (2007) The factory pattern in API design: a usability evaluation. In: Proc. 29th int’l conf. on software engineering, pp 302–312. doi:10.1109/ICSE.2007.85
– reference: BerglundEDesigning electronic reference documentation for software component librariesJ Syst Softw20036816575197328010.1016/S0164-1212(02)00136-X
– reference: LarmanCProtected variation: the importance of being closedIEEE Softw2001183899110.1109/52.922731
– reference: Weiss RS (1994) Learning from strangers: the art and method of qualitative interview studies. The Free Press
– reference: McLellanSGRoeslerAWTempestJTSpinuzziCIBuilding more usable APIsIEEE Softw1998153788610.1109/52.676963
– reference: Ko AJ, DeLine R, Venolia G (2007) Information needs in collocated software development teams. In: Proc. 29th int’l conf. on software engineering, pp 344–353
– reference: Robillard MP (2009) What makes APIs hard to learn? The answers of developers. IEEE Softw (November/December):27–34
– reference: Seaman CB (2002) The information gathering strategies of software maintainers. In: Proc. int’l conf. on software maintenance, pp 141–149
– reference: LuttersWGSeamanCBRevealing actual documentation usage in software maintenance through war storiesInf Softw Technol20074957658710.1016/j.infsof.2007.02.013
– volume: 18
  start-page: 89
  issue: 3
  year: 2001
  ident: 9150_CR20
  publication-title: IEEE Softw
  doi: 10.1109/52.922731
– volume: 15
  start-page: 1053
  issue: 12
  year: 1972
  ident: 9150_CR25
  publication-title: Commun ACM
  doi: 10.1145/361598.361623
– ident: 9150_CR32
  doi: 10.1109/ICSE.2007.92
– ident: 9150_CR9
– ident: 9150_CR23
  doi: 10.1145/584955.584976
– ident: 9150_CR33
  doi: 10.1109/VLHCC.2007.44
– ident: 9150_CR29
  doi: 10.1109/ICSM.2002.1167761
– ident: 9150_CR11
  doi: 10.1109/ICPC.2008.12
– ident: 9150_CR35
  doi: 10.1109/VLHCC.2008.4639083
– ident: 9150_CR4
  doi: 10.1109/ICCE.2005.1429764
– ident: 9150_CR3
  doi: 10.1145/1176617.1176622
– ident: 9150_CR5
  doi: 10.1145/1518701.1518944
– ident: 9150_CR15
– volume: 15
  start-page: 78
  issue: 3
  year: 1998
  ident: 9150_CR22
  publication-title: IEEE Softw
  doi: 10.1109/52.676963
– ident: 9150_CR1
  doi: 10.1109/VLHCC.2008.4639084
– ident: 9150_CR34
  doi: 10.1145/1453101.1453117
– ident: 9150_CR19
– ident: 9150_CR36
– ident: 9150_CR24
– volume: 49
  start-page: 576
  year: 2007
  ident: 9150_CR21
  publication-title: Inf Softw Technol
  doi: 10.1016/j.infsof.2007.02.013
– ident: 9150_CR27
  doi: 10.1109/MS.2009.193
– volume: 32
  start-page: 952
  issue: 12
  year: 2006
  ident: 9150_CR13
  publication-title: IEEE Trans Softw Eng
  doi: 10.1109/TSE.2006.117
– volume: 68
  start-page: 65
  issue: 1
  year: 2003
  ident: 9150_CR2
  publication-title: J Syst Softw
  doi: 10.1016/S0164-1212(02)00136-X
– ident: 9150_CR26
– volume-title: Multiple comparisons and multiple tests using the SAS system
  year: 1999
  ident: 9150_CR38
– ident: 9150_CR10
  doi: 10.1109/ICSE.2007.85
– ident: 9150_CR7
  doi: 10.4135/9781452230153
– ident: 9150_CR17
  doi: 10.4324/9780080481913
– volume: 19
  start-page: 18
  issue: 2
  year: 2002
  ident: 9150_CR12
  publication-title: IEEE Softw
  doi: 10.1109/52.991326
– volume: 34
  start-page: 434
  issue: 4
  year: 2008
  ident: 9150_CR31
  publication-title: IEEE Trans Softw Eng
  doi: 10.1109/TSE.2008.26
– ident: 9150_CR8
– ident: 9150_CR6
– ident: 9150_CR14
– ident: 9150_CR16
  doi: 10.1007/978-3-642-00427-8_6
– volume: 26
  start-page: 1101
  issue: 11
  year: 2000
  ident: 9150_CR30
  publication-title: IEEE Trans Softw Eng
  doi: 10.1109/32.881720
– ident: 9150_CR18
– volume: 3
  start-page: 219
  issue: 3
  year: 1996
  ident: 9150_CR28
  publication-title: ACM Trans Comput-Hum Interact
  doi: 10.1145/234526.234530
– ident: 9150_CR37
SSID ssj0009745
Score 2.409737
Snippet Large APIs can be hard to learn, and this can lead to decreased programmer productivity. But what makes APIs hard to learn? We conducted a mixed approach,...
SourceID proquest
crossref
springer
SourceType Aggregation Database
Enrichment Source
Index Database
Publisher
StartPage 703
SubjectTerms API
Compilers
Computer Science
Developers
Documentation
Interpreters
Learning
Obstacles
Productivity
Programmers
Programming Languages
Software Engineering/Programming and Operating Systems
Vulnerability
SummonAdditionalLinks – databaseName: SpringerLink Journals (ICM)
  dbid: U2A
  link: http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LS8QwEA66Xrz4FtdVyUEQlEDTvJpjEWUVFA8u7C3kVS_Sirv7_02y7VZFBc95tEwymW8yk28AOM9ZlRFWWeSlYIhKJ5HmVY6MlMwGB8JIHe8hHx75eELvp2zavuOeddnuXUgyndSfHrtxHjMmsqCgLEPFOthgwXWPeVyTvOyZdkWqTBy59RAJBr0LZf40xVdj1CPMb0HRZGtud8BWCxJhuVzVXbDm6z2w3RVggK0-7oOLEqYMNJhIYmFTwfLpDraFIF5gYwL0i1lvB2Bye_N8PUZt5QNkCRVzRI1x1AXVCb8b8A8WQkfVlDZ3XljMDdVSY-dJDAtybIlzmbMBHGnqtLaCHIJB3dT-CMBKUlxUuPIsNGLppfSYa058XoSxxg9B1olA2ZYWPFaneFU9oXGUmgpSU1FqqhiCy9WQtyUnxl-dR51cVaseMxXc7ggNRGiFq9awr2OwQte-WcxU5DGUBGMxBFfdavQT_Pq543_1HoHNdEec0lNOwGD-vvCnAWTMzVnaVB-ENsTI
  priority: 102
  providerName: Springer Nature
Title A field study of API learning obstacles
URI https://link.springer.com/article/10.1007/s10664-010-9150-8
https://www.proquest.com/docview/888242678
https://www.proquest.com/docview/926293117
Volume 16
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwfV3dS8MwED90e_HFb7FORx4EQQk2_UrzJFX2oeIY4mA-lTRJfZF2uu3_N-nSFQX32jRNueRyl7vL7wdw6YW564e5wIrREAdMMsyj3MMZY6HQB4iMcROHfBlFw0nwNA2ntjZnbssq6z2x2qhlKUyM_Faf1Iw1ofHd7Asb0iiTXLUMGtvQ1jtwHLegfd8bjV8b1F1asRQbnD3sa-NepzVXd-eiyBRguFrfQxfHvw1T423-SZBWdqe_D7vWYUTJaoYPYEsVh7BXkzEgq5tHcJWgqhoNVYCxqMxRMn5ElhTiA5WZdgNNBdwxTPq9t4chtiwIWPgBXeAgy2QgtRrp39W-EKGUGzVlwpOKChJlAWecSOWbFGFEhC-lK4V2lHggORfUP4FWURbqFFDOAhLnJFehbiRMMaZIxCNfebHumykH3FoEqbAQ4Yap4jNtwI2N1FIttdRILY0duF53ma3wMTa93KnlmlpVmafriXUArVv1GjeJC16ocjlPDaYh8wmhDtzUs9F84N_hzjYO14GdKj5claacQ2vxvVQX2sFYZF3YjvuDLrSTwftzr2sXlX468ZIfBibMxA
linkProvider ProQuest
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1LTxsxEB4FeoBLS3mI8KoPrSoVWcRr78MHhCJomhBAPYDEzXhtL5cqCyQI9Uf1P3Zms5sIJLhx9ksajz3feMbfAHyN4qIj48LxoNOYK-01t0kR8Vzr2KEDkWtL75DnF0n_Sp1ex9ct-Nf8haG0yuZOrC5qXzp6Iz9AT42sSZod3d1zKhpFwdWmgsZUK4bh7xN6bOPDwQlu77co6v28PO7zuqgAd1KlE67y3CuPWpkkiFXQWUktab12kQ-pE0murLbCB0kRt0Q46X3HO8QdVnlrXSpx3gX4oCQacvqY3vs15_hNq5rIxOrHJUKJJog6_amH63GKPGuEYDx7bgbn2PZFOLaycr0V-FjDU9ad6tNnaIXRKnxqSj-w-iZYg-9dVuW-sYqelpUF6_4esLoExS0rcwSdlG-3DlfvIp4NWByVo7AJrNBKZIUoQoyNQgetg0hsIkOU4dg8tKHTiMC4mpCc6mL8MXMqZZKaQakZkprJ2vBjNuRuysbxVuftRq6mPphjM1OjNrBZK54oCpPYUSgfx4YYFLUUIm3DfrMb8wleXW7rzeW-wFL_8vzMnA0uhtuwXL1MV0kxO7A4eXgMuwhtJvlepVAMbt5bg_8DFuYEfA
linkToPdf http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1LbxMxEB6VREJc2vJSt6HgAwgJZDXel9eHqgq0UUMhihCRejNe28sFZdsmUdWf1n_HzD4SgURuOXvXlsaf7W88428A3oZJ0Y-SwnKvZMJj5RQ3aRHyXKnEogORK0P3kN_G6cU0_nKVXO3AQ_sWhtIq2z2x2qhdaemO_Bg9NTpNZHZcNFkRk7Ph6fUNpwJSFGhtq2nUCLn093fovc1PRmc41e_CcHj-4_MFbwoMcBvFcsHjPHexQ4SmKfIWdFykoRWgbOi8tCLNY6OMcD6i6FsqbORc31nkICZ2xlgZYb-PoCvJKepA99P5ePJ9rfgrqwrJpPHHIyQWbUi1freHI3KKQyskZDz7-1BcM91_grPVmTfch92GrLJBja6nsONnz2CvLQTBmn3hObwfsCoTjlVitaws2GAyYk1Bil-szJGCUvbdC5huxUAvoTMrZ_4AWKFikRWi8Ak2CuWV8iI1aeTDDP_NfQD91gTaNvLkVCXjt14LK5PVNFpNk9V0FsCH1S_XtTbHpo97rV11s0znegWqANiqFdcXBU3MzJfLuSY9RRUJIQP42M7GuoP_Dne4cbg38BjRq7-Oxpc9eFJdU1cZMq-gs7hd-iPkOYv8dYMoBj-3DeI_13MKDg
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=A+field+study+of+API+learning+obstacles&rft.jtitle=Empirical+software+engineering+%3A+an+international+journal&rft.au=Robillard%2C+Martin+P&rft.au=DeLine%2C+Robert&rft.date=2011-12-01&rft.issn=1382-3256&rft.eissn=1573-7616&rft.volume=16&rft.issue=6&rft.spage=703&rft.epage=732&rft_id=info:doi/10.1007%2Fs10664-010-9150-8&rft.externalDBID=NO_FULL_TEXT
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1382-3256&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1382-3256&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1382-3256&client=summon