Matheus Paixao
University College London
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Matheus Paixao.
automated software engineering | 2017
Allysson Allex Araújo; Matheus Paixao; Italo Yeltsin; Altino Dantas; Jerffeson Teixeira de Souza
The next release problem (NRP) consists of selecting which requirements will be implemented in the next release of a software system. For many search based software engineering approaches to the NRP, there is still a lack of capability to efficiently incorporate human experience and preferences in the search process. Therefore, this paper proposes an architecture to deal with this issue, where the decision maker (DM) and his/her tacit assessments are taken into account during the solutions evaluations alongside the interactive genetic algorithm. Furthermore, a learning model is employed to avoid an overwhelming number of interactions. An empirical study involving software engineer practitioners, different instances, and different machine learning techniques was performed to assess the feasibility of the architecture to incorporate human knowledge in the overall optimization process. Obtained results indicate the architecture can assist the DM in selecting a set of requirements that properly incorporate his/her expertise, while optimizing other explicit measurable aspects equally important to the next release planning. On a scale of 0 (very ineffective) to 5 (very effective), all participants found the experience of interactively selecting the requirements using the approach as a 4 (effective).
symposium on search based software engineering | 2014
Allysson Allex Araújo; Matheus Paixao
The Next Release Problem consists in selecting which requirements will be implemented in the next software release. For many SBSE approaches to the NRP, there is still a lack of ability to efficiently include the human opinion and its peculiarities in the search process. Most of these difficulties are due to the problem of the human fatigue. Thus, it is proposed the use of a machine learning technique to model the user and replace him in an Interactive Genetic Algorithm to the NRP. Intermediate results are able to show that an IGA can succesfully incorporate the user preferences in the final solution.
IEEE Transactions on Evolutionary Computation | 2018
Matheus Paixao; Mark Harman; Yuanyuan Zhang; Yijun Yu
Search-based software engineering has been extensively applied to the problem of finding improved modular structures that maximize cohesion and minimize coupling. However, there has, hitherto, been no longitudinal study of developers’ implementations, over a series of sequential releases. Moreover, results validating whether developers respect the fitness functions are scarce, and the potentially disruptive effect of search-based remodularization is usually overlooked. We present an empirical study of 233 sequential releases of ten different systems; the largest empirical study reported in the literature so far, and the first longitudinal study. Our results provide evidence that developers do, indeed, respect the fitness functions used to optimize cohesion/coupling (they are statistically significantly better than arbitrary choices with
symposium on search based software engineering | 2015
Matheus Paixao; Mark Harman; Yuanyuan Zhang
{p\ll 0.01}
symposium on search based software engineering | 2013
Matheus Paixao; Jerffeson Teixeira de Souza
), yet they also leave considerable room for further improvement (cohesion/coupling can be improved by 25% on average). However, we also report that optimizing the structure is highly disruptive (on average more than 57% of the structure must change), while our results reveal that developers tend to avoid such disruption. Therefore, we introduce and evaluate a multiobjective (MO) evolutionary approach that minimizes disruption while maximizing cohesion/coupling improvement. This allows developers to balance reticence to disrupt existing modular structure, against their competing need to improve cohesion and coupling. The MO approach is able to find modular structures that improve the cohesion of developers’ implementations by 22.52%, while causing an acceptably low level of disruption (within that already tolerated by developers).
mining software repositories | 2018
John Wilkie; Ziad Al Halabi; Alperen Karaoglu; Jiafeng Liao; George Ndungu; Chaiyong Ragkhitwetsagul; Matheus Paixao; Jens Krinke
This paper applies multi-objective search based software remodularization to the program Kate, showing how this can improve cohesion and coupling, and investigating differences between weighted and unweighted approaches and between equal-size and maximising clusters approaches. We also investigate the effects of considering omnipresent modules. Overall, we provide evidence that search based modularization can benefit Kate developers.
symposium on search based software engineering | 2017
Giovani Guizzo; Mosab Bazargani; Matheus Paixao; John H. Drake
Selecting a set of requirements to be included in the next software release, which has become to be known as the Next Release Problem, is an important issue in the iterative and incremental software development model. Since software development is performed under a dynamic environment, some requirements aspects, like importance and effort cost values, are highly subject to uncertainties, which should be taken into account when solving this problem through a search technique. Current robust approaches for dealing with these uncertainties are very conservative, since they perform the selection of the requirements considering all possible uncertainties realizations. Thereby, this paper presents an evolution of this robust model, exploiting the recoverable robust optimization framework, which is capable of producing recoverable solutions for the Next Release Problem. Several experiments were performed over synthetic and real-world instances, with all results showing that the recovery strategy handles well the conservatism and adds more quality to the robust solutions.
symposium on search based software engineering | 2016
Chaiyong Ragkhitwetsagul; Matheus Paixao; Manal T. Adham; Saheed A. Busari; Jens Krinke; John H. Drake
This paper presents a technique to identify a developer based on their IDE event data. We exploited the KaVE data set which recorded IDE activities from 85 developers with 11M events. We found that using an SVM with a linear kernel on raw event count outperformed k-NN in identifying developers with an accuracy of 0.52. Moreover, after setting the optimal number of events and sessions to train the classifier, we achieved a higher accuracy of 0.69 and 0.71 respectively. The findings shows that we can identify developers based on their IDE event data. The technique can be expanded further to group similar developers for IDE feature recommendations.
Journal of Software Engineering Research and Development | 2014
Wesley Klewerton Guez Assunção; Márcio de Oliveira Barros; Thelma Elita Colanzi; Arilo Claudio Dias-Neto; Matheus Paixao; Jerffeson Teixeira de Souza; Silvia Regina Vergilio
Integration testing seeks to find communication problems between different units of a software system. As the order in which units are considered can impact the overall effort required to perform integration testing, deciding an appropriate sequence to integrate and test units is vital. Here we apply a multi-objective hyper-heuristic set within an NSGA-II framework to the Integration and Test Order Problem (ITO) for Google Guava, a set of open-source common libraries for Java. Our results show that an NSGA-II based hyper-heuristic employing a simplified version of Choice Function heuristic selection, outperforms standard NSGA-II for this problem.
genetic and evolutionary computation conference | 2013
Matheus Paixao; Jerffeson Teixeira de Souza
Clone detection is the process of finding duplicated code within a software code base in an automated manner. It is useful in several areas of software development such as code quality analysis, bug detection, and program understanding. We replicate a study of a genetic-algorithm based framework that optimises parameters for clone agreement (EvaClone). We apply the framework to 14 releases of Mockito, a Java mocking framework. We observe that the optimised parameters outperform the tools’ default parameters in term of clone agreement by 19.91 % to 66.43 %. However, the framework gives undesirable results in term of clone quality. EvaClone either maximises or minimises a number of clones in order to achieve the highest agreement resulting in more false positives or false negatives introduced consequently.