9 citations · 21 across the 9 of their papers we have counts for
9 papers · 1 filter
RepairFormer: Automated Repair of Structured Inputs Using Transformers
Ovi Paul, Tom J King, Ali Shokri
Structured input files such as JSON, DOT, OBJ, INI, S-expression, and TinyC are widely used in software systems, but small corruptions can cause parsers to reject otherwise useful…
IPSynth: Interprocedural Program Synthesis for Software Security Implementation
Ali Shokri, Ibrahim Jameel Mujhid, Mehdi Mirakhorli
To implement important quality attributes of software such as architectural security tactics, developers incorporate API of software frameworks, as building blocks, to avoid re-inv…
Seneca: Taint-Based Call Graph Construction for Java Object Deserialization
Joanna C. S. Santos, Mehdi Mirakhorli, Ali Shokri
Object serialization and deserialization are widely used for storing and preserving objects in files, memory, or database as well as for transporting them across machines, enabling…
CONSTRUCT: A Program Synthesis Approach for Reconstructing Control Algorithms from Embedded System Binaries in Cyber-Physical Systems
Ali Shokri, Alexandre Perez, Souma Chowdhury +6
We introduce a novel approach to automatically synthesize a mathematical representation of the control algorithms implemented in industrial cyber-physical systems (CPS), given the…
A Novel Approach to Identify Security Controls in Source Code
Ahmet Okutan, Ali Shokri, Viktoria Koscinski +2
Secure by Design has become the mainstream development approach ensuring that software systems are not vulnerable to cyberattacks. Architectural security controls need to be carefu…
A Program Synthesis Approach for Adding Architectural Tactics to An Existing Code Base
Ali Shokri
Automatically constructing a program based on given specifications has been studied for decades. Despite the advances in the field of Program Synthesis, the current approaches stil…
DepRes: A Tool for Resolving Fully Qualified Names and Their Dependencies
Ali Shokri, Mehdi Mirakhorli
Reusing code snippets shared by other programmers on Q&A forums (e.g., StackOverflow) is a common practice followed by software developers. However, lack of sufficient information…
ArCode: A Tool for Supporting Comprehension andImplementation of Architectural Concerns
Ali Shokri, Mehdi Mirakhorli
Integrated development environments (IDE) play an important role in supporting developers during program comprehension and completion. Many of these supportive features focus on lo…
ArCode: Facilitating the Use of Application Frameworks to Implement Tactics and Patterns
Ali Shokri, Joanna C. S. Santos, Mehdi Mirakhorli
Software designers and developers are increasingly relying on application frameworks as first-class design concepts. They instantiate the services that frameworks provide to implem…