You are on page 1of 6

On the Reuse of Knowledge to Develop Intelligent

Software Engineering Solutions


José Ferdinandy Silva Chagas Luiz Antonio Pereira Silva Mirko Perkusich
Federal Rural University of Semi-Arid Federal University of Campina Grande Intelligent Software Engineering Group
Intelligent Software Engineering Group Intelligent Software Engineering Group mirko@virtus.ufcg.edu.br
ferdinandy@ufersa.edu.br luizantonio@copin.ufcg.edu.br

Ademar França de Sousa Neto Danyllo Albuquerque Dalton Cézane Gomes Valadares
Federal University of Campina Grande Intelligent Software Engineering Group Federal Institute of Pernambuco
Intelligent Software Engineering Group danyllo.albuquerque@virtus.ufcg.edu.br Intelligent Software Engineering Group
ademar.sousa@virtus.ufcg.edu.br dalton.cezane@caruaru.ifpe.edu.br

Hyggo Almeida Angelo Perkusich


Federal University of Campina Grande Federal University of Campina Grande
Intelligent Software Engineering Group Intelligent Software Engineering Group
hyggo@dsc.ufcg.edu.br perkusic@dee.ufcg.edu.br

learning, planning, natural language processing, perception or


Abstract—Intelligent Software Engineering (ISE) is currently supporting decision-making”.
a hot topic in research. Besides being a promising field, it brings
many challenges. Therefore, there is a need for guidelines to help In industry, companies such as Facebook and Amazon
researchers to build an ISE solution. The goal of this study is to have been applying intelligent techniques (i.e., search-based
identify patterns in developing ISE solutions. For this purpose, algorithms) to solve SE problems [41]. In academia, it is
we analyzed 42 studies, using a thematic analysis approach, a hot topic [44]. For instance, researchers have proposed
to understand how they reused knowledge and applied it to
solve a SE task. As a result, we developed a thematic network
the application of NLP to manage requirements [28] and
composed of the main concepts related to knowledge reuse for the use of natural-language-based chatbots to improve the
ISE. Further, we identified that researchers use external and productivity of developers [25]. Moreover, through ML, the
internal knowledge sources, and mostly rely on structured data researchers can use accessible software repositories, with a
to develop ISE solutions. Despite this, there are alternatives such lot of available data, to continuously learn and improve the
as eliciting data from humans and literature to identify metrics
or build knowledge-based systems. Overall, we concluded that
software reuse [50]. Perkusich et al. [44] performed a system-
there many research opportunities to guide the construction of atic literature review on ISE in the context of agile software
ISE solutions. development and highlighted the following research themes:
Search-Based Software Engineering (SBSE) [19], machine
learning for SE [55], recommender systems for SE [15],
I. I NTRODUCTION
Bayesian networks for SE [35], software analytics [34], Big
The processing power of modern computers increased con- Code [2] and decision analysis for SE [56]. Among the
siderably, enabling Artificial Intelligence (AI) to reach streets, SE problems that researchers are addressing with intelligent
houses, cities, and people daily [22], [18]. Hence, AI advances techniques, we can list: Effort Estimation ([48], [51], [13],
bring new challenges and opportunities, such as automating [23]), Risk Management ([9]), Software Testing ([29], [24],
or supporting the execution of Software Engineering (SE) [42], [31]), Team Formation ([30], [7]), and Requirements
tasks [27], [10]. On the other hand, bringing AI systems to Engineering ([47], [26], [38], [46]).
the market also brings challenges that can be addressed by ap- Developing an ISE solution is a complex task because it de-
plying SE. As a consequence, recently, the field denominated mands knowledge regarding the SE task at hand and intelligent
as Intelligent Software Engineering (ISE) has emerged. ISE techniques, and, to the best of our knowledge, there are few
is an ambidextrous field focusing on (i) applying intelligent proposals of conceptual models or general guidelines to de-
techniques to solve SE problems and (ii) using SE to improve velop ISE solutions. The literature presents guidelines for ISE
AI systems [53], [44]. In this paper, we focus only on (i), subfields such as data mining for software engineering [54],
which, itself, is not a very recent phenomenon dating back [17], machine learning for software engineering [33], Search-
to the 1980s [37]. As the definition for what is an intelligent Based Software Engineering [20], and data-driven solutions
technique, we follow Perkusich et al. [44], in which this term for agile projects [10]. It also presents guidelines for applying
was defined as: “the exploration of data (from digital arti- intelligent techniques for general purposes, such as building
facts or domain experts) for knowledge discovery, reasoning, Bayesian networks [39], [32]. Despite having their value,

DOI reference number: 10.18293/SEKE2020-157


the existing studies focus on a specific intelligent technique. Despite restricting the scope to agile, Perkusich et al. [44]
The problem is that defining the intelligent technique should report ISE solutions for diverse SE tasks such as effort
not be the starting point of defining an ISE solution. The estimation, requirements prioritization, and risk management;
solution designer only selects the intelligent technique to be and using digital artifacts and humans expertise as knowledge
applied after evaluating the existing available knowledge (e.g., sources. Therefore, we judged that analyzing the ISE solutions
data stored in CASE tools or repositories) and the software reported by Perkusich et al. [44] as being sufficient, given the
engineering problem to be tackled (e.g., estimate effort for a scope of this study.
given task). Therefore, to help in the early stages of building To assure that our results are based only on high-quality
an ISE solution, we argue that there is a need for general studies, guaranteeing the trustworthiness of the synthesis (step
guidelines. v), we filtered the 104 papers following the quality scoring
To address this need, we analyzed 42 studies, identified performed by Perkusich et al. [44]. Perkusich et al. [44] used
by Perkusich et al. [44], that applied intelligent techniques the instrument proposed by Dyba and Dingoyr [11] to assess
to several SE tasks to identify patterns and provide a holistic the quality of the studies. We present the quality criteria in
view on how to develop ISE solutions from the perspectives what follows.
of Knowledge Management (KM) and reuse-driven software 1) Is the paper based on research (or is it merely a “lessons
engineering. learned” report based on expert opinion)?
This paper synthesizes our findings by presenting a thematic 2) Is there a clear statement of the aims of the research?
network and the identified patterns on how the applied intel- 3) Is there an adequate description of the research context?
ligent techniques relates to the reused knowledge. Further, it 4) Was the research design appropriate to address the aims
discusses the implications for research and practice. The rest of the research?
of the paper is structured as follows. Section II presents the 5) Was the recruitment strategy appropriate to the aims of
applied methodology to perform the thematic analysis. Sec- the research?
tion III describes the conceptual model. Section IV discusses 6) Was there a control group with which to compare
the model development challenges, application, and impact. treatments?
Section V lists main threats to validity. Finally, Section VI 7) Was the data collected in a way that addressed the
presents our final remarks, emphasizing the research contribu- research issue?
tion and limitations, and suggesting future works. 8) Was the data analysis sufficiently rigorous?
9) Has the relationship between the researcher and partic-
II. R ESEARCH M ETHODOLOGY ipants been considered to an adequate degree?
The goal of this study is to identify patterns in developing 10) Is there a clear statement of findings?
ISE solutions. For this purpose, we model the problem of 11) Is the study of value for research or practice?
developing ISE solutions from the perspective of knowledge- For each quality criteria, Perkusich et al. [44] rated the
reuse, in which we assume that an intelligent technique reuses studies using a boolean scale in which “1” means “yes” and
data, information, or knowledge, which might be available “0” means “no”. Therefore, the quality score ranges in the
through digital artifacts or domain experts, to solve SE prob- interval [0, 11], which is composed only of Integer numbers.
lems. Given this, we defined the following research questions: We only evaluated studies with a quality score equal to
• RQ1 - How is knowledge reused in the context of ISE? seven or higher, resulting in 42 studies. The complete list of
• RQ2 - What is the relationship between the type of reused evaluated study is made available here1 .
knowledge and the applied intelligent technique? After having identified the 42 studies to be used as our data
source, one researcher analyzed them and extracted publication
RQ1 focuses on classifying existing ISE solutions in terms
details (e.g., title and year), the applied intelligent technique,
of the type of knowledge sources used and, if the case, what
SE task, level of automation [12] and segments of text relevant
are the knowledge transformation techniques employed by
given our research questions. Afterward (step ii), each segment
researchers to feed intelligent technique algorithms.
of text was analyzed and labeled by a researcher, generating
RQ2 focuses on identifying patterns between the type of
a set of codes. We used an integrated approach, in which
reused knowledge and the applied intelligent techniques. The
we defined a “start list” of codes based on our expertise
answer to this research question might indicate trends, which
in the field, but we remained open for new concepts that
might serve as guide researchers and practitioners interested
could become apparent. Another researcher checked the coded
in developing ISE solutions.
segments to avoid researcher bias.
To answer the research questions, we employed a thematic Examples of codes defined a priori are the type of knowl-
analysis approach following the guideline proposed by Cruzes edge source (i.e., tacit, explicit, or both), and type of data (i.e.,
and Dyba [8]. The guideline proposes five research steps: (i) structured, non-structured, both). Conversely, as an example
data extraction, (ii) code data, (iii) translate codes into themes, of a code that became apparent during data analysis was
(iv) create a model of higher-order themes, and (v) assess the techniques to “transform” unstructured data into structured
trustworthiness of the synthesis. data such as text mining, ontology, and qualitative analysis.
As the data source for the first step (i), we used a subset of We discuss these concepts in Section III.
the studies reported by Perkusich et al. [44], which identified
intelligent techniques applied to agile software development. 1 https://bit.ly/2Q596MK
ISE Knowledge
Reuse

Knowledge Knowledge
Transformation Source Type

Tacit

Tacit to Explict Structured


Location Explicit
Unstructured
Text mining (NLP)
Unstructured to
Metrics Repositories (e.g., GitHub)
Structured External
Qualitative Analysis Literature
Ontology
Software Development Lifecycle
Internal Project Management
Knowledge Management

Fig. 1. ISE Knowledge Reuse thematic network

To define and structure the themes (steps iii and iv), the unstructured data refers to text (e.g., requirements, system
researchers analyzed the codes during workshops. At the logs, and source code) but could include audio and video,
end of this process, we developed a thematic network [3], for instance.
organizing the concepts related to knowledge reuse for ISE. The Location theme characterizes where the necessary
Afterward, we used the identified themes to classify the studies knowledge might be found. For this theme, we identified two
and analyze our research questions. options: External and Internal. An external source refers to
sources that are external to a given organization, such as a
III. T HEMATIC N ETWORK repository and the literature. Many researchers in data-driven
This section discusses the thematic network, shown in ISE use repositories such as GitHub [16] for data mining, but
Figure 1, that resulted from analyzing the 42 papers from the literature is an important source of knowledge for ISE. For
Perkusich et al. [44], as discussed in Section II. The thematic instance, Hearty et al. [21], Perkusich et al. [45] and Freire et
network focuses on structuring the concepts related to knowl- al. [14] identified features for their proposed models, partially,
edge reuse in the context of ISE. Therefore, the Global Theme based on information collected from the scientific and grey
(represented as a rectangle in Figure 1) encompasses the ISE literature.
solutions reuses knowledge. Internal sources refer to knowledge that is available within
During our analysis, two middle-order themes (represented an organization. It is the case for data produced during the
by ellipsis in Figure 1) emerged: Knowledge Source and Software Development Lifecycle, Project Management, and
Knowledge Transformation. Every ISE solution, in some way Knowledge Management activities. Given this, it is vital to
or another, uses knowledge for a SE task. The Knowledge notice that there are cases in which the necessary data is
Source theme represents the possible types of sources in which not readily available to solve de SE task at hand. In these
the solution designer or algorithm might collect the necessary cases, the ISE designer must develop tools to collect such
knowledge. We further refined this theme by identifying the data and integrate it them existing processes followed by
themes Type and Location. the organization or evaluate the possibility of transforming
The theme Type refers to the two possible types of knowl- existing knowledge into usable data for intelligent techniques,
edge described in classical KM literature: Tacit or Explicit. which is discussed in what follows.
Tacit knowledge refers to knowledge that is only stored in the The Knowledge Transformation theme refers to transform-
minds of stakeholders (e.g., programmers, software engineers, ing knowledge that is available, but not ready to be used for
and project managers). Explicit knowledge refers to knowledge ISE. It is the case when we have unstructured or tacit knowl-
that is codified and stored in digital (or physical) artifacts. edge that we wish to use. In the case of unstructured data, it is
There are two types of explicit knowledge, Structured and necessary to transform it into structured. We identified such as
Unstructured. We defined that structured data refers to data text mining (e.g., Natural Language Processing) [28], the use
high-organized and easily processed by a machine (e.g., rela- of software metrics [36], qualitative analysis (e.g., coding) [49]
tional database search). Conversely, unstructured data cannot and ontology [6] for this purpose. In the case of having tacit
be processed using conventional tools. In our context, mostly, knowledge, it must be transformed into explicit. This process
from Knowledge Management Processes. The collected data
indicates that researchers when developing ISE solutions, look
for wherever places necessary to find data. Despite this, care
should be taken when deploying ISE solutions in practice,
because having different data sources raises the complexity in
operating and maintaining them.
For the theme Type, 16 studies used tacit knowledge in
the development cycle of the ISE solution, mostly (89%)
eliciting it from ten or fewer experts. For the development
cycle, we included a potential evaluation of the developed ISE
solution by humans. Therefore, we considered that studies that
developed expert systems such as Perkusich et al. [45], Odzaly
et al. [40] and data-driven studies that evaluated their solution
with humans (e.g., Chaves-González et al. [4]) equally. The
reasoning applied is that either way, the tacit knowledge of
humans was used to develop the ISE solution. It is essential to
notice that we did consider here human knowledge regarding
the intelligent technique itself (e.g., knowledge to define the
fitness function of a genetic algorithm), but only related to the
SE task at hand.
Further, 35 (83%) used only structured data, while 7 (17%)
used both types of data (i.e., structured and unstructured). For
instance, Hearty et al. [21] used only structured data (i.e.,
metrics and rules in the form of probability functions) to
build a Bayesian network to predict the velocity of an XP
team. Conversely, Lucassen et al. [28] presents a tool that uses
metrics (i.e., structured data) as indicators of a well-written
Fig. 2. Frequencies of Themes. user story and processes user stories (i.e., unstructured data),
calculating a quality score for them.
Regarding the theme Knowledge Transformation, we ob-
might transform tacit knowledge structured or unstructured. In served that the most popular form to transform tacit knowledge
the latter case, it is necessary to transform it into structured. to explicit is in the form of questionnaires such as done by
For instance, Perkusich et al. [43] elicited knowledge from Perkusich et al. [43]. Further, regarding the transformation of
46 Scrum experts through the Delphi method and an online unstructured to structured data, we observed that the most
survey to construct a Bayesian network for assessing Scrum popular procedure is to use software metrics (28 studies).
projects. For instance, Abouelela and Benedicenti [1] define a set of
metrics and use them to build a Bayesian network to predict
IV. D ISCUSSION the velocity and delivered quality of an XP team. A few
This section discusses the research questions (see Sec- studies used Qualitative Analysis (3) and Text mining (2). For
tions IV-A and IV-B) presented in Section II and the implica- instance, Lucassen et al. [28] process text from user stories
tions for research and practice (see Section IV-C). using Natural Language Processing algorithms. Therefore, we
identify a pattern, in the evaluated studies, to use software
A. ISE Knowledge Reuse
metrics as the preferred means for knowledge transformation.
We used the thematic network presented in Figure 1 to
classify the studies and identify the trends on knowledge reuse B. Relationship between type of reused knowledge and applied
for ISE. Figure 2 presents the frequencies for each theme, intelligent technique
as they were extracted from the studies. In what follows, We triangulated the results of our classification (see Sec-
we discuss each of the results for each of the basic themes tion IV-B with the data collected by Perkusich et al. [44]
(represented as rectangles with rounded borders in Figure 1 regarding the types of intelligent techniques applied by the
presented in the thematic network. studies. As presented in Figure 2, 18 studies focus on, nec-
For the theme Location, 36 (86%) studies used some form essarily, data-driven solutions, this is the case for Search and
of external knowledge source, while 42 (95%) used internal Optimization and Machine learning. The remaining intelligent
sources. Regarding the studies that relied on external sources, techniques might be applied as a result of eliciting expert
19 studies used data from a repository and 16, from the knowledge or exploring digital artifacts. For instance, it is
scientific literature. Regarding the studies that relied on inter- the case for Bayesian networks, which can be constructed
nal sources, 13 studies collected data from artifacts produced solely based on expert knowledge, available data, or both.
during the Software Development Lifecycle, 26 from artifacts Therefore, as expected, if there is enough structured data,
produced by the Project Management Process, and only 1 any of the intelligent techniques presented by Perkusich et
al. [44] might be used. Unfortunately, in practice, most of the • Construct validity: we analyzed the studies following a
artifacts produced by the software development process are thematic analysis approach, in which multiple researchers
unstructured; the case for requirements, test cases, source code, participated to avoid bias. Despite this, it is possible that
and system logs. In these cases, researchers have used tools to the resulting thematic network (Figure 1) and extracted
process unstructured data extracting metrics (e.g., Chidamber data (Figure 2) are not representative of the are due to
and Kemerer metrics [5]) from it automatically or processing subjective bias.
them using text mining algorithms. • Internal validity: to assure credibility in our find-
In the cases of not having enough data, there are two ings, multiple researchers checked the extracted coding,
alternatives: (i) elicit data from humans or literature to identify themes, and the data presented in Figure 2.
metrics or (ii) build knowledge-based systems. For the first • Conclusion validity: since we classified the study to
case, after identifying the metrics that are crucial to solve the identify patterns using the developed thematic network,
SE task at hand, it is necessary to develop tools to, ideally, there is the risk that, since there is a threat to the
collect them automatically during software development or construct validity of the thematic network, it influenced
project management activities. Given that the necessary data is the extracted data and, consequently, our conclusions
available, a data-driven intelligent technology such as Machine regarding the relationship between concepts.
Learning can be used to infer new knowledge or make predic- • External validity: Moreover, since the analyzed studies
tions, for instance. The second option is to extract knowledge focus on supporting decision-making, they do not repre-
from experts and develop, for instance, an expert system using sent all types of ISE solutions. Therefore, the constructed
a Bayesian network or a Rules-based system (e.g., production thematic network might not be representative of ISE
rules). In this case, ideally, it is necessary to develop a tool solutions with higher levels of automation. Despite this,
that collects the input automatically or from humans to infer we believe that including ISE solutions with higher levels
whatever is necessary (e.g., estimate effort for a given task). of automation might identify more basic terms for high
granular, but would not have impact middle-order themes,
C. Implications for research and practice since they follow from classic KM concepts.
This study has several implications for research and prac- VI. C ONCLUSION
tice. For research, we have mapped how knowledge is used
for ISE solutions and identified patterns on how the type of In this study, we explored patterns in developing ISE solu-
reused knowledge relates to the applied intelligent technique. tions, focusing on knowledge reuse by analyzing 42 papers. As
The reported information might guide researchers to develop a result, we developed a thematic network that relates the main
ISE solutions having a more holistic view of their development concepts in this topic. Further, we identified that researchers
process. Despite this, the analyzed studies focus on supporting use external and internal knowledge sources, and mostly rely
decision-making, not having a high level of automation, using on structured data to develop ISE solutions. Despite this,
the classification described in Feldt et al. [12]. Therefore, we we showed alternatives, such as eliciting data from humans
believe that there is a need to further refine the presented and literature to identify metrics and build knowledge-based
thematic network by analyzing studies with higher levels of systems (e.g., expert systems) when structured data is not
automation. Further, there is a need for more studies to define readily available to be used for solving a SE task.
guidelines for researchers in building ISE solutions, through The main limitation of the study is only having evaluated
the form of checklists, catalogs, taxonomies or reference mod- ISE solutions that focus on supporting decision-making. Fur-
els; especially, focusing on the early stages of developing an ther, the study also identifies several opportunities for future
ISE solution, which, usually, relies on evaluating the available work, including refining the thematic network by analyzing
knowledge to solve the SE task at hand. ISE solutions with higher levels of automation and defining
Also, this study showed that researchers, when building guidelines for researchers to build ISE solutions, especially,
ISE solutions, rely on publicly available repositories. The giving instructions on the early-stages process of an ISE
implications for this point are twofold: first, it demonstrates solution conceptualization.
the importance of having data available to build ISE solutions,
R EFERENCES
and second, to be able to validate and compare ISE solutions
focusing on the same SE task. [1] M. Abouelela and L. Benedicenti. Bayesian network based xp process
modelling. International Journal of Software Engineering and Applica-
For practitioners, this study shows how knowledge is reused tions, 1(3):1–15, 2010.
by ISE solutions and can be an inspiration for them to use [2] M. Allamanis, E. T. Barr, P. Devanbu, and C. Sutton. A survey of
tools and participate in research that helps to make explicit machine learning for big code and naturalness. ACM Computing Surveys
(CSUR), 51(4):81, 2018.
knowledge available. As a consequence, better ISE tools can [3] J. Attride-Stirling. Thematic networks: an analytic tool for qualitative
be developed that can, potentially, make them more efficient. research. Qualitative research, 1(3):385–405, 2001.
[4] J. M. Chaves-González, M. A. Pérez-Toledano, and A. Navasa. Software
V. T HREATS TO VALIDITY requirement optimization using a multiobjective swarm intelligence evo-
lutionary algorithm. Knowledge-Based Systems, 83(Supplement C):105
This section discusses this study’s threats to validity follow- – 115, 2015.
[5] S. R. Chidamber and C. F. Kemerer. A metrics suite for object oriented
ing the classification proposed by Wohlin et al. [52]: construct, design. Software Engineering, IEEE Transactions on, 20(6):476–493,
internal, conclusion, and external validity. 1994.
[6] R. Colomo-Palacios, I. González-Carrasco, J. L. López-Cuadrado, and [31] A. M. Memon, M. E. Pollack, and M. L. Soffa. Hierarchical gui test
Á. Garcı́a-Crespo. Resyster: A hybrid recommender system for scrum case generation using automated planning. IEEE TSE, 2001.
team roles based on fuzzy and rough sets. International Journal of [32] E. Mendes. Practitioner’s knowledge representation: a pathway to
Applied Mathematics and Computer Science, 22(4):801–816, 2012. improve software effort estimation. Springer Science & Business, 2014.
[7] A. A. M. Costa, F. B. A. Ramos, M. Perkusich, A. S. Freire, H. O. [33] T. Menzies. Practical machine learning for software engineering and
Almeida, and A. Perkusich. A search-based software engineering knowledge engineering. In Handbook of Software Engineering and
approach to support multiple team formation for scrum projects. In Knowledge Engineering: Volume I: Fundamentals, pages 837–862.
SEKE, pages 474–473, 2018. World Scientific, 2001.
[8] D. S. Cruzes and T. Dyba. Recommended steps for thematic synthesis [34] T. Menzies and T. Zimmermann. Software analytics: so what? IEEE
in software engineering. In 2011 international symposium on empirical Software, 30(4):31–37, 2013.
software engineering and measurement, pages 275–284. IEEE, 2011. [35] A. T. Misirli and A. B. Bener. Bayesian networks for evidence-
[9] H. K. Dam. Artificial intelligence for software engineering. XRDS: based decision-making in software engineering. IEEE Transactions on
Crossroads, The ACM Magazine for Students, 25(3):34–37, 2019. Software Engineering, 40(6):533–554, June 2014.
[10] H. K. Dam, T. Tran, J. Grundy, A. Ghose, and Y. Kamei. Towards [36] R. Moser, W. Pedrycz, and G. Succi. Incremental effort prediction
effective ai-powered agile project management. In 2019 IEEE/ACM models in agile development using radial basis functions. In SEKE,
41st International Conference on Software Engineering: New Ideas and pages 519–522. Citeseer, 2007.
Emerging Results (ICSE-NIER), pages 41–44. IEEE, 2019. [37] J. Mostow. Foreword what is ai? and what does it have to do with
[11] T. Dybå and T. Dingsøyr. Empirical studies of agile software devel- software engineering? IEEE Transactions on Software Engineering,
opment: A systematic review. Information and software technology, (11):1253–1256, 1985.
50(9-10):833–859, 2008. [38] J. Mylopoulos, L. Chung, and E. Yu. From object-oriented to goal-
[12] R. Feldt, F. G. de Oliveira Neto, and R. Torkar. Ways of applying oriented requirements analysis. Communications of the ACM, 1999.
artificial intelligence in software engineering. In 2018 IEEE/ACM 6th [39] M. Neil, N. Fenton, and L. Nielson. Building large-scale bayesian
International Workshop on Realizing Artificial Intelligence Synergies in networks. The Knowledge Engineering Review, 15(3):257–284, 2000.
Software Engineering (RAISE), pages 35–41. IEEE, 2018. [40] E. E. Odzaly1 and D. S. Des Greer1 . Lightweight risk management in
[13] G. R. Finnie and G. E. Wittig. Ai tools for software development effort agile projects. 2014.
estimation. In Proceedings 1996 International Conference Software [41] I. Ozkaya. The golden age of software engineering [from the editor].
Engineering: Education and Practice, pages 346–353. IEEE, 1996. IEEE Software, (1):4–10, 2019.
[14] A. Freire, M. Perkusich, R. Saraiva, H. Almeida, and A. Perkusich. A [42] S. Parnami, K. Sharma, and S. V. Chande. A survey on generation of test
bayesian networks-based approach to assess and improve the teamwork cases and test data using artificial intelligence techniques. International
quality of agile teams. Information and Software Technology, 100:119– Journal of Advances in Computer Networks and its Security, 2(1), 2012.
132, 2018. [43] M. Perkusich, H. O. de Almeida, and A. Perkusich. A model to detect
[15] M. Gasparic and A. Janes. What recommendation systems for software problems on scrum-based software development projects. In Proceedings
engineering recommend: A systematic literature review. Journal of of the 28th Annual ACM Symposium on Applied Computing, pages 1037–
Systems and Software, 113(Supplement C):101 – 113, 2016. 1042, 2013.
[16] G. Gousios and D. Spinellis. Mining software engineering data from [44] M. Perkusich, L. C. e Silva, A. Costa, F. Ramos, R. Saraiva, A. Freire,
github. In 2017 IEEE/ACM 39th International Conference on Software E. Dilorenzo, E. Dantas, D. Santos, K. Gorgônio, et al. Intelligent
Engineering Companion (ICSE-C), pages 501–502. IEEE, 2017. software engineering in the context of agile software development:
[17] M. Halkidi, D. Spinellis, G. Tsatsaronis, and M. Vazirgiannis. Data A systematic literature review. Information and Software Technology,
mining in software engineering. Intelligent Data Analysis, 15(3):413– 119:106241, 2020.
441, 2011. [45] M. Perkusich, G. Soares, H. Almeida, and A. Perkusich. A procedure
[18] M. Harman. The role of artificial intelligence in software engineering. to detect problems of processes in software development projects using
In 2012 First International Workshop on RAISE, pages 1–6. IEEE, 2012. bayesian networks. Expert Systems with Applications, 42(1):437 – 450,
[19] M. Harman, S. A. Mansouri, and Y. Zhang. Search-based software 2015.
engineering: Trends, techniques and applications. ACM Comput. Surv., [46] F. B. A. Ramos, A. A. M. Costa, M. Perkusich, H. O. Almeida, and
45(1):11:1–11:61, Dec. 2012. A. Perkusich. A non-functional requirements recommendation system
[20] M. Harman, S. A. Mansouri, and Y. Zhang. Search-based software for scrum-based projects. In SEKE, pages 149–148, 2018.
engineering: Trends, techniques and applications. ACM Computing [47] H. B. Reubenstein and R. C. Waters. The requirements apprentice:
Surveys (CSUR), 45(1):11, 2012. Automated assistance for requirements acquisition. IEEE TSE, 1991.
[21] P. Hearty, N. Fenton, D. Marquez, and M. Neil. Predicting project [48] K. Srinivasan and D. Fisher. Machine learning approaches to estimating
velocity in xp using a learning dynamic bayesian network model. IEEE software development effort. IEEE TSE, 21(2):126–137, 1995.
Transactions on Software Engineering, 35(1):124–137, Jan 2009. [49] A. Turani. Applying case based reasoning in agile software development.
[22] H. Hourani, A. Hammad, and M. Lafi. The impact of artificial Journal of Theoretical and Applied Information Technology, 78(1):120,
intelligence on software testing. In 2019 IEEE JEEIT. IEEE, 2019. 2015.
[23] S.-J. Huang, N.-H. Chiu, and L.-W. Chen. Integration of the grey [50] D. P. Wangoo. Artificial intelligence techniques in software engineering
relational analysis with genetic algorithm for software effort estimation. for automated software reuse and design. In 4th ICCCA. IEEE, 2018.
European Journal of Operational Research, 188(3):898–909, 2008. [51] J. Wen, S. Li, Z. Lin, Y. Hu, and C. Huang. Systematic literature
[24] H. Jin, Y. Wang, N.-W. Chen, Z.-J. Gou, and S. Wang. Artificial neural review of machine learning based software development effort estimation
network for automatic test oracles generation. In International Conf. on models. Information and Software Technology, 54(1):41–59, 2012.
Computer Science and Software Engineering. IEEE, 2008. [52] C. Wohlin, P. Runeson, M. Höst, M. C. Ohlsson, B. Regnell, and
A. Wesslén. Experimentation in software engineering. Springer Science
[25] C. Lebeuf, A. Zagalsky, M. Foucault, and M.-A. Storey. Defining and
& Business Media, 2012.
classifying software bots: a faceted taxonomy. In Proceedings of the 1st
[53] T. Xie. Intelligent software engineering: Synergy between ai and
Intern. Workshop on Bots in Software Engineering. IEEE Press, 2019.
software engineering. In Intern. Symposium on DSE. Springer, 2018.
[26] J. Lin, M. S. Fox, and T. Bilgic. A requirement ontology for engineering
[54] T. Xie, S. Thummalapenta, D. Lo, and C. Liu. Data mining for software
design. Concurrent Engineering, 4(3):279–291, 1996.
engineering. Computer, 42(8):55–62, 2009.
[27] M. Lowry and M. R. Lowry. Knowledge-based software engineering. In
[55] D. Zhang and J. J. Tsai. Machine learning and software engineering.
Handbook of Artificial Intelligence, volume IV, pages 241–322. Addison-
Software Quality Journal, 11(2):87–119, Jun 2003.
Wesely, 1989.
[56] L. Zhu, A. Aurum, I. Gorton, and R. Jeffery. Tradeoff and sensitivity
[28] G. Lucassen, F. Dalpiaz, J. M. E. van der Werf, and S. Brinkkemper. analysis in software architecture evaluation using analytic hierarchy
Improving agile requirements: the quality user story framework and tool. process. Software Quality Journal, 13(4):357–375, 2005.
Requirements Engineering, 21(3):383–403, 2016.
[29] D. J. Mala, V. Mohan, and M. Kamalapriya. Automated software
test optimisation framework–an artificial bee colony optimisation-based
approach. IET software, 4(5):334–348, 2010.
[30] L. S. Marcolino, A. X. Jiang, and M. Tambe. Multi-agent team
formation: diversity beats strength? In Twenty-Third International Joint
Conference on Artificial Intelligence, 2013.

You might also like