@article {Sayagh20201259,
	title = {What should your run-time configuration framework do to help developers?},
	journal = {Empirical Software Engineering},
	volume = {25},
	number = {2},
	year = {2020},
	note = {cited By 2},
	pages = {1259-1293},
	abstract = {The users or deployment engineers of a software system can adapt such a system to a wide range of deployment and usage scenarios by changing the value of configuration options, for example by disabling unnecessary features, tweaking performance-related parameters or specifying GUI preferences. However, the literature agrees that the flexibility of such options comes at a price: misconfigured options can lead a software system to crash in the production environment, while even in the absence of such configuration errors, a large number of configuration options makes a software system more complicated to deploy and use. In earlier work, we also found that developers who intend to make their application configurable face 22 challenges that impact their configuration engineering activities, ranging from technical to management-related or even inherent to the domain of configuration engineering. In this paper, we use a prototyping approach to derive and empirically evaluate requirements for tool support able to deal with 13 (primarily technical) configuration engineering challenges. In particular, via a set of interviews with domain experts, we identify four requirements by soliciting feedback on an incrementally evolving prototype. The resulting {\textquotedblleft}Config2Code{\textquotedblright} prototype, which implements the four requirements, is then empirically evaluated via a user study involving 55 participants that comprises 10 typical configuration engineering tasks, ranging from the creation, comprehension, refactoring, and reviewing of configuration options to the quality assurance of options and debugging of configuration failures. A configuration framework satisfying the four requirements enables developers to perform more accurately and more swiftly in 70\% and 60\% (respectively) of the configuration engineering tasks than a state-of-the-practice framework not satisfying the requirements. Furthermore, such a framework allows to reduce the time taken for these tasks by up to 94.62\%, being slower for only one task. {\textcopyright} 2020, Springer Science+Business Media, LLC, part of Springer Nature.},
	keywords = {Computer software, Empirical studies, Engineering activities, Engineering challenges, Production environments, Quality assurance, Quality control, Run-time configuration, Run-time software, State of the practice, User study},
	doi = {10.1007/s10664-019-09790-x},
	url = {https://www.scopus.com/inward/record.uri?eid=2-s2.0-85078290351\&doi=10.1007\%2fs10664-019-09790-x\&partnerID=40\&md5=16acb880be24429edc0728ccce2169e2},
	author = {Sayagh, M. and Kerzazi, N. and Petrillo, F. and Bennani, K. and Adams, B.}
}
@article {Kerzazi2016289,
	title = {Who can help to review this piece of code?},
	journal = {IFIP Advances in Information and Communication Technology},
	volume = {480},
	year = {2016},
	note = {cited By 0},
	pages = {289-301},
	abstract = {Successful software projects require collaboration between team members. Efficient collaboration relies on both technical and social linkages. In this paper, we investigate whether a socio-technical analysis can support software contributors in identifying experts helping to review their source code. We mined the histories of five open source projects (OSS) from GitHub and examined both technical and socio-technical interactions based on Social Network Analysis (SNA). Mapping communication network to files co-edition network shows the existence of collaboration patterns between core teams and peripherals in the studied OSS projects. Our main contribution is the construction and mapping of three sources of social networks, in which contributors interact by co-editing, commenting or reviewing. We were able to identify behavioral patterns between core teams and peripherals related to the activity of code review. Our findings have implications on improving collaboration between contributors within virtual OSS communities witch drive teams{\textquoteright} performance and software products quality. {\textcopyright} IFIP International Federation for Information Processing 2016.},
	doi = {10.1007/978-3-319-45390-3_25},
	url = {https://www.scopus.com/inward/record.uri?eid=2-s2.0-84989818867\&doi=10.1007\%2f978-3-319-45390-3_25\&partnerID=40\&md5=b8f6fddd6f538b75db5950c892ceceb0},
	author = {Kerzazi, N. and El Asri, I.}
}
