Search results for: software solution
10067 Refactoring Object Oriented Software through Community Detection Using Evolutionary Computation
Authors: R. Nagarani
Abstract:
An intrinsic property of software in a real-world environment is its need to evolve, which is usually accompanied by the increase of software complexity and deterioration of software quality, making software maintenance a tough problem. Refactoring is regarded as an effective way to address this problem. Many refactoring approaches at the method and class level have been proposed. But the extent of research on software refactoring at the package level is less. This work presents a novel approach to refactor the package structures of object oriented software using genetic algorithm based community detection. It uses software networks to represent classes and their dependencies. It uses a constrained community detection algorithm to obtain the optimized community structures in software networks, which also correspond to the optimized package structures. It finally provides a list of classes as refactoring candidates by comparing the optimized package structures with the real package structures.Keywords: community detection, complex network, genetic algorithm, package, refactoring
Procedia PDF Downloads 42010066 [Keynote Talk]: Software Reliability Assessment and Fault Tolerance: Issues and Challenges
Authors: T. Gayen
Abstract:
Although, there are several software reliability models existing today there does not exist any versatile model even today which can be used for the reliability assessment of software. Complex software has a large number of states (unlike the hardware) so it becomes practically difficult to completely test the software. Irrespective of the amount of testing one does, sometimes it becomes extremely difficult to assure that the final software product is fault free. The Black Box Software Reliability models are found be quite uncertain for the reliability assessment of various systems. As mission critical applications need to be highly reliable and since it is not always possible to ensure the development of highly reliable system. Hence, in order to achieve fault-free operation of software one develops some mechanism to handle faults remaining in the system even after the development. Although, several such techniques are currently in use to achieve fault tolerance, yet these mechanisms may not always be very suitable for various systems. Hence, this discussion is focused on analyzing the issues and challenges faced with the existing techniques for reliability assessment and fault tolerance of various software systems.Keywords: black box, fault tolerance, failure, software reliability
Procedia PDF Downloads 42610065 Visualizing Class Metrics and Object Calls for Software Systems
Authors: Mohammad Alnabhan, Awni Hammouri, Mustafa Hammad, Anas Al-Badareen, Omamah Al-Thnebat
Abstract:
Software visualization is one of the main techniques used to simplify the presentation of software systems and enhance their understandability. It is used to present the software system in a visual manner using simple, clear and meaningful symbols. This study proposes a new 2D software visualization approach. In this approach, each class is represented by rectangle, the name of the class placed above the rectangle, the size of class (Line of Code) represented by the height of the rectangle. The methods and the attributes are represented by circles and triangles respectively. The relationships among classes correspond to arrows. The proposed visualization approach was evaluated in terms of applicability and efficiency. Results have confirmed successful implementation of the proposed approach, and its ability to provide a simple and effective graphical presentation of extracted software components and properties.Keywords: software visualization, software metrics, calling relationships, 2D graphs
Procedia PDF Downloads 20510064 Usability Evaluation in Practice: Selecting the Appropriate Method
Authors: Hanan Hayat, Russell Lock
Abstract:
The importance of usability in ensuring software quality has been well established in literature and widely accepted by software development practitioners. Consequently, numerous usability evaluation methods have been developed. However, the availability of large variety of evaluation methods alongside insufficient studies that critically analyse them resulted in an ambiguous process of selection amongst non-usability-expert practitioners. This study investigates the factors affecting the selection of usability evaluation methods within a project by interviewing a software development team. The results of the data gathered are then analysed and integrated in developing a framework. The framework developed poses a solution to the selection processes of usability evaluation methods by adjusting to individual projects resources and goals. It has the potential to be further evaluated to verify its applicability and usability within the domain of this study.Keywords: usability evaluation, evaluating usability in non-user entered designs, usability evaluation methods (UEM), usability evaluation in projects
Procedia PDF Downloads 16110063 Intelligent Software Architecture and Automatic Re-Architecting Based on Machine Learning
Authors: Gebremeskel Hagos Gebremedhin, Feng Chong, Heyan Huang
Abstract:
Software system is the combination of architecture and organized components to accomplish a specific function or set of functions. A good software architecture facilitates application system development, promotes achievement of functional requirements, and supports system reconfiguration. We describe three studies demonstrating the utility of our architecture in the subdomain of mobile office robots and identify software engineering principles embodied in the architecture. The main aim of this paper is to analyze prove architecture design and automatic re-architecting using machine learning. Intelligence software architecture and automatic re-architecting process is reorganizing in to more suitable one of the software organizational structure system using the user access dataset for creating relationship among the components of the system. The 3-step approach of data mining was used to analyze effective recovery, transformation and implantation with the use of clustering algorithm. Therefore, automatic re-architecting without changing the source code is possible to solve the software complexity problem and system software reuse.Keywords: intelligence, software architecture, re-architecting, software reuse, High level design
Procedia PDF Downloads 12010062 FreGsd: A Framework for Golbal Software Requirement Engineering
Authors: Alsahli Abdulaziz Abdullah, Hameed Ullah Khan
Abstract:
Software development nowadays is more and more using global ways of development instead of normal development enviroment where development occur in one location. This paper is a aimed to propose a Requirement Engineering framework to support Global Software Development environment with regards to all requirment engineering activities from elicitation to fially magning requirment change. Global software enviroment is more and more gaining better reputation in software developmet with better quality is resulting from developing in this eviroment yet with lower cost.However, failure rate developing in this enviroment is high due to inapproprate requirment development and managment.This paper will add to the software engineering development envrioments discipline and many developers in GSD will benefit from it.Keywords: global software development environment, GSD, requirement engineering, FreGsd, computer engineering
Procedia PDF Downloads 55010061 Designing a Tool for Software Maintenance
Authors: Amir Ngah, Masita Abdul Jalil, Zailani Abdullah
Abstract:
The aim of software maintenance is to maintain the software system in accordance with advancement in software and hardware technology. One of the early works on software maintenance is to extract information at higher level of abstraction. In this paper, we present the process of how to design an information extraction tool for software maintenance. The tool can extract the basic information from old program such as about variables, based classes, derived classes, objects of classes, and functions. The tool have two main part; the lexical analyzer module that can read the input file character by character, and the searching module which is user can get the basic information from existing program. We implemented this tool for a patterned sub-C++ language as an input file.Keywords: extraction tool, software maintenance, reverse engineering, C++
Procedia PDF Downloads 49210060 Optimal Management of Internal Capital of Company
Authors: S. Sadallah
Abstract:
In this paper, dynamic programming is used to determine the optimal management of financial resources in company. Solution of the problem by consider into simpler substructures is constructed. The optimal management of internal capital of company are simulated. The tools applied in this development are based on graph theory. The software of given problems is built by using greedy algorithm. The obtained model and program maintenance enable us to define the optimal version of management of proper financial flows by using visual diagram on each level of investment.Keywords: management, software, optimal, greedy algorithm, graph-diagram
Procedia PDF Downloads 28510059 Requirement Engineering Within Open Source Software Development: A Case Study
Authors: Kars Beek, Remco Groeneveld, Sjaak Brinkkemper
Abstract:
Although there is much literature available on requirement documentation in traditional software development, few studies have been conducted about this topic in open source software development. While open-source software development is becoming more important, the software development processes are often not as structured as corporate software development processes. Papers show that communities, creating open-source software, often lack structure and documentation. However, most recent studies about this topic are often ten or more years old. Therefore, this research has been conducted to determine if the lack of structure and documentation in requirement engineering is currently still the situation in these communities. Three open-source products have been chosen as subjects for conducting this research. The data for this research was gathered based on interviews, observations, and analyses of feature proposals and issue tracking tools. In this paper, we present a comparison and an analysis of the different methods used for requirements documentation to understand the current practices of requirements documentation in open source software development.Keywords: case study, open source software, open source software development, requirement elicitation, requirement engineering
Procedia PDF Downloads 10610058 Software Development to Empowering Digital Libraries with Effortless Digital Cataloging and Access
Authors: Abdul Basit Kiani
Abstract:
The software for the digital library system is a cutting-edge solution designed to revolutionize the way libraries manage and provide access to their vast collections of digital content. This advanced software leverages the power of technology to offer a seamless and user-friendly experience for both library staff and patrons. By implementing this software, libraries can efficiently organize, store, and retrieve digital resources, including e-books, audiobooks, journals, articles, and multimedia content. Its intuitive interface allows library staff to effortlessly manage cataloging, metadata extraction, and content enrichment, ensuring accurate and comprehensive access to digital materials. For patrons, the software offers a personalized and immersive digital library experience. They can easily browse the digital catalog, search for specific items, and explore related content through intelligent recommendation algorithms. The software also facilitates seamless borrowing, lending, and preservation of digital items, enabling users to access their favorite resources anytime, anywhere, on multiple devices. With robust security features, the software ensures the protection of intellectual property rights and enforces access controls to safeguard sensitive content. Integration with external authentication systems and user management tools streamlines the library's administration processes, while advanced analytics provide valuable insights into patron behavior and content usage. Overall, this software for the digital library system empowers libraries to embrace the digital era, offering enhanced access, convenience, and discoverability of their vast collections. It paves the way for a more inclusive and engaging library experience, catering to the evolving needs of tech-savvy patrons.Keywords: software development, empowering digital libraries, digital cataloging and access, management system
Procedia PDF Downloads 8310057 Computer Software for Calculating Electron Mobility of Semiconductors Compounds; Case Study for N-Gan
Authors: Emad A. Ahmed
Abstract:
Computer software to calculate electron mobility with respect to different scattering mechanism has been developed. This software is adopted completely Graphical User Interface (GUI) technique and its interface has been designed by Microsoft Visual Basic 6.0. As a case study the electron mobility of n-GaN was performed using this software. The behaviour of the mobility for n-GaN due to elastic scattering processes and its relation to temperature and doping concentration were discussed. The results agree with other available theoretical and experimental data.Keywords: electron mobility, relaxation time, GaN, scattering, computer software, computation physics
Procedia PDF Downloads 67310056 Modeling Metrics for Monitoring Software Project Performance Based on the GQM Model
Authors: Mariayee Doraisamy, Suhaimi bin Ibrahim, Mohd Naz’ri Mahrin
Abstract:
There are several methods to monitor software projects and the objective for monitoring is to ensure that the software projects are developed and delivered successfully. A performance measurement is a method that is closely associated with monitoring and it can be scrutinized by looking at two important attributes which are efficiency and effectiveness both of which are factors that are important for the success of a software project. Consequently, a successful steering is achieved by monitoring and controlling a software project via the performance measurement criteria and metrics. Hence, this paper is aimed at identifying the performance measurement criteria and the metrics for monitoring the performance of a software project by using the Goal Question Metrics (GQM) approach. The GQM approach is utilized to ensure that the identified metrics are reliable and useful. These identified metrics are useful guidelines for project managers to monitor the performance of their software projects.Keywords: component, software project performance, goal question metrics, performance measurement criteria, metrics
Procedia PDF Downloads 35710055 Evolving Software Assessment and Certification Models Using Ant Colony Optimization Algorithm
Authors: Saad M. Darwish
Abstract:
Recently, software quality issues have come to be seen as important subject as we see an enormous growth of agencies involved in software industries. However, these agencies cannot guarantee the quality of their products, thus leaving users in uncertainties. Software certification is the extension of quality by means that quality needs to be measured prior to certification granting process. This research participates in solving the problem of software assessment by proposing a model for assessment and certification of software product that uses a fuzzy inference engine to integrate both of process–driven and application-driven quality assurance strategies. The key idea of the on hand model is to improve the compactness and the interpretability of the model’s fuzzy rules via employing an ant colony optimization algorithm (ACO), which tries to find good rules description by dint of compound rules initially expressed with traditional single rules. The model has been tested by case study and the results have demonstrated feasibility and practicability of the model in a real environment.Keywords: software quality, quality assurance, software certification model, software assessment
Procedia PDF Downloads 52410054 Operational Software Maturity: An Aerospace Industry Analysis
Authors: Raúl González Muñoz, Essam Shehab, Martin Weinitzke, Chris Fowler, Paul Baguley
Abstract:
Software applications have become crucial to the aerospace industry, providing a wide range of functionalities and capabilities used during the design, manufacturing and support of aircraft. However, as this criticality increases, so too does the risk for business operations when facing a software failure. Hence, there is a need for new methodologies to be developed to support aerospace companies in effectively managing their software portfolios, avoiding the hazards of business disruption and additional costs. This paper aims to provide a definition of operational software maturity, and how this can be used to assess software operational behaviour, as well as a view on the different aspects that drive software maturity within the aerospace industry. The key research question addressed is, how can operational software maturity monitoring assist the aerospace industry in effectively managing large software portfolios? This question has been addressed by conducting an in depth review of current literature, by working closely with aerospace professionals and by running an industry case study within a major aircraft manufacturer. The results are a software maturity model composed of a set of drivers and a prototype tool used for the testing and validation of the research findings. By utilising these methodologies to assess the operational maturity of software applications in aerospace, benefits in maintenance activities and operations disruption avoidance have been observed, supporting business cases for system improvement.Keywords: aerospace, software lifecycle, software maintenance, software maturity
Procedia PDF Downloads 32610053 Strategies to Improve Learning and Teaching of Software Packages Among Undergraduate Students
Authors: Sara Moridpour
Abstract:
Engineering students need to learn different software packages to meet the emerging industry needs. Face-to-face lectures provide an interactive environment for learning software packages. However, COVID changed expectations of face-to-face learning and teaching. It is essential to enhance the interaction among students and teachers in online and virtual learning and teaching of software packages. The proposed study introduces strategies for teaching engineering software packages in online and hybrid environments and evaluates students’ skills by an authentic assignment.Keywords: teaching software packages, authentic assessment., engineering, undergraduate students
Procedia PDF Downloads 14310052 Software Reliability Prediction Model Analysis
Authors: Lela Mirtskhulava, Mariam Khunjgurua, Nino Lomineishvili, Koba Bakuria
Abstract:
Software reliability prediction gives a great opportunity to measure the software failure rate at any point throughout system test. A software reliability prediction model provides with the technique for improving reliability. Software reliability is very important factor for estimating overall system reliability, which depends on the individual component reliabilities. It differs from hardware reliability in that it reflects the design perfection. Main reason of software reliability problems is high complexity of software. Various approaches can be used to improve the reliability of software. We focus on software reliability model in this article, assuming that there is a time redundancy, the value of which (the number of repeated transmission of basic blocks) can be an optimization parameter. We consider given mathematical model in the assumption that in the system may occur not only irreversible failures, but also a failure that can be taken as self-repairing failures that significantly affect the reliability and accuracy of information transfer. Main task of the given paper is to find a time distribution function (DF) of instructions sequence transmission, which consists of random number of basic blocks. We consider the system software unreliable; the time between adjacent failures has exponential distribution.Keywords: exponential distribution, conditional mean time to failure, distribution function, mathematical model, software reliability
Procedia PDF Downloads 46510051 On a Continuous Formulation of Block Method for Solving First Order Ordinary Differential Equations (ODEs)
Authors: A. M. Sagir
Abstract:
The aim of this paper is to investigate the performance of the developed linear multistep block method for solving first order initial value problem of Ordinary Differential Equations (ODEs). The method calculates the numerical solution at three points simultaneously and produces three new equally spaced solution values within a block. The continuous formulations enable us to differentiate and evaluate at some selected points to obtain three discrete schemes, which were used in block form for parallel or sequential solutions of the problems. A stability analysis and efficiency of the block method are tested on ordinary differential equations involving practical applications, and the results obtained compared favorably with the exact solution. Furthermore, comparison of error analysis has been developed with the help of computer software.Keywords: block method, first order ordinary differential equations, linear multistep, self-starting
Procedia PDF Downloads 30610050 Six-Phase Tooth-Coil Winding Starter-Generator Embedded in Aerospace Engine
Authors: Flur R. Ismagilov, Vyacheslav E. Vavilov, Denis V. Gusakov
Abstract:
This paper is devoted to solve the problem of increasing the electrification of aircraft engines by installing a synchronous generator at high pressure shaft. Technical solution of this problem by various research centers is discussed. A design solution of the problem was proposed. To evaluate the effectiveness of the proposed cooling system, thermal analysis was carried out in ANSYS software.Keywords: starter-generator, more electrical engine, aircraft engines, high pressure shaft, synchronous generator
Procedia PDF Downloads 25710049 A Review on Factors Influencing Implementation of Secure Software Development Practices
Authors: Sri Lakshmi Kanniah, Mohd Naz’ri Mahrin
Abstract:
More and more businesses and services are depending on software to run their daily operations and business services. At the same time, cyber-attacks are becoming more covert and sophisticated, posing threats to software. Vulnerabilities exist in the software due to the lack of security practices during the phases of software development. Implementation of secure software development practices can improve the resistance to attacks. Many methods, models and standards for secure software development have been developed. However, despite the efforts, they still come up against difficulties in their deployment and the processes are not institutionalized. There is a set of factors that influence the successful deployment of secure software development processes. In this study, the methodology and results from a systematic literature review of factors influencing the implementation of secure software development practices is described. A total of 44 primary studies were analysed as a result of the systematic review. As a result of the study, a list of twenty factors has been identified. Some of factors that affect implementation of secure software development practices are: Involvement of the security expert, integration between security and development team, developer’s skill and expertise, development time and communication between stakeholders. The factors were further classified into four categories which are institutional context, people and action, project content and system development process. The results obtained show that it is important to take into account organizational, technical and people issues in order to implement secure software development initiatives.Keywords: secure software development, software development, software security, systematic literature review
Procedia PDF Downloads 38110048 Determining the Most Efficient Test Available in Software Testing
Authors: Qasim Zafar, Matthew Anderson, Esteban Garcia, Steven Drager
Abstract:
Software failures can present an enormous detriment to people's lives and cost millions of dollars to repair when they are unexpectedly encountered in the wild. Despite a significant portion of the software development lifecycle and resources are dedicated to testing, software failures are a relatively frequent occurrence. Nevertheless, the evaluation of testing effectiveness remains at the forefront of ensuring high-quality software and software metrics play a critical role in providing valuable insights into quantifiable objectives to assess the level of assurance and confidence in the system. As the selection of appropriate metrics can be an arduous process, the goal of this paper is to shed light on the significance of software metrics by examining a range of testing techniques and metrics as well as identifying key areas for improvement. Additionally, through this investigation, readers will gain a deeper understanding of how metrics can help to drive informed decision-making on delivering high-quality software and facilitate continuous improvement in testing practices.Keywords: software testing, software metrics, testing effectiveness, black box testing, random testing, adaptive random testing, combinatorial testing, fuzz testing, equivalence partition, boundary value analysis, white box testing
Procedia PDF Downloads 8910047 Cross Project Software Fault Prediction at Design Phase
Authors: Pradeep Singh, Shrish Verma
Abstract:
Software fault prediction models are created by using the source code, processed metrics from the same or previous version of code and related fault data. Some company do not store and keep track of all artifacts which are required for software fault prediction. To construct fault prediction model for such company, the training data from the other projects can be one potential solution. The earlier we predict the fault the less cost it requires to correct. The training data consists of metrics data and related fault data at function/module level. This paper investigates fault predictions at early stage using the cross-project data focusing on the design metrics. In this study, empirical analysis is carried out to validate design metrics for cross project fault prediction. The machine learning techniques used for evaluation is Naïve Bayes. The design phase metrics of other projects can be used as initial guideline for the projects where no previous fault data is available. We analyze seven data sets from NASA Metrics Data Program which offer design as well as code metrics. Overall, the results of cross project is comparable to the within company data learning.Keywords: software metrics, fault prediction, cross project, within project.
Procedia PDF Downloads 34410046 Towards a Goal-Question-Metric Based Approach to Assess Social Sustainability of Software Systems
Authors: Rahma Amri, Narjès Bellamine Ben Saoud
Abstract:
Sustainable development or sustainability is one of the most urgent issues in actual debate in almost domains. Particularly the significant way the software pervades our live should make it in the center of sustainability concerns. The social aspects of sustainability haven’t been well studied in the context of software systems and still immature research field that needs more interest among researchers’ community. This paper presents a Goal-Question-Metric based approach to assess social sustainability of software systems. The approach is based on a generic social sustainability model taken from Social sciences.Keywords: software assessment approach, social sustainability, goal-question-metric paradigm, software project metrics
Procedia PDF Downloads 39710045 Software-Defined Architecture and Front-End Optimization for DO-178B Compliant Distance Measuring Equipment
Authors: Farzan Farhangian, Behnam Shakibafar, Bobda Cedric, Rene Jr. Landry
Abstract:
Among the air navigation technologies, many of them are capable of increasing aviation sustainability as well as accuracy improvement in Alternative Positioning, Navigation, and Timing (APNT), especially avionics Distance Measuring Equipment (DME), Very high-frequency Omni-directional Range (VOR), etc. The integration of these air navigation solutions could make a robust and efficient accuracy in air mobility, air traffic management and autonomous operations. Designing a proper RF front-end, power amplifier and software-defined transponder could pave the way for reaching an optimized avionics navigation solution. In this article, the possibility of reaching an optimum front-end to be used with single low-cost Software-Defined Radio (SDR) has been investigated in order to reach a software-defined DME architecture. Our software-defined approach uses the firmware possibilities to design a real-time software architecture compatible with a Multi Input Multi Output (MIMO) BladeRF to estimate an accurate time delay between a Transmission (Tx) and the reception (Rx) channels using the synchronous scheduled communication. We could design a novel power amplifier for the transmission channel of the DME to pass the minimum transmission power. This article also investigates designing proper pair pulses based on the DO-178B avionics standard. Various guidelines have been tested, and the possibility of passing the certification process for each standard term has been analyzed. Finally, the performance of the DME was tested in the laboratory environment using an IFR6000, which showed that the proposed architecture reached an accuracy of less than 0.23 Nautical mile (Nmi) with 98% probability.Keywords: avionics, DME, software defined radio, navigation
Procedia PDF Downloads 8010044 A Comparative Analysis of Zotero and Mendeley Reference Management Software
Authors: Sujit K. Basak
Abstract:
This paper presents a comparison of the reference management software between Zotero and Mendeley and the results were drawn by comparing the two software’s. The novelty of this paper is the comparative analysis of the software and it has shown that Mendeley can import more information from the Google Scholar for the researchers. This finding can help to know researchers to use the reference management software.Keywords: analysis, comparative analysis, zotero, researchers, Mendeley
Procedia PDF Downloads 61410043 D6tions: A Serious Game to Learn Software Engineering Process and Design
Authors: Hector G. Perez-Gonzalez, Miriam Vazquez-Escalante, Sandra E. Nava-Muñoz, Francisco E. Martinez-Perez, Alberto S. Nunez-Varela
Abstract:
The software engineering teaching process has been the subject of many studies. To improve this process, researchers have proposed merely illustrative techniques in the classroom, such as topic presentations and dynamics between students on one side or attempts to involve students in real projects with companies and institutions to bring them to a real software development problem on the other hand. Simulators and serious games have been used as auxiliary tools to introduce students to topics that are too abstract when these are presented in the traditional way. Most of these tools cover a limited area of the huge software engineering scope. To address this problem, we have developed D6tions, an educational serious game that simulates the software engineering process and is designed to experiment the different stages a software engineer (playing roles as project leader or as a developer or designer) goes through, while participating in a software project. We describe previous approaches to this problem, how D6tions was designed, its rules, directions, and the results we obtained of the use of this game involving undergraduate students playing the game.Keywords: serious games, software engineering, software engineering education, software engineering teaching process
Procedia PDF Downloads 49410042 User-Driven Product Line Engineering for Assembling Large Families of Software
Authors: Zhaopeng Xuan, Yuan Bian, C. Cailleaux, Jing Qin, S. Traore
Abstract:
Traditional software engineering allows engineers to propose to their clients multiple specialized software distributions assembled from a shared set of software assets. The management of these assets however requires a trade-off between client satisfaction and software engineering process. Clients have more and more difficult to find a distribution or components based on their needs from all of distributed repositories. This paper proposes a software engineering for a user-driven software product line in which engineers define a feature model but users drive the actual software distribution on demand. This approach makes the user become final actor as a release manager in software engineering process, increasing user product satisfaction and simplifying user operations to find required components. In addition, it provides a way for engineers to manage and assembly large software families. As a proof of concept, a user-driven software product line is implemented for eclipse, an integrated development environment. An eclipse feature model is defined, which is exposed to users on a cloud-based built platform from which clients can download individualized Eclipse distributions.Keywords: software product line, model-driven development, reverse engineering and refactoring, agile method
Procedia PDF Downloads 43310041 A Method and System for Secure Authentication Using One Time QR Code
Authors: Divyans Mahansaria
Abstract:
User authentication is an important security measure for protecting confidential data and systems. However, the vulnerability while authenticating into a system has significantly increased. Thus, necessary mechanisms must be deployed during the process of authenticating a user to safeguard him/her from the vulnerable attacks. The proposed solution implements a novel authentication mechanism to counter various forms of security breach attacks including phishing, Trojan horse, replay, key logging, Asterisk logging, shoulder surfing, brute force search and others. QR code (Quick Response Code) is a type of matrix barcode or two-dimensional barcode that can be used for storing URLs, text, images and other information. In the proposed solution, during each new authentication request, a QR code is dynamically generated and presented to the user. A piece of generic information is mapped to plurality of elements and stored within the QR code. The mapping of generic information with plurality of elements, randomizes in each new login, and thus the QR code generated for each new authentication request is for one-time use only. In order to authenticate into the system, the user needs to decode the QR code using any QR code decoding software. The QR code decoding software needs to be installed on handheld mobile devices such as smartphones, personal digital assistant (PDA), etc. On decoding the QR code, the user will be presented a mapping between the generic piece of information and plurality of elements using which the user needs to derive cipher secret information corresponding to his/her actual password. Now, in place of the actual password, the user will use this cipher secret information to authenticate into the system. The authentication terminal will receive the cipher secret information and use a validation engine that will decipher the cipher secret information. If the entered secret information is correct, the user will be provided access to the system. Usability study has been carried out on the proposed solution, and the new authentication mechanism was found to be easy to learn and adapt. Mathematical analysis of the time taken to carry out brute force attack on the proposed solution has been carried out. The result of mathematical analysis showed that the solution is almost completely resistant to brute force attack. Today’s standard methods for authentication are subject to a wide variety of software, hardware, and human attacks. The proposed scheme can be very useful in controlling the various types of authentication related attacks especially in a networked computer environment where the use of username and password for authentication is common.Keywords: authentication, QR code, cipher / decipher text, one time password, secret information
Procedia PDF Downloads 26910040 Object-Oriented Program Comprehension by Identification of Software Components and Their Connexions
Authors: Abdelhak-Djamel Seriai, Selim Kebir, Allaoua Chaoui
Abstract:
During the last decades, object oriented program- ming has been massively used to build large-scale systems. However, evolution and maintenance of such systems become a laborious task because of the lack of object oriented programming to offer a precise view of the functional building blocks of the system. This lack is caused by the fine granularity of classes and objects. In this paper, we use a post object-oriented technology namely software components, to propose an approach based on the identification of the functional building blocks of an object oriented system by analyzing its source code. These functional blocks are specified as software components and the result is a multi-layer component based software architecture.Keywords: software comprehension, software component, object oriented, software architecture, reverse engineering
Procedia PDF Downloads 41610039 A Robust Implementation of a Building Resources Access Rights Management System
Authors: Eugen Neagoe, Victor Balanica
Abstract:
A Smart Building Controller (SBC) is a server software that offers secured access to a pool of building specific resources, executes monitoring tasks and performs automatic administration of a building, thus optimizing the exploitation cost and maximizing comfort. This paper brings to discussion the issues that arise with the secure exploitation of the SBC administered resources and proposes a technical solution to implement a robust secure access system based on roles, individual rights and privileges (special rights).Keywords: smart building controller, software security, access rights, access authorization
Procedia PDF Downloads 44010038 An Orphan Software Engineering Course: Supportive Ways toward a True Software Engineer
Authors: Haya Sammana
Abstract:
A well-defined curricula must be adopted to meet the increasing complexity and diversity in the software applications. In reality, some IT majors such as computer science and computer engineering receive the software engineering education in a single course which is considered as a big challenged for the instructors and universities. Also, it requires students to gain the most of practical experiences that simulate the real work in software companies. Furthermore, we have noticed that there is no consensus on how, when and what to teach in that introductory course to gain the practical experiences that are required by the software companies. Because all of software engineering disciplines will not fit in just one course, so the course needs reasonable choices in selecting its topics. This arises an important question which is an essential one to ask: Is this course has the ability to formulate a true software engineer that meets the needs of industry? This question arises a big challenge in selecting the appropriate topics. So answering this question is very important for the next undergraduate students. During teaching this course in the curricula, the feedbacks from an undergraduate students and the keynotes of the annual meeting for an advisory committee from industrial side provide a probable answer for the proposed question: it is impossible to build a true software engineer who possesses all the essential elements of software engineering education such teamwork, communications skills, project management skills and contemporary industrial practice from one course and it is impossible to have a one course covering all software engineering topics. Besides the used teaching approach, the author proposes an implemented three supportive ways aiming for mitigating the expected risks and increasing the opportunity to build a true software engineer.Keywords: software engineering course, software engineering education, software experience, supportive approach
Procedia PDF Downloads 361