15 research outputs found
Exploiting Abstract Syntax Trees to Locate Software Defects
Context. Software defect prediction aims to reduce the large costs involved with faults in a software system. A wide range of traditional software metrics have been evaluated as potential defect indicators. These traditional metrics are derived from the source code or from the software development process. Studies have shown that no metric clearly out performs another and identifying defect-prone code using traditional metrics has reached a performance ceiling. Less traditional metrics have been studied, with
these metrics being derived from the natural language of the source code. These newer, less traditional and finer grained metrics have shown promise within defect prediction.
Aims. The aim of this dissertation is to study the relationship between short Java constructs and the faultiness of source code. To study this relationship this dissertation introduces the concept of a
Java sequence and Java code snippet. Sequences are created by using the Java abstract syntax tree. The ordering of the nodes within the abstract syntax tree creates the sequences, while small sub sequences of this sequence are the code snippets. The dissertation tries to find a relationship between the code
snippets and faulty and non-faulty code. This dissertation also looks at the evolution of the code snippets as a system matures, to discover whether code snippets significantly associated with faulty
code change over time.
Methods. To achieve the aims of the dissertation, two main techniques have been developed; finding defective code and extracting Java sequences and code snippets. Finding defective code has been split into two areas - finding the defect fix and defect insertion points. To find the defect fix points an implementation of the bug-linking algorithm has been developed, called S + e . Two algorithms were developed to extract the sequences and the code snippets. The code snippets are analysed using the binomial test to find which ones are significantly associated with faulty and non-faulty code. These techniques have been performed on five different Java datasets; ArgoUML, AspectJ and three releases of Eclipse.JDT.core
Results. There are significant associations between some code snippets and faulty code. Frequently occurring fault-prone code snippets include those associated with identifiers, method calls and
variables. There are some code snippets significantly associated with faults that are always in faulty code. There are 201 code snippets that are snippets significantly associated with faults across all five of the systems. The technique is unable to find any significant associations between code snippets and non-faulty code. The relationship between code snippets and faults seems to change as the system evolves with more snippets becoming fault-prone as Eclipse.JDT.core evolved over the three releases analysed.
Conclusions. This dissertation has introduced the concept of code snippets into software engineering and defect prediction. The use of code snippets offers a promising approach to identifying potentially defective code. Unlike previous approaches, code snippets are based on a comprehensive analysis of low level code features and potentially allow the full set of code defects to be identified.
Initial research into the relationship between code snippets and faults has shown that some code constructs or features are significantly related to software faults. The significant associations between code snippets and faults has provided additional empirical evidence to some already researched bad constructs within defect prediction. The code snippets have shown that some constructs significantly associated with faults are located in all five systems, and although this set is small finding any defect indicators that transfer successfully from one system to another is rare
Empirically-Grounded Construction of Bug Prediction and Detection Tools
There is an increasing demand on high-quality software as software bugs have an economic impact not only on software projects, but also on national economies in general. Software quality is achieved via the main quality assurance activities of testing and code reviewing. However, these activities are expensive, thus they need to be carried out efficiently.
Auxiliary software quality tools such as bug detection and bug prediction tools help developers focus their testing and reviewing activities on the parts of software that more likely contain bugs. However, these tools are far from adoption as mainstream development tools. Previous research points to their inability to adapt to the peculiarities of projects and their high rate of false positives as the main obstacles of their adoption.
We propose empirically-grounded analysis to improve the adaptability and efficiency of bug detection and prediction tools. For a bug detector to be efficient, it needs to detect bugs that are conspicuous, frequent, and specific to a software project. We empirically show that the null-related bugs fulfill these criteria and are worth building detectors for. We analyze the null dereferencing problem and find that its root cause lies in methods that return null. We propose an empirical solution to this problem that depends on the wisdom of the crowd. For each API method, we extract the nullability measure that expresses how often the return value of this method is checked against null in the ecosystem of the API. We use nullability to annotate API methods with nullness annotation and warn developers about missing and excessive null checks.
For a bug predictor to be efficient, it needs to be optimized as both a machine learning model and a software quality tool. We empirically show how feature selection and hyperparameter optimizations improve prediction accuracy. Then we optimize bug prediction to locate the maximum number of bugs in the minimum amount of code by finding the most cost-effective combination of bug prediction configurations, i.e., dependent variables, machine learning model, and response variable. We show that using both source code and change metrics as dependent variables, applying feature selection on them, then using an optimized Random Forest to predict the number of bugs results in the most cost-effective bug predictor.
Throughout this thesis, we show how empirically-grounded analysis helps us achieve efficient bug prediction and detection tools and adapt them to the characteristics of each software project
Opinion Dynamics and the Evolution of Social Power in Social Networks
A fundamental aspect of society is the exchange and discussion of
opinions between individuals, occurring in mediums and situations
as varied as company boardrooms, elementary school classrooms and
online social media. This thesis studies several mathematical
models of how an individualâs opinion(s) evolves via
interaction with others in a social network, developed to reflect
and capture different socio-psychological processes that occur
during the interactions.
In the first part, and inspired by Solomon E. Aschâs seminal
experiments on conformity, a novel discrete-time model of opinion
dynamics is proposed, with each individual having both an
expressed and a private opinion on the same topic. Crucially, an
individualâs expressed opinion is altered from the
individualâs private opinion due to pressures to conform to the
majority opinion of the social network. Exponential convergence
of the opinion dynamical system to a unique configuration is
established for general networks. Several conclusions are
established, including how differences between an individualâs
expressed and private opinions arise, and how to estimate
disagreement among the private opinions at equilibrium. Aschâs
experiments are revisited and re-examined, and then it is shown
that a few extremists can create âpluralistic ignoranceâ,
where people believe there is majority support for a position but
in fact the position is privately rejected by the majority of
individuals!
The second part builds on the recently proposed discrete-time
DeGrootâFriedkin model, which describes the evolution of an
individualâs self-confidence (termed social power) in his/her
opinion over the discussion of a sequence of issues. Using
nonlinear contraction analysis, exponential convergence to a
unique equilibrium is established for networks with constant
topology. Networks with issue-varying topology (which remain
constant for any given issue) are then studied; exponential
convergence to a unique limiting trajectory is established. In a
social context, this means that each individual forgets his/her
initial social power exponentially fast; in the limit, his/her
social power for a given issue depends only on the previously
occurring sequence of dynamic topology. Two further related works
are considered; a network modification problem, and a different
convergence proof based on Lefschetz Fixed Point Theory.
In the final part, a continuous-time model is proposed to capture
simultaneous discussion of logically interdependent topics; the
interdependence is captured by a âlogic matrixâ. When no
individual remains attached to his/her initial opinion, a
necessary and sufficient condition for the network to reach a
consensus of opinions is provided. This condition depends on the
interplay between the network interactions and the logic matrix;
if the network interactions are too strong when compared to the
logical couplings, instability can result. Last, when some
individuals remain attached to their initial opinions, sufficient
conditions are given for opinions to converge to a state of
persistent disagreement
Assembly Line
An assembly line is a manufacturing process in which parts are added to a product in a sequential manner using optimally planned logistics to create a finished product in the fastest possible way. It is a flow-oriented production system where the productive units performing the operations, referred to as stations, are aligned in a serial manner. The present edited book is a collection of 12 chapters written by experts and well-known professionals of the field. The volume is organized in three parts according to the last research works in assembly line subject. The first part of the book is devoted to the assembly line balancing problem. It includes chapters dealing with different problems of ALBP. In the second part of the book some optimization problems in assembly line structure are considered. In many situations there are several contradictory goals that have to be satisfied simultaneously. The third part of the book deals with testing problems in assembly line. This section gives an overview on new trends, techniques and methodologies for testing the quality of a product at the end of the assembling line
Information Management and Market Engineering. Vol. II
The research program Information Management and Market Engineering focuses on the analysis and the design of electronic markets. Taking a holistic view of the conceptualization and realization of solutions, the research integrates the disciplines business administration, economics, computer science, and law. Topics of interest range from the implementation, quality assurance, and advancement of electronic markets to their integration into business processes and legal frameworks
Operational Research: Methods and Applications
Throughout its history, Operational Research has evolved to include a variety of methods, models and algorithms that have been applied to a diverse and wide range of contexts. This encyclopedic article consists of two main sections: methods and applications. The first aims to summarise the up-to-date knowledge and provide an overview of the state-of-the-art methods and key developments in the various subdomains of the field. The second offers a wide-ranging list of areas where Operational Research has been applied. The article is meant to be read in a nonlinear fashion. It should be used as a point of reference or first-port-of-call for a diverse pool of readers: academics, researchers, students, and practitioners. The entries within the methods and applications sections are presented in alphabetical order. The authors dedicate this paper to the 2023 Turkey/Syria earthquake victims. We sincerely hope that advances in OR will play a role towards minimising the pain and suffering caused by this and future catastrophes
Operational research:methods and applications
Throughout its history, Operational Research has evolved to include a variety of methods, models and algorithms that have been applied to a diverse and wide range of contexts. This encyclopedic article consists of two main sections: methods and applications. The first aims to summarise the up-to-date knowledge and provide an overview of the state-of-the-art methods and key developments in the various subdomains of the field. The second offers a wide-ranging list of areas where Operational Research has been applied. The article is meant to be read in a nonlinear fashion. It should be used as a point of reference or first-port-of-call for a diverse pool of readers: academics, researchers, students, and practitioners. The entries within the methods and applications sections are presented in alphabetical order
Collected Papers (on Neutrosophic Theory and Applications), Volume VII
This seventh volume of Collected Papers includes 70 papers comprising 974 pages on (theoretic and applied) neutrosophics, written between 2013-2021 by the author alone or in collaboration with the following 122 co-authors from 22 countries: Mohamed Abdel-Basset, Abdel-Nasser Hussian, C. Alexander, Mumtaz Ali, Yaman Akbulut, Amir Abdullah, Amira S. Ashour, Assia Bakali, Kousik Bhattacharya, Kainat Bibi, R. N. Boyd, Ămit Budak, Lulu Cai, Cenap Ăzel, Chang Su Kim, Victor Christianto, Chunlai Du, Chunxin Bo, Rituparna Chutia, Cu Nguyen Giap, Dao The Son, Vinayak Devvrat, Arindam Dey, Partha Pratim Dey, Fahad Alsharari, Feng Yongfei, S. Ganesan, Shivam Ghildiyal, Bibhas C. Giri, Masooma Raza Hashmi, Ahmed Refaat Hawas, Hoang Viet Long, Le Hoang Son, Hongbo Wang, Hongnian Yu, Mihaiela Iliescu, Saeid Jafari, Temitope Gbolahan Jaiyeola, Naeem Jan, R. Jeevitha, Jun Ye, Anup Khan, Madad Khan, Salma Khan, Ilanthenral Kandasamy, W.B. Vasantha Kandasamy, Darjan KarabaĆĄeviÄ, Kifayat Ullah, Kishore Kumar P.K., Sujit Kumar De, Prasun Kumar Nayak, Malayalan Lathamaheswari, Luong Thi Hong Lan, Anam Luqman, Luu Quoc Dat, Tahir Mahmood, Hafsa M. Malik, Nivetha Martin, Mai Mohamed, Parimala Mani, Mingcong Deng, Mohammed A. Al Shumrani, Mohammad Hamidi, Mohamed Talea, Kalyan Mondal, Muhammad Akram, Muhammad Gulistan, Farshid Mofidnakhaei, Muhammad Shoaib, Muhammad Riaz, Karthika Muthusamy, Nabeela Ishfaq, Deivanayagampillai Nagarajan, Sumera Naz, Nguyen Dinh Hoa, Nguyen Tho Thong, Nguyen Xuan Thao, Noor ul Amin, Dragan PamuÄar, Gabrijela PopoviÄ, S. Krishna Prabha, Surapati Pramanik, Priya R, Qiaoyan Li, Yaser Saber, Said Broumi, Saima Anis, Saleem Abdullah, Ganeshsree Selvachandran, Abdulkadir SengĂŒr, Seyed Ahmad Edalatpanah, Shahbaz Ali, Shahzaib Ashraf, Shouzhen Zeng, Shio Gai Quek, Shuangwu Zhu, Shumaiza, Sidra Sayed, Sohail Iqbal, Songtao Shao, Sundas Shahzadi, DragiĆĄa StanujkiÄ, Ćœeljko SteviÄ, Udhayakumar Ramalingam, Zunaira Rashid, Hossein Rashmanlou, Rajkumar Verma, Luige VlÄdÄreanu, Victor VlÄdÄreanu, Desmond Jun Yi Tey, Selçuk Topal, Naveed Yaqoob, Yanhui Guo, Yee Fei Gan, Yingcang Ma, Young Bae Jun, Yuping Lai, Hafiz Abdul Wahab, Wei Yang, Xiaohong Zhang, Edmundas Kazimieras Zavadskas, Lemnaouar Zedam