Skip to Main Content
Frequently Asked Questions
Submit an ETD
Global Search Box
Need Help?
Keyword Search
Participating Institutions
Advanced Search
School Logo
Files
File List
29076.pdf (5.09 MB)
ETD Abstract Container
Abstract Header
A Social Information Foraging Approach to Improving End-User Developers’ Productivity
Author Info
Jin, Xiaoyu
Permalink:
http://rave.ohiolink.edu/etdc/view?acc_num=ucin1512039659764376
Abstract Details
Year and Degree
2017, PhD, University of Cincinnati, Engineering and Applied Science: Computer Science and Engineering.
Abstract
Software engineering is the application of engineering to the development of software in a systematic method. Traditionally, professional software engineers use technologies and practices from a variety of fields to improve their productivity in creating software and to improve the quality of the delivered product. The practices come from aspects of software requirements, software design, software testing, software development process, and software quality, etc. Nowadays, more and more non-professional developers start to write programs not as their job function, but as means to support their main goal, which is something else, such as accounting, designing a webpage, doing office work, scientific research, entertainment, etc. The number of non-professional developers is already several times the number of professional programmers, and even students of elementary school start to learn simple programming tool skills. However, due to the varied purposes of developing software, the software engineering practices for these non-professional developers can be quite different from the practices for professional developers. The programming behavior of non-professional developers has characteristic of opportunistic, which lacks systematic guidelines, and the software created by them tends to lack enough quality considerations. Therefore, support from software engineering area is needed to improve end-user programmers’ productivity and to increase the quality of the software developed. In this thesis, we define these non-professional developers as end-uesr developers and identify the distinctions between end-user developers and professional developers including the concept and programming practices of requirements, specifications, documentation, reuse, testing and verification, and debugging. We then identify that the pragmatic software reuse is the main approach adopted by end-user developers to fulfill their daily programming tasks. We conduct several rounds of observational experiments by inviting end-user developers to carry out software reuse tasks to further analyze their programming behaviors. From the experiments, our results can be summarized in 4 aspects: (1) we first analyzed end-user developers’ information needs and summarized the needs into five categories with architectural concerns, and we also validated the positive effect that social network information brought about to end-user developers’ overall productivity; (2) we found that the diverse types of webpages represent diverse kinds of hints, which could impact productivity in a positive way. We then used various metrics to differentiate the diversity to see which metrics best capture the relation between the diverse hints and the productivity; (3) we found that according to different foraging goals, different types of webpages serve the goal in different ways impacting the easiness and time cost to fulfill the goal. We characterize and categorize webpages into four types of foraging curve styles to serve for end-user developers’ seeking and navigation behavior; (4) we identify the constant revisit behavior of end-user developers during their information seeking and reuse, and we design tool support to ease such behavior thereby reducing the time cost. In summary, the overall contribution of this thesis is that it provides both principled guidelines and concrete tool support to the end-user developers to improve their productivity mainly through improving quality of solution and reducing the time cost.
Committee
Nan Niu, Ph.D. (Committee Chair)
Raj Bhatnagar, Ph.D. (Committee Member)
Carla Purdy, Ph.D. (Committee Member)
Michael Sokoloff, Ph.D. (Committee Member)
Michael Wagner, Ph.D. (Committee Member)
Pages
179 p.
Subject Headings
Computer Science
Keywords
end-user developer
;
information foraging
;
software reuse
;
information needs
;
cost estimation
;
revisitation
Recommended Citations
Refworks
EndNote
RIS
Mendeley
Citations
Jin, X. (2017).
A Social Information Foraging Approach to Improving End-User Developers’ Productivity
[Doctoral dissertation, University of Cincinnati]. OhioLINK Electronic Theses and Dissertations Center. http://rave.ohiolink.edu/etdc/view?acc_num=ucin1512039659764376
APA Style (7th edition)
Jin, Xiaoyu.
A Social Information Foraging Approach to Improving End-User Developers’ Productivity.
2017. University of Cincinnati, Doctoral dissertation.
OhioLINK Electronic Theses and Dissertations Center
, http://rave.ohiolink.edu/etdc/view?acc_num=ucin1512039659764376.
MLA Style (8th edition)
Jin, Xiaoyu. "A Social Information Foraging Approach to Improving End-User Developers’ Productivity." Doctoral dissertation, University of Cincinnati, 2017. http://rave.ohiolink.edu/etdc/view?acc_num=ucin1512039659764376
Chicago Manual of Style (17th edition)
Abstract Footer
Document number:
ucin1512039659764376
Download Count:
568
Copyright Info
© 2017, some rights reserved.
A Social Information Foraging Approach to Improving End-User Developers’ Productivity by Xiaoyu Jin is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License. Based on a work at etd.ohiolink.edu.
This open access ETD is published by University of Cincinnati and OhioLINK.