A dynamic memory of software designs

Author(s):  
Scott Henderson ◽  
Sidney C. Bailin

AbstractThis paper describes an application of artificial intelligence to support software reuse. We begin by discussing the characteristics of software engineering that establish dynamic reorganization as a requirement for a repository of software artifacts. We then present an experimental system that uses incremental concept formation as the basis for dynamic reorganization, and the conceptual hierarchy that was generated by the system for a set of 67 artifacts. The hierarchy is compared to a hierarchy produced manually by independent investigators, and the automatic hierarchy is evaluated in terms of retrieval efficiency and retrieval reliability. The paper ends with a discussion of three projects that share similar objectives with our work.

Author(s):  
ROBERT GODIN ◽  
GUY MINEAU ◽  
ROKIA MISSAOUI ◽  
MARC ST-GERMAIN ◽  
NAJIB FARAJ

This paper describes an approach to software reuse that involves generating and retrieving abstractions from existing software systems using concept formation methods. The potential of the approach is illustrated through two important activities of the reuse process. First, the concept hierarchy generated by the concept formation methods is used for organizing and retrieving the artifacts inside a repository. Second, the generated concepts are used in identifying new abstractions that may be converted into new, more generic artifacts with better reuse potential. These experiments are part of a major software engineering research project involving many business and academic partners.


Author(s):  
Bharavi Mishra ◽  
K. K. Shukla

In the present time, software plays a vital role in business, governance, and society in general, so a continuous improvement of software productivity and quality such as reliability, robustness, etc. is an important goal of software engineering. During software development, a large amount of data is produced, such as software attribute repositories and program execution trace, which may help in future development and project management activities. Effective software development needs quantification, measurement, and modelling of previous software artefacts. The development of large and complex software systems is a formidable challenge which requires some additional activities to support software development and project management processes. In this scenario, data mining can provide a helpful hand in the software development process. This chapter discusses the application of data mining in software engineering and includes static and dynamic defect detection, clone detection, maintenance, etc. It provides a way to understand the software artifacts and processes to assist in software engineering tasks.


2020 ◽  
Vol 17 (9) ◽  
pp. 4635-4642
Author(s):  
Mudita ◽  
Deepali Gupta

Software Engineering is the fundamental methodology used in the process of developing the software. Software Development Life Cycle (SDLC) is the backbone of software engineering. SDLC is emerging in several forms to support software development at different phases. SDLC plays as a role of guide for engineers that are involved from traditional desktop application development to much trending development. The new emerging technologies accelerate the process of software engineering, resulting in saving time and resources and enhance the quality of software systems. This paper focuses on technologies used to accelerate the process of software engineering in solving problems associated with its phases. The first section of this paper contains an introduction to Software Engineering (SE) and Artificial Intelligence (AI). The next section describes the aspects of emerging technologies in software engineering. After this, the role of AI in SE is discussed followed by a conclusion in the last section.


Author(s):  
Bharavi Mishra ◽  
K. K. Shukla

In the present time, software plays a vital role in business, governance, and society in general, so a continuous improvement of software productivity and quality such as reliability, robustness, etc. is an important goal of software engineering. During software development, a large amount of data is produced, such as software attribute repositories and program execution trace, which may help in future development and project management activities. Effective software development needs quantification, measurement, and modelling of previous software artefacts. The development of large and complex software systems is a formidable challenge which requires some additional activities to support software development and project management processes. In this scenario, data mining can provide a helpful hand in the software development process. This chapter discusses the application of data mining in software engineering and includes static and dynamic defect detection, clone detection, maintenance, etc. It provides a way to understand the software artifacts and processes to assist in software engineering tasks.


Sign in / Sign up

Export Citation Format

Share Document