10 research outputs found

    A Framework to Automate Requirements Specification Task

    Get PDF
    Requirement identification and prioritisation are two principal activities of the requirement engineering process in the Software Development Life cycle. There are several approaches to prioritization of requirements identified by the stakeholders. However, there is a need for a deeper understanding of the optimal approach. Much study has been done and machine learning has proven to help automate requirement engineering tasks. A framework that identifies the types of requirements and assigns the priority to requirements does not exist. This study examines the behaviour of the different machine learning algorithms used for software requirements identification and prioritisation. Due to variations in research methodologies and datasets, the results of various studies are inherently contradictory. A framework that identifies the types of requirements and assigns the priority to requirements does not exist. This paper further discusses a framework for text preparation of requirements stated in natural language, type identification and requirements prioritisation has been proposed and implemented. After analysing the ML algorithms that are now in use, it can be concluded that it is necessary to take into account the various types of requirements when dealing with the identification and classification of requirements. A Multiple Correlation Coefficient-based Decision Tree (MCC-based DT) algorithm considers multiple features to map to a requirement and hence overcomes the limitations of the existing machine learning algorithms. The results demonstrated that the MCC-based DT algorithm has enhanced type identification performance compared to existing ML methods. The MCC-based DT algorithm is 4.42% more accurate than the Decision Tree algorithm. This study also tries to determine an optimisation algorithm that is likely to prioritise software requirements and further evaluate the performance. The sparse matrix produced for the text dataset indicates that Adam optimisation method must be modified to assign the requirement a more precise priority. To address the limitations of the Adam Algorithm, the Automated Requirement Prioritisation Technique, an innovative algorithm, is implemented in this work. Testing the ARPT on 43 projects reveals that the mean squared error is reduced to 1.34 and the error cost is reduced to 0.0001. The results indicate an 84% improvement in the prioritisation of requirements compared to the Adam algorithm

    Agile development in cloud computing for eliciting non-functional requirements

    Get PDF
    Agile is a popular and growing software development methodology. In the agile methodology, requirements are refined based on collaborations with customers and team members. However, the agile process faces a lack of visibility across the development and delivery processes, has complex and disjointed development processes and lacks communication agility between disconnected owners, development teams, and users. Furthermore, Non-Functional Requirements (NFR) are ignored due to the nature of agile development that lacks knowledge of the user and developer about NFR. In addition, extraction of the NFR is difficult and this difficulty is increased because the agile methodology promotes change in requirement at any stage of the development. Cloud computing services have helped solve some of the issues in the agile process. However, to address the issues in agile development, this research developed a framework for Agile Development in Cloud Computing (ADCC) that uses the facilitation of cloud computing to solve the above-mentioned issues. An Automated NFR eXtraction (ANFRX) method was developed to extract NFR from the software requirement documents and interview notes wrote during requirement gathering. The ANFRX method exploited the semantic knowledge of words in the requirement to classify and extract the NFR. Furthermore, an NFR Elicitation (NFRElicit) approach was developed to help users and development teams in elicitation of NFR in cloud computing. NFRElicit approach used components such as an organization’s projects history, ANFRX method, software quality standards, and templates. The ADCC framework was evaluated by conducting a case study and industrial survey. The results of the case study showed that the use of ADCC framework facilitated the agile development process. In addition, the industrial survey results revealed that the ADCC framework had a positive significant impact on communication, development infrastructure provision, scalability, transparency and requirement engineering activities in agile development. The ANFRX method was evaluated by applying it on PROMISE-NFR dataset. ANFRX method improved 40% and 26% in terms of f-measure from the Cleland and Slankas studies, respectively. The NFRElicit approach was applied to eProcurement dataset and evaluated in terms of more “Successful”, less “Partial Success” and “Failure” to identify NFR in requirement sentences. The NFRElicit approach improved 11.36% and 2.27% in terms of increase in “Successful” NFR, decrease of 5.68% and 1.14% in terms of “Partial success” and decrease of 5.68% and 1.13% in terms of “Failure” from the Non-functional requirement, Elicitation, Reasoning and Validation (NERV) and Capturing, Eliciting and Predicting (CEP) methodologies, respectively. The findings have shown the process was able to elicit and extract NFR for agile development in cloud computing

    Optimisation Method for Training Deep Neural Networks in Classification of Non- functional Requirements

    Get PDF
    Non-functional requirements (NFRs) are regarded critical to a software system's success. The majority of NFR detection and classification solutions have relied on supervised machine learning models. It is hindered by the lack of labelled data for training and necessitate a significant amount of time spent on feature engineering. In this work we explore emerging deep learning techniques to reduce the burden of feature engineering. The goal of this study is to develop an autonomous system that can classify NFRs into multiple classes based on a labelled corpus. In the first section of the thesis, we standardise the NFRs ontology and annotations to produce a corpus based on five attributes: usability, reliability, efficiency, maintainability, and portability. In the second section, the design and implementation of four neural networks, including the artificial neural network, convolutional neural network, long short-term memory, and gated recurrent unit are examined to classify NFRs. These models, necessitate a large corpus. To overcome this limitation, we proposed a new paradigm for data augmentation. This method uses a sort and concatenates strategy to combine two phrases from the same class, resulting in a two-fold increase in data size while keeping the domain vocabulary intact. We compared our method to a baseline (no augmentation) and an existing approach Easy data augmentation (EDA) with pre-trained word embeddings. All training has been performed under two modifications to the data; augmentation on the entire data before train/validation split vs augmentation on train set only. Our findings show that as compared to EDA and baseline, NFRs classification model improved greatly, and CNN outperformed when trained using our suggested technique in the first setting. However, we saw a slight boost in the second experimental setup with just train set augmentation. As a result, we can determine that augmentation of the validation is required in order to achieve acceptable results with our proposed approach. We hope that our ideas will inspire new data augmentation techniques, whether they are generic or task specific. Furthermore, it would also be useful to implement this strategy in other languages

    An ebd-enabled design knowledge acquisition framework

    Get PDF
    Having enough knowledge and keeping it up to date enables designers to execute the design assignment effectively and gives them a competitive advantage in the design profession. Knowledge elicitation or acquisition is a crucial component of system design, particularly for tasks requiring transdisciplinary or multidisciplinary cooperation. In system design, extracting domain-specific information is exceedingly tricky for designers. This thesis presents three works that attempt to bridge the gap between designers and domain expertise. First, a systematic literature review on data-driven demand elicitation is given using the Environment-based Design (EBD) approach. This review address two research objectives: (i) to investigate the present state of computer-aided requirement knowledge elicitation in the domains of engineering; (ii) to integrate EBD methodology into the conventional literature review framework by providing a well-structured research question generation methodology. The second study describes a data-driven interview transcript analysis strategy that employs EBD environment analysis, unsupervised machine learning, and a range of natural language processing (NLP) approaches to assist designers and qualitative researchers in extracting needs when domain expertise is lacking. The second research proposes a transfer-learning method-based qualitative text analysis framework that aids researchers in extracting valuable knowledge from interview data for healthcare promotion decision-making. The third work is an EBD-enabled design lexical knowledge acquisition framework that automatically constructs a semantic network -- RomNet from an extensive collection of abstracts from engineering publications. Applying RomNet can improve the design information retrieval quality and communication between each party involved in a design project. To conclude, this thesis integrates artificial intelligence techniques, such as Natural Language Processing (NLP) methods, Machine Learning techniques, and rule-based systems to build a knowledge acquisition framework that supports manual, semi-automatic, and automatic extraction of design knowledge from different types of the textual data source

    Алгоритмічне та програмне забезпечення процесів автоматичної ідентифікації об’єктів логістики на основі штрихових кодів з трьома градаціями кольору

    Get PDF
    Автоматична ідентифікація об’єктів є важливим аспектом у багатьох галузях людської діяльності, однією з яких є логістика. Застосування технологій автоматичної ідентифікації об’єктів логістики дозволяє спростити відстежування їхнього місцезнаходження під час транспортування та складського зберігання, а також забезпечити процеси контролю, звітування тощо. Це позитивно впливає на інтенсифікацію виробництва, торгівлі, зокрема міжнародної, поштових сервісів тощо завдяки безпомилковому та швидкому доступу до інформації про об’єкти обліку, а також автоматичному збору даних про них та оновлення цих даних у програмних системах без втручання людини. Автоматична ідентифікація об’єктів може ґрунтуватись на технологіях подання даних на основі штрихових кодів, радіочастотної ідентифікації, смарт-карт тощо. Однією з найпоширеніших технологій автоматичної ідентифікації об’єктів є технологія на основі штрихового кодування інформації, яка забезпечує високу точність та швидкість введення інформації до комп’ютерних систем та є економічно привабливою завдяки низькій вартості витратних матеріалів і доступному обладнанню. На сьогодні існує низка підходів до подання даних у вигляді штрихових кодів, проте досі залишаються актуальними задачі підвищення щільності подання інформації у вигляді штрихових кодів та підвищення завадостійкості штрихкодових позначок. Іншою важливою проблемою, пов’язаною зі створенням програмних систем на основі технології штрихового кодування для галузі логістики, є відсутність проблемно-орієнтованого підходу до задачі інтегрування елементів технології штрихового кодування при розробленні програмного забезпечення процесів автоматичної ідентифікації об’єктів. Наявність зазначених актуальних задач та проблем визначає актуальну науково-технічну задачу підвищення ефективності розроблення алгоритмічного та програмного забезпечення процесів автоматичної ідентифікації об’єктів на основі штрихових кодів з трьома градаціями кольору, яка вирішується у цій дисертаційній роботі. Метою дисертаційної роботи є підвищення ефективності логістичних систем за рахунок автоматизації виробничих процесів на основі високощільного штрихового кодування даних про об’єкти логістики. У першому розділі дисертаційної роботи проаналізовано алгоритмічно-програмні рішення для автоматичної ідентифікації об’єктів у галузі логістики, зокрема вивчено сучасний стан логістичного програмного забезпечення, досліджено методи автоматичної ідентифікації об’єктів та особливості оброблення штрихкодованої інформації, що дозволило сформувати основні вимоги до програмного забезпечення процесів автоматичної ідентифікації об’єктів логістики. У другому розділі розроблено алгоритмічне та програмне забезпечення процесів формування даних на основі штрихових кодів з трьома градаціями кольору, зокрема сформульовано задачу забезпечення компактного подання даних у вигляді штрихкодових зображень, розроблено й досліджено алгоритмічне та програмне забезпечення процесів ущільнення даних при формуванні штрихкодових позначок, розроблено й досліджено алгоритмічне та програмне забезпечення процесів формування дворівневих штрихкодових позначок. У третьому розділі розроблено алгоритмічне та програмне забезпечення завадостійкості штрихових кодів з трьома градаціями кольору, зокрема сформульовано задачу забезпечення завадостійкості штрихкодових зображень, розроблено й досліджено алгоритмічне та програмне забезпечення завадостійкості штрихових кодів з трьома градаціями кольору. Четвертий розділ присвячено створенню елементів технології проєктування програмного забезпечення процесів автоматичної ідентифікації об’єктів логістики на основі штрихових кодів з трьома градаціями кольору, зокрема запропоновано шкалу пріоритизації вимог до розроблюваної програмної системи, сформульовано вимоги до програмної системи для автоматичної ідентифікації об’єктів логістики на основі штрихових кодів з трьома градаціями кольору, запропоновано базову архітектуру програмної системи автоматичної ідентифікації об’єктів на основі штрихових кодів з трьома градаціями кольору, розроблено шаблон проєктування «Перетворювач», визначено основні етапи технології проєктування програмних засобів для автоматичної ідентифікації об’єктів логістики на основі штрихових кодів з трьома градаціями кольору. У дисертаційній роботі отримано низку нових наукових результатів, зокрема уперше запропоновано базову архітектуру програмної системи автоматичної ідентифікації об’єктів логістики на основі штрихових кодів з трьома градаціями кольору, використання якої дозволяє спростити процес розроблення програмного забезпечення систем автоматичної ідентифікації об’єктів та яка, на відміну від існуючих, створює можливість дворівневого доступу до інформації про об’єкт логістики та підвищення щільності подання даних завдяки використанню дворівневих штрихових кодів з трьома градаціями кольору. Уперше розроблено структурний метод ущільнення алфавітно-цифрових даних, що підлягають поданню у вигляді штрихового коду з трьома градаціями кольору, який передбачає використання, крім комп’ютерного алфавіту ASCII, кількох додаткових алфавітів з потужностями, меншими за 256 (потужність ASCII), та ґрунтується на розбитті вхідної алфавітно-цифрової послідовності на суміжні підпослідовності символів та їх перетворенні у триколірні (трійкові) штрихкодові знаки, сумарна довжина яких менша, аніж трійкова довжина вхідних повідомлень, що підвищує інформаційну щільність подання даних на носії у середньому в 1,16–1,5 разів та переважає аналогічний показник у разі застосування для ущільнення статистичних методів (на основі кодів Хаффмана, Шеннона-Фано). Уперше розроблено математичну модель, яка дозволяє здійснювати вибір оптимальної кількості додаткових (окрім ASCII) алфавітів для використання при перетворенні вхідних алфавітно-цифрових даних, що підлягають поданню у вигляді штрихових кодів з трьома градаціями кольору, та визначати оптимальні потужності цих алфавітів і тип перетворення підпослідовностей суміжних символів у числову форму, за яких досягається максимально можливе інформаційне ущільнення даних на штрихкодовому носії. Уперше розроблено алгоритмічне забезпечення процесу завадозахищеного кодування штрихкодових позначок з трьома градаціями кольору, визначальною рисою якого є застосування обчислень у скінченому полі (3 )s GF за модулем незвідного многочлена степеня s, що забезпечує виправлення спотворень двох видів – помилок і стирань, та уможливлює відновлення даних при ушкодженні до 37,5% площі штрихкодового зображення. Уперше розроблено метод дворівневого штрихового кодування двох незалежних наборів даних та алгоритмічне забезпечення процесів формування штрихкодових позначок з трьома градаціями кольору, характерною рисою яких є застосування процедур визначення контрольного біта для подання другого набору даних та створення дворівневої штрихкодової позначки, що забезпечує розмежування доступу до інформації про об’єкт логістики. Основні результати дисертаційної роботи опубліковано у 7 наукових працях, зокрема у 5 наукових статтях, з яких 1 статтю опубліковано у закордонному фаховому виданнях третього квартиля (Q3), яке проіндексоване в базі даних Scopus, 1 статтю опубліковано у періодичному науковому виданні держави, яка входить до Організації економічного співробітництва та розвитку та Європейського Союзу, 1 статтю опубліковано у виданні, включеному до переліку наукових фахових видань України з присвоєнням категорії «А», і 2 статті опубліковано у фахових виданнях, включених до переліку наукових фахових видань України з присвоєнням категорії «Б», та у 2 матеріалах науково-технічних конференцій, з яких 1 публікація у матеріалах міжнародної наукової конференції, що проіндексовано у базі даних Scopus

    Explainable, Security-Aware and Dependency-Aware Framework for Intelligent Software Refactoring

    Full text link
    As software systems continue to grow in size and complexity, their maintenance continues to become more challenging and costly. Even for the most technologically sophisticated and competent organizations, building and maintaining high-performing software applications with high-quality-code is an extremely challenging and expensive endeavor. Software Refactoring is widely recognized as the key component for maintaining high-quality software by restructuring existing code and reducing technical debt. However, refactoring is difficult to achieve and often neglected due to several limitations in the existing refactoring techniques that reduce their effectiveness. These limitation include, but not limited to, detecting refactoring opportunities, recommending specific refactoring activities, and explaining the recommended changes. Existing techniques are mainly focused on the use of quality metrics such as coupling, cohesion, and the Quality Metrics for Object Oriented Design (QMOOD). However, there are many other factors identified in this work to assist and facilitate different maintenance activities for developers: 1. To structure the refactoring field and existing research results, this dissertation provides the most scalable and comprehensive systematic literature review analyzing the results of 3183 research papers on refactoring covering the last three decades. Based on this survey, we created a taxonomy to classify the existing research, identified research trends and highlighted gaps in the literature for further research. 2. To draw attention to what should be the current refactoring research focus from the developers’ perspective, we carried out the first large scale refactoring study on the most popular online Q&A forum for developers, Stack Overflow. We collected and analyzed posts to identify what developers ask about refactoring, the challenges that practitioners face when refactoring software systems, and what should be the current refactoring research focus from the developers’ perspective. 3. To improve the detection of refactoring opportunities in terms of quality and security in the context of mobile apps, we designed a framework that recommends the files to be refactored based on user reviews. We also considered the detection of refactoring opportunities in the context of web services. We proposed a machine learning-based approach that helps service providers and subscribers predict the quality of service with the least costs. Furthermore, to help developers make an accurate assessment of the quality of their software systems and decide if the code should be refactored, we propose a clustering-based approach to automatically identify the preferred benchmark to use for the quality assessment of a project. 4. Regarding the refactoring generation process, we proposed different techniques to enhance the change operators and seeding mechanism by using the history of applied refactorings and incorporating refactoring dependencies in order to improve the quality of the refactoring solutions. We also introduced the security aspect when generating refactoring recommendations, by investigating the possible impact of improving different quality attributes on a set of security metrics and finding the best trade-off between them. In another approach, we recommend refactorings to prioritize fixing quality issues in security-critical files, improve quality attributes and remove code smells. All the above contributions were validated at the large scale on thousands of open source and industry projects in collaboration with industry partners and the open source community. The contributions of this dissertation are integrated in a cloud-based refactoring framework which is currently used by practitioners.Ph.D.College of Engineering & Computer ScienceUniversity of Michigan-Dearbornhttp://deepblue.lib.umich.edu/bitstream/2027.42/171082/1/Chaima Abid Final Dissertation.pdfDescription of Chaima Abid Final Dissertation.pdf : Dissertatio
    corecore