Samiha Shimmi

dblp:322/0743 · DBLP profile ↗
← Back
3ranked-venue papers
3as first author
3since 2021 · last 2024
0000-0002-5307-8819ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 2 · 2 first-author · 2 since 2021Security and privacy · 1 · 1 first-author · 1 since 2021
YearPublicationVenuePosition
2024 VulSim: Leveraging Similarity of Multi-Dimensional Neighbor Embeddings for Vulnerability Detection
Samiha Shimmi, Ashiqur Rahman, Mohan Gadde, Hamed Okhravi, Mona Rahimi
USENIX Security Symposium1
2022 Leveraging Code-Test Co-evolution Patterns for Automated Test Case Recommendation
abstract
Context: Prior research revealed that code components with similar structures tend to require structurally similar test cases and they often co-evolve over time. Objective: Leveraging this pattern, we implemented a prototype tool, Test Suite Evolver (TSE), to support the generation of test cases for structurally similar methods. Our prototype tool is applicable to both, incomplete test suites with the purpose of test case augmentation, as well as evolving test suites when a newer version of a software becomes available.
Samiha Shimmi, Mona Rahimi
AST1
2022 Patterns of Code-to-Test Co-evolution for Automated Test Suite Maintenance
abstract
Software systems are characterized by continual change which often occurs concurrently across various artifact types. While prior work has focused on the evolution of individual artifacts, this paper studies the patterns of co-evolution between source and test code. In this research, with a reference to the literature, as well as our manual analysis of several open-source software systems we first, patternize and document common patterns of co-evolution between source code and test suites. Leveraging the proposed patterns, we further infer the necessary remedies in the test suite in response to source code changes. Our approach enables to add missing test cases to the current version of a system (augmentation), but additionally allows to reuse and evolve the existing test suite for a modified version of the system (evolution). Furthermore, identifying patterns of concurrent evolution provides opportunities for a bi-directional change detection and remediation for both artifacts, source code and test cases, and additionally automates the process of maintaining code-to-test trace links. The evaluation of the patterns and remedies in five large open-source applications indicated the patterns contained up to 42% of the source code changes and the remediation recovered up to 100% of the impacted test cases in certain cases.
Samiha Shimmi, Mona Rahimi
ICST1