Skip to Main Content
 

Global Search Box

 
 
 
 

Files

ETD Abstract Container

Abstract Header

A Social Information Foraging Approach to Improving End-User Developers’ Productivity

Abstract Details

2017, PhD, University of Cincinnati, Engineering and Applied Science: Computer Science and Engineering.
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.
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)
179 p.

Recommended Citations

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)