3,490 research outputs found
UMSL Bulletin 2023-2024
The 2023-2024 Bulletin and Course Catalog for the University of Missouri St. Louis.https://irl.umsl.edu/bulletin/1088/thumbnail.jp
Improving the Specification of Business Application Requirements Based on Executable Models
Istraživanje predstavljeno u okviru ove disertacije imalo je za cilj unapređenje procesa specifikacije korisničkih zahteva poslovnih aplikacija na bazi detaljnih, izvršivih prototipova koji se mogu kreirati uz minimalan utrošak vremena i energije. Radi postizanja ovog cilja je implementiran alat otvorenog koda pod nazivom Kroki (fr. croquis – skica) čija je arhitektura projektovana tako da obezbedi: (1) kolaborativni razvoj specifikacije poslovne aplikacije sa korisnicima koji nemaju znanje projektovanja i programiranja softverskih sistema, (2) efikasno pokretanje prototipa direktno iz sopstvenog razvojnog okruženja, dajući mogućnost korisniku da isproba prototip tokom modelovanja kad god poželi, (3) ponovno korišćenje informacija dobijenih prilikom razvoja prototipova u kasnijim fazama razvoja, kako bi se smanjilo nepotrebno trošenje resursa. Eksperiment za proveru da li razvijeni alat zadovoljava postavljene ciljeve je dizajniran kao serija od deset eksplorativnih studija slučaja čiji je cilj specifikacija poslovnih aplikacija sa učesnicima koji dolaze iz različitih poslovnih domena koji nisu poznati projektantima. Pojedinačne studije su obavljene sa po jednim učesnikom u okviru dvočasovnih projektantskih sesija, gde su ulogu projektanata imali autor ove disertacije i njegov mentor. Kvalitativni i kvantitativni podaci prikupljeni tokom sesija i posle njih, putem upitnika, su iskorišćeni za izvođenje pozitivnih zaključaka o efikasnosti predloženog pristupa i alata. Dizajn istraživanja je baziran na konceptima MEM-a (Method Evaluation Model) koji definiše kriterijum za uspeh određene metodologije u praksi. Upitnici koji evaluiraju jezik za modelovanje i Kroki alat su formulisani tako da odgovaraju izabranim konceptima FQUAD (Framework for qualitative assessment of domain-specific languages) okvira za evaluaciju jezika specifičnih za domen.The research presented in this dissertation aimed to improve the process of specification of user requirements of business applications based on detailed, executable prototypes that can be created with minimal expenditure of time and energy. To achieve this goal, an open-source tool called Kroki (fr. croquis - sketch) was implemented, the architecture of which is designed to provide: (1) Collaborative development of business application specifications with users who do not have knowledge of designing and programming software systems, (2) Efficient prototyping directly from Kroki’s development environment, enabling the user to try out the prototype during modeling whenever they want, and (3) Reuse of information obtained during the development of prototypes in later stages of development, to reduce unnecessary consumption of time and energy. The experiment to validate whether the developed Kroki tool meets the set goals was designed as a series of ten exploratory case studies to specify business applications with participants from different business domains unknown to the designers. Individual studies were carried out within two-hour design sessions, where the author of this dissertation and his mentor played the designer role, with a single participant in the user role in each session. Qualitative and quantitative data collected during and after the sessions, through questionnaires, were used to draw positive conclusions about the effectiveness of the proposed approach and tools. The research design is based on the concepts of MEM (Method Evaluation Model), which defines the criteria for the success of a certain methodology in practice. Questionnaires that evaluate the modeling language and the Kroki tool are formulated to correspond to the selected concepts of the FQUAD (Framework for qualitative assessment of domain-specific languages) for evaluating DSLs
Insights into software development approaches: mining Q &A repositories
© 2023 The Author(s). This is an open access article distributed under the terms of the Creative Commons Attribution License (CC BY), https://creativecommons.org/licenses/by/4.0/Context: Software practitioners adopt approaches like DevOps, Scrum, and Waterfall for high-quality software development. However, limited research has been conducted on exploring software development approaches concerning practitioners’ discussions on Q &A forums. Objective: We conducted an empirical study to analyze developers’ discussions on Q &A forums to gain insights into software development approaches in practice. Method: We analyzed 13,903 developers’ posts across Stack Overflow (SO), Software Engineering Stack Exchange (SESE), and Project Management Stack Exchange (PMSE) forums. A mixed method approach, consisting of the topic modeling technique (i.e., Latent Dirichlet Allocation (LDA)) and qualitative analysis, is used to identify frequently discussed topics of software development approaches, trends (popular, difficult topics), and the challenges faced by practitioners in adopting different software development approaches. Findings: We identified 15 frequently mentioned software development approaches topics on Q &A sites and observed an increase in trends for the top-3 most difficult topics requiring more attention. Finally, our study identified 49 challenges faced by practitioners while deploying various software development approaches, and we subsequently created a thematic map to represent these findings. Conclusions: The study findings serve as a useful resource for practitioners to overcome challenges, stay informed about current trends, and ultimately improve the quality of software products they develop.Peer reviewe
UMSL Bulletin 2022-2023
The 2022-2023 Bulletin and Course Catalog for the University of Missouri St. Louis.https://irl.umsl.edu/bulletin/1087/thumbnail.jp
Software Design Change Artifacts Generation through Software Architectural Change Detection and Categorisation
Software is solely designed, implemented, tested, and inspected by expert people, unlike other engineering projects where they are mostly implemented by workers (non-experts) after designing by engineers. Researchers and practitioners have linked software bugs, security holes, problematic integration of changes, complex-to-understand codebase, unwarranted mental pressure, and so on in software development and maintenance to inconsistent and complex design and a lack of ways to easily understand what is going on and what to plan in a software system. The unavailability of proper information and insights needed by the development teams to make good decisions makes these challenges worse. Therefore, software design documents and other insightful information extraction are essential to reduce the above mentioned anomalies. Moreover, architectural design artifacts extraction is required to create the developer’s profile to be available to the market for many crucial scenarios. To that end, architectural change detection, categorization, and change description generation are crucial because they are the primary artifacts to trace other software artifacts.
However, it is not feasible for humans to analyze all the changes for a single release for detecting change and impact because it is time-consuming, laborious, costly, and inconsistent. In this thesis, we conduct six studies considering the mentioned challenges to automate the architectural change information extraction and document generation that could potentially assist the development and maintenance teams. In particular, (1) we detect architectural changes using lightweight techniques leveraging textual and codebase properties, (2) categorize them considering intelligent perspectives, and (3) generate design change documents by exploiting precise contexts of components’ relations and change purposes which were previously unexplored. Our experiment using 4000+ architectural change samples and 200+ design change documents suggests that our proposed approaches are promising in accuracy and scalability to deploy frequently. Our proposed change detection approach can detect up to 100% of the architectural change instances (and is very scalable). On the other hand, our proposed change classifier’s F1 score is 70%, which is promising given the challenges. Finally, our proposed system can produce descriptive design change artifacts with 75% significance. Since most of our studies are foundational, our approaches and prepared datasets can be used as baselines for advancing research in design change information extraction and documentation
AI Usage in Development, Security, and Operations
Artificial intelligence (AI) has become a growing field in information technology (IT). Cybersecurity managers are concerned that the lack of strategies to incorporate AI technologies in developing secure software for IT operations may inhibit the effectiveness of security risk mitigation. Grounded in the technology acceptance model, the purpose of this qualitative exploratory multiple case study was to explore strategies cybersecurity professionals use to incorporate AI technologies in developing secure software for IT operations. The participants were 10 IT professionals in the United States with at least 5 years of professional experience working in DevSecOps and managing teams of at least three DevSecOps professionals within the United States. Data were collected using semi structured interviews, and three themes were identified through thematic analysis: (a) implementation obstacles, (b) AI cloud implementation strategy, and (c) AI local implementation strategy. A specific recommendation for IT professionals is to identify knowledge gaps and security challenges in the DevSecOps pipeline to facilitate the necessary training. The implications for positive social include the potential to improve organizations\u27 securities postures and, by extension, the societies and individuals they serve
- …