Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3183440.3190332acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
short-paper

Toward an empirical theory of feedback-driven development

Published: 27 May 2018 Publication History

Abstract

Software developers today crave for feedback, be it from their peers or even bots in the form of code review, static analysis tools like their compiler, or the local or remote execution of their tests in the Continuous Integration (CI) environment. With the advent of social coding sites like GitHub and tight integration of CI services like Travis CI, software development practices have fundamentally changed. Despite a highly changed software engineering landscape, however, we still lack a suitable description of an individual's contemporary software development practices, that is how an individual code contribution comes to be. Existing descriptions like the v-model are either too coarse-grained to describe an individual contributor's workflow, or only regard a sub-part of the development process like Test-Driven Development. In addition, most existing models are pre- rather than de-scriptive. By contrast, in our thesis, we perform a series of empirical studies to describe the individual constituents of Feedback-Driven Development (FDD) and then compile the evidence into an initial framework on how modern software development works. Our thesis culminates in the finding that feedback loops are the characterizing criterion of contemporary software development. Our model is flexible enough to accommodate a broad bandwidth of contemporary workflows, despite large variances in how projects use and configure parts of FDD.

References

[1]
John G Adair. 1984. The Hawthorne effect: A reconsideration of the methodological artifact. Journal of applied psychology 69, 2 (1984), 334.
[2]
Moritz Beller. {n. d.}. Become a Travis CI Log Miner in the MSR Mining Challenge 2017! ({n. d.}). https://blog.travis-ci.com/2017-01-16-travis-ci-mining-challenge/.
[3]
Moritz Beller, Radjino Bholanath, Shane McIntosh, and Andy Zaidman. 2016. Analyzing the State of Static Analysis: A Large-Scale Evaluation in Open Source Software. In Proceedings of the 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering. IEEE, 470--481.
[4]
Moritz Beller, Georgios Gousios, Annibale Panichella, Sebastian Proksch, Sven Amann, and Andy Zaidman. 2017. Developer Testing in The IDE: Patterns, Beliefs, And Behavior. IEEE Transactions on Software Engineering PP, 99 (2017). 1--1. To appear. Pre-print: http://ieeexplore.ieee.org/document/8116886/.
[5]
Moritz Beller, Georgios Gousios, Annibale Panichella, and Andy Zaidman. 2015. When, How, and Why Developers (Do Not) Test in Their IDEs. In Proceedings of the 10th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE). ACM, 179--190.
[6]
Moritz Beller, Georgios Gousios, and Andy Zaidman. 2015. How (Much) Do Developers Test?. In Proceedings of the 37th International Conference on Software Engineering (ICSE), NIER Track. IEEE, 559--562.
[7]
Moritz Beller, Georgios Gousios, and Andy Zaidman. 2017. Oops, My Tests Broke the Build: An Explorative Analysis of Travis CI with GitHub. In Proceedings of the 14th International Conference on Mining Software Repositories (MSR).
[8]
Moritz Beller, Georgios Gousios, and Andy Zaidman. 2017. TravisTorrent: Synthesizing Travis CI and GitHub for Full-Stack Research on Continuous Integration. In Proceedings of the Proceedings of the 14th International Conference on Mining Software Repositories (MSR).
[9]
Moritz Beller, Igor Levaja, Annibale Panichella, Georgios Gousios, and Andy Zaidman. 2016. How to Catch 'Em All: WatchDog, a Family of IDE Plug-Ins to Assess Testing. In 3rd International Workshop on Software Engineering Research and Industrial Practice (SER&IP 2016). IEEE, 53--56.
[10]
Moritz Beller, Niels Spruit, Diomidis Spinellis, and Andy Zaidman. 2018. On the Dichotomy of Debugging Behavior Among Programmers. In 40th International Conference on Software Engineering, ICSE 2018, Gothenborg, Sweden.
[11]
Moritz Beller, Niels Spruit, and Andy Zaidman. 2017. How developers debug. Peer J Preprints 5 (2017), e2743v1.
[12]
Moritz Beller, Andy Zaidman, and Andrey Karpov. 2015. The Last Line Effect. In 23rd International Conference on Program Comprehension (ICPC). ACM, 240--243.
[13]
Moritz Beller, Andy Zaidman, Andrey Karpov, and Rolf A. Zwaan. 2017. The last line effect explained. Empirical Software Engineering 22, 3 (01 Jun 2017). 1508--1536.
[14]
David A Braunholtz, Sarah JL Edwards, and Richard J Lilford. 2001. Are randomized clinical trials good for us (in the short term)? Evidence for a "trial effect". Journal of clinical epidemiology 54, 3 (2001), 217--224.
[15]
Tim Buckers, Clinton Cao, Michiel Doesburg, Boning Gong, Sunwei Wang, Moritz Beller, and Andy Zaidman. 2017. UAV: Warnings from multiple Automated Static Analysis Tools at a glance. In IEEE 24th International Conference on Software Analysis, Evolution and Reengineering, SANER 2017, Klagenfurt, Austria, February 20--24, 2017. 472--476.
[16]
Kathy Charmaz and Linda Liska Belgrave. 2007. Grounded theory. Wiley Online Library.
[17]
Kevin Forsberg and Harold Mooz. 1992. The relationship of systems engineering to the project cycle. Engineering Management Journal 4, 3 (1992), 36--43.
[18]
Martin Fowler and Jim Highsmith. 2001. The agile manifesto. Software Development 9, 8 (2001), 28--35.
[19]
Will G Hopkins. 1997. A new view of statistics. http://sportsci.org/resource/stats/. Accessed March 27, 2017.
[20]
LBS Raccoon. 1995. The chaos model and the chaos cycle. ACM SIGSOFT Software Engineering Notes 20, 1 (1995), 55--66.
[21]
Vaclav Rajlich and Prashant Gosavi. 2004. Incremental change in object-oriented programming. IEEE software 21, 4 (2004), 62--69.
[22]
Klaas-Jan Stol and Brian Fitzgerald. 2015. Theory-oriented software engineering. Science of Computer Programming 101 (2015), 79--98.
[23]
BA Wichmann, AA Canning, DL Clutterbuck, LA Winsborrow, NJ Ward, and DWR Marsh. 1995. Industrial perspective on static analysis. Software Engineering Journal 10, 2 (1995), 69--75.

Cited By

View all
  • (2022)How secondary school girls perceive Computational Thinking practices through collaborative programming with the micro:bitJournal of Systems and Software10.1016/j.jss.2021.111107183(111107)Online publication date: Jan-2022
  • (2019)Toward Continuous Assessment of the Programming ProcessProceedings of the 2019 ACM Conference on International Computing Education Research10.1145/3291279.3339429(335-336)Online publication date: 30-Jul-2019
  • (2018)Work practices and challenges in continuous integration: A survey with Travis CI usersSoftware: Practice and Experience10.1002/spe.263748:12(2223-2236)Online publication date: 11-Sep-2018

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '18: Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings
May 2018
231 pages
ISBN:9781450356633
DOI:10.1145/3183440
  • Conference Chair:
  • Michel Chaudron,
  • General Chair:
  • Ivica Crnkovic,
  • Program Chairs:
  • Marsha Chechik,
  • Mark Harman
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 May 2018

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Short-paper

Funding Sources

  • NWO

Conference

ICSE '18
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 29 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2022)How secondary school girls perceive Computational Thinking practices through collaborative programming with the micro:bitJournal of Systems and Software10.1016/j.jss.2021.111107183(111107)Online publication date: Jan-2022
  • (2019)Toward Continuous Assessment of the Programming ProcessProceedings of the 2019 ACM Conference on International Computing Education Research10.1145/3291279.3339429(335-336)Online publication date: 30-Jul-2019
  • (2018)Work practices and challenges in continuous integration: A survey with Travis CI usersSoftware: Practice and Experience10.1002/spe.263748:12(2223-2236)Online publication date: 11-Sep-2018

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media