GGrantIndex
← Search

CRII: SHF: Towards a Cognizant Virtual Software Modeling Assistant using Model Clones

$161,861FY2019CSENSF

Miami University, Oxford OH

Investigators

Abstract

Software is growing increasingly omnipresent in society. Correspondingly, software quality, which includes both security and reliability, is more important than ever. Software failures can cause significant problems to both individuals and national economies. Security is also a paramount societal concern. This research project helps address quality by improving software modeling, a critical stage in software development where engineers specify what the software does and how it works. It takes the first step in allowing engineers to leverage knowledge from data in the form of others' experiences and best practices to incorporate established models for use in their software. This project tackles the fundamental issues of how to 1) gather this data properly, 2) derive useful insights about that data, and 3) best present these insights and suggestions to engineers. By providing this assistance and information, engineers can make better-informed decisions, thus yielding higher quality software for all society. In addition to helping engineers, software modeling is an important aspect of the STEM curriculum, including computer science, software engineering, and other engineering disciplines. Instructors can utilize the approaches and tools derived from this award as a teaching tool by helping students think critically about design decisions. This will yield better computer scientists and engineers who are more comfortable and versed in formal software modeling. Model-driven engineering (MDE) is an established formal methodology for building large-scale secure quality software systems. This award will improve that quality by realizing a cognizant virtual software-modeling assistant to improve software design and MDE. This project uses model-clone detection to analyze models during development, finds similar models from the same domain and/or best practices, and treats those similar models as training data to reason about in order to suggest model additions and modifications to users. Such assistance will yield similar benefits to those afforded by analogous source-code approaches based on past usage statistics. This involves an exploratory investigation to develop a new approach and prototype virtual software-modeling assistant using an established model clone detector. In the first phase of this research, the investigator will build a prototype with the capability to analyze incomplete models being constructed/extended by engineers to suggest completed models for insertion based on similarity to those from the same domain and/or best practices. In the second phase, the investigator will create an assistant that produces granular suggestions based on analyzing similar models, and presents options to engineers of operations they may want to do next based on those operations' prevalence in the knowledge base formed by those similar models. This research's insights and data will provide the foundation necessary to build more advanced modeling assistants, conduct user studies and educational assessments of the approach, and help lay a foundation for the cognification of modeling. This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.

View original record on NSF Award Search →