@article {Ouatiti2022,
	title = {An empirical study on log level prediction for multi-component systems},
	journal = {IEEE Transactions on Software Engineering},
	year = {2022},
	note = {cited By 0},
	abstract = {Please find the revised abstract attached. IEEE},
	keywords = {Computer software, Data structures, Empirical studies, Java, Java programming language, Learning systems, Log level prediction, Multicomponents systems, Predictive models, Software logging, Software-systems},
	doi = {10.1109/TSE.2022.3154672},
	url = {https://www.scopus.com/inward/record.uri?eid=2-s2.0-85125313776\&doi=10.1109\%2fTSE.2022.3154672\&partnerID=40\&md5=c178439b3606759a34f8e163ece1ea35},
	author = {Ouatiti, Y.E. and Sayagh, M. and Kerzazi, N. and Hassan, A.E.}
}
@article {Sayagh2020646,
	title = {Software Configuration Engineering in Practice Interviews, Survey, and Systematic Literature Review},
	journal = {IEEE Transactions on Software Engineering},
	volume = {46},
	number = {6},
	year = {2020},
	note = {cited By 12},
	pages = {646-673},
	abstract = {Modern software applications are adapted to different situations (e.g., memory limits, enabling/disabling features, database credentials) by changing the values of configuration options, without any source code modifications. According to several studies, this flexibility is expensive as configuration failures represent one of the most common types of software failures. They are also hard to debug and resolve as they require a lot of effort to detect which options are misconfigured among a large number of configuration options and values, while comprehension of the code also is hampered by sprinkling conditional checks of the values of configuration options. Although researchers have proposed various approaches to help debug or prevent configuration failures, especially from the end users{\textquoteright} perspective, this paper takes a step back to understand the process required by practitioners to engineer the run-time configuration options in their source code, the challenges they experience as well as best practices that they have or could adopt. By interviewing 14 software engineering experts, followed by a large survey on 229 Java software engineers, we identified 9 major activities related to configuration engineering, 22 challenges faced by developers, and 24 expert recommendations to improve software configuration quality. We complemented this study by a systematic literature review to enrich the experts{\textquoteright} recommendations, and to identify possible solutions discussed and evaluated by the research community for the developers{\textquoteright} problems and challenges. We find that developers face a variety of challenges for all nine configuration engineering activities, starting from the creation of options, which generally is not planned beforehand and increases the complexity of a software system, to the non-trivial comprehension and debugging of configurations, and ending with the risky maintenance of configuration options, since developers avoid touching and changing configuration options in a mature system. We also find that researchers thus far focus primarily on testing and debugging configuration failures, leaving a large range of opportunities for future work. {\textcopyright} 1976-2012 IEEE.},
	keywords = {Application programs, Bibliographies, Codes (symbols), Errors, Facebook, Interviews, Program debugging, Software algorithms, Software systems, Surveys, Systematics},
	doi = {10.1109/TSE.2018.2867847},
	url = {https://www.scopus.com/inward/record.uri?eid=2-s2.0-85052624554\&doi=10.1109\%2fTSE.2018.2867847\&partnerID=40\&md5=f1b2d51b59522e24e5c52f064a62d00b},
	author = {Sayagh, M. and Kerzazi, N. and Adams, B. and Petrillo, F.}
}
@article {Kerzazi2020472,
	title = {Teaching Pedigree Analysis and Risk Calculation for Diagnosis Purposes of Genetic Disease},
	journal = {Advances in Intelligent Systems and Computing},
	volume = {1159 AISC},
	year = {2020},
	note = {cited By 0},
	pages = {472-485},
	abstract = {A Faculty of Medicine needs to respond appropriately to the rapid changes in medical education, to ensure that future geneticists are well trained to meet the challenges of medical practice. This paper presents five core requirements for a tool integrating new methodologies for teaching graduate-level a course of medical genetics. Our methodology presented here focuses on exploiting pedigree analysis in the field of medical genetics, particularly to explore them in the diagnosis of genetic diseases. Because of its important relevance as one of the skills that future medical practitioners must have, we designed this approach as a learning process supported by a tool. We also discuss an ongoing supported effort at utilizing common tools and IT resources to make it easier for the learners to reach their expected skill levels and provide them with a rich learning experience. We find that not only do our tool prototype has a positive impact on the learning process, practitioners also have expectations to feed a bio-bank of medical cases as inputs for future empirical studies. {\textcopyright} 2020, The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature Switzerland AG.},
	keywords = {Chromosomes, Diagnosis, Empirical studies, Information systems, Information use, Learning process, Learning systems, Medical education, Medical genetics, Medical practice, Medical practitioner, Pathology, Pedigree analysis, Rich learning experiences, Risk analysis, Risk assessment, Risk calculation},
	doi = {10.1007/978-3-030-45688-7_48},
	url = {https://www.scopus.com/inward/record.uri?eid=2-s2.0-85085529134\&doi=10.1007\%2f978-3-030-45688-7_48\&partnerID=40\&md5=7e1e7a85185ad292f5e21b992eefe113},
	author = {Kerzazi, N. and Tajir, M. and Boulouiz, R. and Bellaoui, M. and Azizi, M.}
}
@conference {Ouatiti20207,
	title = {Towards Amazon Fake Reviewers Detection: The Effect of Bulk Users},
	booktitle = {ACM International Conference Proceeding Series},
	year = {2020},
	note = {cited By 0},
	pages = {7-12},
	abstract = {Online marketplaces such as Amazon allow people to share their experiences about purchased products using textual comments known as product reviews. These reviews have become a common tool that users rely on to get insights on the quality and functionality of products and services from online consumers. However, like any other online information, reviewers raise serious questions concerning the credibility and reliability, since anyone can post reviews, which might impact the reliability of the information. This paper tackles the phenomenon of Bulk reviewers. We first analyze a large dataset of reviews from Amazon aiming to spot bulk reviewers according to their behavior. We then apply a what-if analysis to assess the effect of bulk reviews on the online marketplaces using a metric called Net Promoter Score to measure the willingness of users to recommend products. Our Results reveal that bulk users (i.e., users that review multiple times) have same distribution of ratings as non-bulk users indicating that a bulk reviewer is not automatically a fake reviewer. Yet, we discover that bulk users do inflate NPS metric and thus contribute to overestimate the level of customer satisfaction. {\textcopyright} 2020 ACM.},
	keywords = {Electronic assessment, Electronic commerce, Intelligent systems, Large dataset, On-line information, On-line marketplaces, Online consumers, Product reviews, Products and services, User experience, What-if Analysis},
	doi = {10.1145/3419604.3419800},
	url = {https://www.scopus.com/inward/record.uri?eid=2-s2.0-85096423765\&doi=10.1145\%2f3419604.3419800\&partnerID=40\&md5=1a79dcff298ad489f414ee1d7743d93c},
	author = {Ouatiti, Y.E. and Kerzazi, N.}
}
@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 {Kerzazi2019775,
	title = {Localizing Inconsistencies into Software Process Models at a Conceptual Level},
	journal = {Advances in Intelligent Systems and Computing},
	volume = {930},
	year = {2019},
	note = {cited By 0},
	pages = {775-788},
	doi = {10.1007/978-3-030-16181-1_73},
	url = {https://www.scopus.com/inward/record.uri?eid=2-s2.0-85064861394\&doi=10.1007\%2f978-3-030-16181-1_73\&partnerID=40\&md5=ac6cb9e4ccd1b51cac89ab1da7150a72},
	author = {Kerzazi, N.}
}
@conference {Kerzazi2018,
	title = {Release engineering: From structural to functional view},
	booktitle = {ACM International Conference Proceeding Series},
	year = {2018},
	doi = {10.1145/3289402.3289547},
	url = {https://www.scopus.com/inward/record.uri?eid=2-s2.0-85062787123\&doi=10.1145\%2f3289402.3289547\&partnerID=40\&md5=9cbe63a1729a1e49aae60abf735872b1},
	author = {Kerzazi, N. and El Asri, I.}
}
@article {Sayagh2018,
	title = {Software Configuration Engineering in Practice: Interviews, Survey, and Systematic Literature Review},
	journal = {IEEE Transactions on Software Engineering},
	year = {2018},
	doi = {10.1109/TSE.2018.2867847},
	url = {https://www.scopus.com/inward/record.uri?eid=2-s2.0-85052624554\&doi=10.1109\%2fTSE.2018.2867847\&partnerID=40\&md5=f1b2d51b59522e24e5c52f064a62d00b},
	author = {Sayagh, M. and Kerzazi, N. and Adams, B. and Petrillo, F.}
}
@conference {Sayagh2017255,
	title = {On cross-stack configuration errors},
	booktitle = {Proceedings - 2017 IEEE/ACM 39th International Conference on Software Engineering, ICSE 2017},
	year = {2017},
	note = {cited By 0},
	pages = {255-265},
	abstract = {Today{\textquoteright}s web applications are deployed on powerful software stacks such as MEAN (JavaScript) or LAMP (PHP), which consist of multiple layers such as an operating system, web server, database, execution engine and application framework, each of which provide resources to the layer just above it. These powerful software stacks unfortunately are plagued by so-called cross-stack configuration errors (CsCEs), where a higher layer in the stack suddenly starts to behave incorrectly or even crash due to incorrect configuration choices in lower layers. Due to differences in programming languages and lack of explicit links between configuration options of different layers, sysadmins and developers have a hard time identifying the cause of a CsCE, which is why this paper (1) performs a qualitative analysis of 1,082 configuration errors to understand the impact, effort and complexity of dealing with CsCEs, then (2) proposes a modular approach that plugs existing source code analysis (slicing) techniques, in order to recommend the culprit configuration option. Empirical evaluation of this approach on 36 real CsCEs of the top 3 LAMP stack layers shows that our approach reports the misconfigured option with an average rank of 2.18 for 32 of the CsCEs, and takes only few minutes, making it practically useful. {\textcopyright} 2017 IEEE.},
	doi = {10.1109/ICSE.2017.31},
	url = {https://www.scopus.com/inward/record.uri?eid=2-s2.0-85027717403\&doi=10.1109\%2fICSE.2017.31\&partnerID=40\&md5=fa56524dafc8d93876ecd8c56f396da3},
	author = {Sayagh, M. and Kerzazi, N. and Adams, B.}
}
@article {ElAsri2017217,
	title = {From periphery to core: A temporal analysis of github contributors{\textquoteright} collaboration network},
	journal = {IFIP Advances in Information and Communication Technology},
	volume = {506},
	year = {2017},
	note = {cited By 0},
	pages = {217-229},
	abstract = {Open-source projects in GitHub exhibit rich temporal dynamics, and diverse contributors{\textquoteright} social interactions further intensify this process. In this paper, we analyze temporal patterns associated with Open Source Software (OSS) projects and how the contributor{\textquoteright}s notoriety grows and fades over time in a core-periphery structure. In order to explore the temporal dynamics of GitHub communities we formulate a time series clustering model using both Social Network Analysis (SNA) and technical metrics. By applying an adaptive time frame incremental approach to clustering, we locate contributors in different temporal networks. We demonstrate our approach on five long-lived OSS projects involving more than 700 contributors and found that there are three main temporal shapes of attention when contributors shift from periphery to core. Our analyses provide insights into common temporal patterns of the growing OSS communities on GitHub and broaden the understanding of the dynamics and motivation of open source contributors. {\textcopyright} IFIP International Federation for Information Processing 2017.},
	doi = {10.1007/978-3-319-65151-4_21},
	url = {https://www.scopus.com/inward/record.uri?eid=2-s2.0-85029582330\&doi=10.1007\%2f978-3-319-65151-4_21\&partnerID=40\&md5=741b4dffe841d068e54b517f5b1966c8},
	author = {El Asri, I. and Kerzazi, N. and Benhiba, L. and Janati, M.}
}
@article {Kerzazi2017247,
	title = {Knowledge flows within open source software projects: A social network perspective},
	journal = {Lecture Notes in Electrical Engineering},
	volume = {397},
	year = {2017},
	note = {cited By 0},
	pages = {247-258},
	abstract = {Developing software is knowledge-intensive activity, requiring extensive technical knowledge and awareness. The abstract part of development is the social interactions that drive knowledge flows between contributors, especially for Open Source Software (OSS). This study investigated knowledge sharing and propagation from social perspective using social network analysis (SNA). We mined and analyzed the issue and review histories of three OSS from GitHub. Particular attention has been paid to the socio-interactions through comments from contributors on reviews. We aim at explaining the propagation and density of knowledge flows within contributor networks. The results show that review requests flow from the core contributors toward peripheral contributors and comments on reviews are in a continuous loop from the core teams to the peripherals and back; and the core contributors leverage on their awareness and technical knowledge to increase their notoriety by playing the role of communication brokers supported by comments on work items. {\textcopyright} Springer Science+Business Media Singapore 2017.},
	doi = {10.1007/978-981-10-1627-1_19},
	url = {https://www.scopus.com/inward/record.uri?eid=2-s2.0-84996606731\&doi=10.1007\%2f978-981-10-1627-1_19\&partnerID=40\&md5=a2da5970c55b3e81dc2e09bda67e1649},
	author = {Kerzazi, N. and El Asri, I.}
}
@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.}
}
@conference {Kerzazi2015,
	title = {Conceptual alignment between SPEM-based processes and CMMI},
	booktitle = {2015 10th International Conference on Intelligent Systems: Theories and Applications, SITA 2015},
	year = {2015},
	note = {cited By 0},
	abstract = {In the course of process improvement, software organizations attempt to concurrently implement practices that originate from different models, extracting the best from each. Issues of integration and compliance are raised due to missing conceptual view. This paper presents a new method for an explicit alignment between SPEM-based software process modeling and CMMI corpus of best practices. The alignment of process activities with CMMI goes beyond the maturity assessment; it sustains the conceptualization of introducing new software engineering practices at the process-level and open a new topic of combining conceptually parts of different process models. Our method extends the SPEM Meta-model by introducing new interface to CMMI Meta-data. This extension allows visualization of the practices{\textquoteright} intentions within the activity breakdown structure. In addition, it offers a conceptual assessment of process maturity level according to CMMI scales. The method has been fully implemented in a process modeling tool and applied in both academic and industrial contexts to justify improvement opportunities through meaningful dashboards. {\textcopyright} 2015 IEEE.},
	doi = {10.1109/SITA.2015.7358391},
	url = {https://www.scopus.com/inward/record.uri?eid=2-s2.0-84962382985\&doi=10.1109\%2fSITA.2015.7358391\&partnerID=40\&md5=295cf9082ebffdc61c89150812bed4d4},
	author = {Kerzazi, N.}
}
@conference {Naciri2015,
	title = {A strategic release planning model from TPM point of view},
	booktitle = {2015 10th International Conference on Intelligent Systems: Theories and Applications, SITA 2015},
	year = {2015},
	note = {cited By 0},
	abstract = {Release planning is a tedious task, especially within the context of Third Party Application Maintenance (TPM). Software engineering fields acknowledge multiple methods and techniques applied to solve problems of release planning. However, few of them propose a pragmatic and decision support dedicated to TPM managers. This research attempts to apply theory and methods Searchbased software engineering (SBSE) area such as meta-heuristic techniques to solve complex release planning problems faced by TPM organizations. The aim of this paper is to introduce a strategic release planning model based on several TPM factors and constraints, allowing the TPM manager to carry out an effective roadmap and industrialize the planning process of software maintenance. {\textcopyright} 2015 IEEE.},
	doi = {10.1109/SITA.2015.7358396},
	url = {https://www.scopus.com/inward/record.uri?eid=2-s2.0-84962468901\&doi=10.1109\%2fSITA.2015.7358396\&partnerID=40\&md5=bbfbc768cb33ef2e5678536a26d6e8ca},
	author = {Naciri, S. and Janati Idrissi, M.A. and Kerzazi, N.}
}
