Artificial Intelligence,in general,and particularly Natural language Processing(NLP)has made unprecedented progress recently in many areas of life,automating and enabling a lot of activities such as speech recognition...Artificial Intelligence,in general,and particularly Natural language Processing(NLP)has made unprecedented progress recently in many areas of life,automating and enabling a lot of activities such as speech recognition,language translations,search engines,and text-generations,among others.Software engineering and Software Development Life Cycle(SDLC)is also not left out.Indeed,one of the most critical starting points of SDLC is the requirement engineering stage which,traditionally,has been dominated by business analysts.Unfortunately,these analysts have always done the job not just in a monotonous way,but also in an error-prone,tedious,and inefficient manner,thus leading to poorly crafted works with lots of requirement creep and sometimes technical debts.This work,which is the first iteration in a series,looks at how this crucial initial stage could not just be automated but also improved using the latest techniques in Artificial Intelligence and NLP.Using the popular and available PROMISE dataset,the emphasis,for this first part,is on improving requirement engineering,particularly the classification of Functional and Non-functional Requirements.Transformer-powered BERT(Bidirectional Encoder Representations from Transformers)Large Language Model(LLM)was adopted with validation performances of 0.93,0.88,and 0.88.The experimental results showed that Base-BERT LLM,its distilled counterpart,Distil-BERT,and its domain-specific version,Code-BERT,can be reliable in these tasks.We believe that our findings could encourage the adoption of LLM,such as BERT,in Requirement Engineering(RE)-related tasks like the FR/NFR classification.This kind of insight can help RE researchers as well as industry practitioners in their future work.展开更多
Cybersecurity is a global goal that is central to national security planning in many countries.One of the most active research fields is design of practices for the development of so-called highly secure software as a...Cybersecurity is a global goal that is central to national security planning in many countries.One of the most active research fields is design of practices for the development of so-called highly secure software as a kind of protection and reduction of the risks from cyber threats.The use of a secure software product in a real environment enables the reduction of the vulnerability of the system as a whole.It would be logical to find the most optimal solution for the integration of secure coding in the classic SDLC(software development life cycle).This paper aims to suggest practices and tips that should be followed for secure coding,in order to avoid cost and time overruns because of untimely identification of security issues.It presents the implementation of secure coding practices in software development,and showcases several real-world scenarios from different phases of the SDLC,as well as mitigation strategies.The paper covers techniques for SQL injection mitigation,authentication management for staging environments,and access control verification using JSON Web Tokens.展开更多
Information security and quality management are often considered two different fields. However, organizations must be mindful of how software security may affect quality control. This paper examines and promotes metho...Information security and quality management are often considered two different fields. However, organizations must be mindful of how software security may affect quality control. This paper examines and promotes methods through which secure software development processes can be integrated into the Systems Software Development Life-cycle (SDLC) to improve system quality. Cyber-security and quality assurance are both involved in reducing risk. Software security teams work to reduce security risks, whereas quality assurance teams work to decrease risks to quality. There is a need for clear standards, frameworks, processes, and procedures to be followed by organizations to ensure high-level quality while reducing security risks. This research uses a survey of industry professionals to help identify best practices for developing software with fewer defects from the early stages of the SDLC to improve both the quality and security of software. Results show that there is a need for better security awareness among all members of software development teams.展开更多
文摘Artificial Intelligence,in general,and particularly Natural language Processing(NLP)has made unprecedented progress recently in many areas of life,automating and enabling a lot of activities such as speech recognition,language translations,search engines,and text-generations,among others.Software engineering and Software Development Life Cycle(SDLC)is also not left out.Indeed,one of the most critical starting points of SDLC is the requirement engineering stage which,traditionally,has been dominated by business analysts.Unfortunately,these analysts have always done the job not just in a monotonous way,but also in an error-prone,tedious,and inefficient manner,thus leading to poorly crafted works with lots of requirement creep and sometimes technical debts.This work,which is the first iteration in a series,looks at how this crucial initial stage could not just be automated but also improved using the latest techniques in Artificial Intelligence and NLP.Using the popular and available PROMISE dataset,the emphasis,for this first part,is on improving requirement engineering,particularly the classification of Functional and Non-functional Requirements.Transformer-powered BERT(Bidirectional Encoder Representations from Transformers)Large Language Model(LLM)was adopted with validation performances of 0.93,0.88,and 0.88.The experimental results showed that Base-BERT LLM,its distilled counterpart,Distil-BERT,and its domain-specific version,Code-BERT,can be reliable in these tasks.We believe that our findings could encourage the adoption of LLM,such as BERT,in Requirement Engineering(RE)-related tasks like the FR/NFR classification.This kind of insight can help RE researchers as well as industry practitioners in their future work.
文摘Cybersecurity is a global goal that is central to national security planning in many countries.One of the most active research fields is design of practices for the development of so-called highly secure software as a kind of protection and reduction of the risks from cyber threats.The use of a secure software product in a real environment enables the reduction of the vulnerability of the system as a whole.It would be logical to find the most optimal solution for the integration of secure coding in the classic SDLC(software development life cycle).This paper aims to suggest practices and tips that should be followed for secure coding,in order to avoid cost and time overruns because of untimely identification of security issues.It presents the implementation of secure coding practices in software development,and showcases several real-world scenarios from different phases of the SDLC,as well as mitigation strategies.The paper covers techniques for SQL injection mitigation,authentication management for staging environments,and access control verification using JSON Web Tokens.
文摘Information security and quality management are often considered two different fields. However, organizations must be mindful of how software security may affect quality control. This paper examines and promotes methods through which secure software development processes can be integrated into the Systems Software Development Life-cycle (SDLC) to improve system quality. Cyber-security and quality assurance are both involved in reducing risk. Software security teams work to reduce security risks, whereas quality assurance teams work to decrease risks to quality. There is a need for clear standards, frameworks, processes, and procedures to be followed by organizations to ensure high-level quality while reducing security risks. This research uses a survey of industry professionals to help identify best practices for developing software with fewer defects from the early stages of the SDLC to improve both the quality and security of software. Results show that there is a need for better security awareness among all members of software development teams.