EDBT 2026 Demo / reviewers in the wild / expert
Arman Shahbazian
dblp:166/4896
· DBLP profile ↗
11ranked-venue papers
4as first author
0since 2021 · last 2020
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 11 · 4 first-authorDatabases, data management, data science and information retrieval · 2 · 1 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
3 papers |
Requirements engineering and software design · 56% Program analysis · 22% Empirical software engineering · 12% | |
| Network and information security
2 papers |
Systems and software security · 100% |
Topics — the 9 heaviest of 10, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis
static analysis |
0.5 | 2 | 2017 | SEALANT: a detection and visualization tool for inter-app security vulnerabilities in Android · ASE 2017 Detecting event anomalies in event-based systems · ESEC/SIGSOFT FSE 2015 |
Requirements engineering and software design › software architecture › architectural design
architectural decision making |
0.4 | 1 | 2020 | eQual: informing early design decisions · ESEC/SIGSOFT FSE 2020 |
Requirements engineering and software design › design process
design space exploration |
0.4 | 1 | 2020 | eQual: informing early design decisions · ESEC/SIGSOFT FSE 2020 |
Requirements engineering and software design
software architecture |
0.4 | 1 | 2020 | eQual: informing early design decisions · ESEC/SIGSOFT FSE 2020 |
Systems and software security › program analysis
runtime monitoring |
0.3 | 1 | 2017 | A SEALANT for inter-app security holes in android · ICSE 2017 |
Systems and software security › vulnerability discovery
static analysis |
0.3 | 1 | 2017 | A SEALANT for inter-app security holes in android · ICSE 2017 |
Empirical software engineering › mining software repositories › mobile app analysis
android app analysis |
0.3 | 1 | 2017 | SEALANT: a detection and visualization tool for inter-app security vulnerabilities in Android · ASE 2017 |
Concurrent programming
concurrency bugs |
0.2 | 1 | 2015 | Detecting event anomalies in event-based systems · ESEC/SIGSOFT FSE 2015 |
Visualization and visual analytics › visual analytics › visual analysis
security visualization |
0.1 | 1 | 2017 | SEALANT: a detection and visualization tool for inter-app security vulnerabilities in Android · ASE 2017 |
Methods — techniques the papers use, named apart from their topics
static analysis · 1.4visualization · 0.9optimization algorithm · 0.4model-driven engineering · 0.4runtime monitoring · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | eQual: informing early design decisionsabstractWhen designing a software system, architects make a series of design decisions that directly impact the system's quality. The number of available design alternatives grows rapidly with system size, creating an enormous space of intertwined design concerns that renders manual exploration impractical. We present eQual, a model-driven technique for simulation-based assessment of architectural designs. While it is not possible to guarantee optimal decisions so early in the design process, eQual improves decision quality. eQual is effective in practice because it (1) limits the amount of information the architects have to provide and (2) adapts optimization algorithms to effectively explore massive spaces of design alternatives. We empirically demonstrate that eQual yields designs whose quality is comparable to a set of systems' known optimal designs. A user study shows that, compared to the state-of-the-art, engineers using eQual produce statistically significantly higher-quality designs with a large effect size, are statistically significantly more confident in their designs, and find eQual easier to use. Arman Shahbazian, Suhrid Karthik, Yuriy Brun, Nenad Medvidovic |
ESEC/SIGSOFT FSE | 1 |
| 2018 | An Empirical Study of Architectural Decay in Open-Source SoftwareabstractArchitecture is the set of principal design decisions about a software system. In practice, new architectural decisions are added and existing ones reversed or modified throughout a system's lifetime. Frequently, these decisions deviate from the architect's well-considered intent, and software systems regularly exhibit increased architectural decay as they evolve. The manifestations of such ill-considered design decisions are seen as “architectural smells”. To date, there has been no in-depth study of the characteristics or trends involving this phenomenon. Instead, when referring to architectural smells and their negative effects, both researchers and practitioners had to rely on folklore and their personal, inherently limited experience. In this paper, we report on the systematic step we have taken in investigating the nature and impact of architectural smells. We have selected a set of representative architectural smells from literature and analyzed their instances in 421 versions from 8 open-source software systems. We have (1) developed algorithms to automatically detect instances of multiple architectural smell types, and (2) analyzed relationships between the detected smells and the lists of issues reported in the systems' respective issue trackers. Our study shows that architectural smells have tangible negative consequences in the form of implementation issues as well as code commits requiring increased maintenance effort throughout a system's lifetime. Duc Minh Le, Daniel Link 0003, Arman Shahbazian, Nenad Medvidovic |
ICSA | 3 |
| 2018 | Recovering Architectural Design DecisionsabstractDesigning and maintaining a software system's architecture typically involve making numerous design decisions, each potentially affecting the system's functional and nonfunctional properties. Understanding these design decisions can help inform future decisions and implementation choices and can avoid introducing regressions and architectural inefficiencies later. Unfortunately, design decisions are rarely well documented and are typically a lost artifact of the architecture creation and maintenance process. The loss of this information can thus hurt development. To address this shortcoming, we develop RecovAr, a technique for automatically recovering design decisions from the project's readily available history artifacts, such as an issue tracker and version control repository. RecovAr uses state-of-the-art architectural recovery techniques on a series of version control commits and maps those commits to issues to identify decisions that affect system architecture. While some decisions can still be lost through this process, our evaluation on Hadoop and Struts, two large open-source systems with over 8 years of development each and, on average, more than 1 million lines of code, shows that RecovAr has the recall of 75% and a precision of 77%. Our work formally defines architectural design decisions and develops an approach for tracing such decisions in project histories. Additionally, the work introduces methods to classify whether decisions are architectural and to map decisions to code elements. Finally, our work contributes a methodology engineers can follow to preserve design-decision knowledge in their projects. Arman Shahbazian, Youn Kyu Lee, Duc Minh Le, Yuriy Brun, Nenad Medvidovic |
ICSA | 1 |
| 2018 | Toward predicting architectural significance of implementation issuesabstractIn a software system's development lifecycle, engineers make numerous design decisions that subsequently cause architectural change in the system. Previous studies have shown that, more often than not, these architectural changes are unintentional by-products of continual software maintenance tasks. The result of inadvertent architectural changes is accumulation of technical debt and deterioration of software quality. Despite their important implications, there is a relative shortage of techniques, tools, and empirical studies pertaining to architectural design decisions. In this paper, we take a step toward addressing that scarcity by using the information in the issue and code repositories of open-source software systems to investigate the cause and frequency of such architectural design decisions. Furthermore, building on these results, we develop a predictive model that is able to identify the architectural significance of newly submitted issues, thereby helping engineers to prevent the adverse effects of architectural decay. The results of this study are based on the analysis of 21,062 issues affecting 301 versions of 5 large open-source systems for which the code changes and issues were publicly accessible. Arman Shahbazian, Daye Nam, Nenad Medvidovic |
MSR | 1 |
| 2017 | A SEALANT for inter-app security holes in androidabstractAndroid's communication model has a major security weakness: malicious apps can manipulate other apps into performing unintended operations and can steal end-user data, while appearing ordinary and harmless. This paper presents SEALANT, a technique that combines static analysis of app code, which infers vulnerable communication channels, with runtime monitoring of inter-app communication through those channels, which helps to prevent attacks. SEALANT's extensive evaluation demonstrates that (1) it detects and blocks inter-app attacks with high accuracy in a corpus of over 1,100 real-world apps, (2) it suffers from fewer false alarms than existing techniques in several representative scenarios, (3) its performance overhead is negligible, and (4) end-users do not find it challenging to adopt. Youn Kyu Lee, Jae Young Bang, Gholamreza Safi, Arman Shahbazian, Yixue Zhao, Nenad Medvidovic |
ICSE | 4 |
| 2017 | SEALANT: a detection and visualization tool for inter-app security vulnerabilities in AndroidabstractAndroid's flexible communication model allows interactions among third-party apps, but it also leads to inter-app security vulnerabilities. Specifically, malicious apps can eavesdrop on interactions between other apps or exploit the functionality of those apps, which can expose a user's sensitive information to attackers. While the state-of-the-art tools have focused on detecting inter-app vulnerabilities in Android, they neither accurately analyze realistically large numbers of apps nor effectively deliver the identified issues to users. This paper presents SEALANT, a novel tool that combines static analysis and visualization techniques that, together, enable accurate identification of inter-app vulnerabilities as well as their systematic visualization. SEALANT statically analyzes architectural information of a given set of apps, infers vulnerable communication channels where inter-app attacks can be launched, and visualizes the identified information in a compositional representation. SEALANT has been demonstrated to accurately identify inter-app vulnerabilities from hundreds of real-world Android apps and to effectively deliver the identified information to users. (Demo Video: https://youtu.be/E4lLQonOdUw) Youn Kyu Lee, Peera Yoodee, Arman Shahbazian, Daye Nam, Nenad Medvidovic |
ASE | 3 |
| 2017 | A large-scale study of architectural evolution in open-source software systems
Pooyan Behnamghader, Duc Minh Le, Joshua Garcia, Daniel Link 0003, Arman Shahbazian, Nenad Medvidovic |
Empir. Softw. Eng. | 5 |
| 2016 | An end-to-end domain specific modeling and analysis platformabstractSoftware architecture models are specifications of the principal design decisions about a software system that primarily govern its structure, behavior, and quality. They serve as a basis for experimentation and rationalization of design decisions. While many techniques utilize and support software architecture modeling and analysis, a recurring obstacle is that often advances in one area (e.g., architecture-based modeling) tend to be disconnected from those in another area (e.g., simulation). In this work we aim to provide an end-to-end model-driven engineering approach, called DoMAINPro, that bridges this gap and supports engineers throughout the software modeling, analysis, and implementation process by automatically synthesizing a range of model interpreters (MI). DomainPro is also available to download at https://goo.gl/4sRT9B. You can also watch the demo video describing DomainPro's prominent features at https://youtu.be/6rg7pC6bhO0. Arman Shahbazian, George Edwards, Nenad Medvidovic |
MiSE@ICSE | 1 |
| 2016 | Automated Extraction of Rich Software Models from Limited System InformationabstractReverse engineering a software system is challenged by the typically very limited information available about existing systems. Useful reverse engineering tasks include recovering a system's architectural, behavioral, and usage models, which can then be leveraged to answer important questions about a system. For example, using such models to analyze and predict a system's non-functional properties would help to efficiently assess the system's current state, planned adaptations, scalability issues, etc. Existing approaches typically only extract a system's static architecture, omitting the dynamic information that is needed for such analyses. The contribution of this paper is an automated technique that extracts a system's static architecture, behavior, and usage models from very limited, but readily available information: source code and test cases. These models can then be fed into known performance, reliability, and cost prediction techniques. We evaluated our approach for accuracy against systems with already established usage models, and observed that our approach finds the correct, but more detailed usage models. We also analyzed 14 open source software systems spanning over 2 million lines of code to evaluate the scalability of our approach. Michael Langhammer, Arman Shahbazian, Nenad Medvidovic, Ralf Reussner |
WICSA | 2 |
| 2015 | An Empirical Study of Architectural Change in Open-Source Software SystemsabstractFrom its very inception, the study of software architecture has recognized architectural decay as a regularly occurring phenomenon in long-lived systems. Architectural decay is caused by repeated changes to a system during its lifespan. Despite decay's prevalence, there is a relative dearth of empirical data regarding the nature of architectural changes that may lead to decay, and of developers' understanding of those changes. In this paper, we take a step toward addressing that scarcity by conducting an empirical study of changes found in software architectures spanning several hundred versions of 14 open-source systems. Our study reveals several new findings regarding the frequency of architectural changes in software systems, the common points of departure in a system's architecture during maintenance and evolution, the difference between system-level and component-level architectural change, and the suitability of a system's implementation-level structure as a proxy for its architecture. Duc Minh Le, Pooyan Behnamghader, Joshua Garcia, Daniel Link 0003, Arman Shahbazian, Nenad Medvidovic |
MSR | 5 |
| 2015 | Detecting event anomalies in event-based systemsabstractEvent-based interaction is an attractive paradigm because its use can lead to highly flexible and adaptable systems. One problem in this paradigm is that events are sent, received, and processed nondeterministically, due to the systems’ reliance on implicit invocation and implicit concurrency. This nondeterminism can lead to event anomalies, which occur when an event-based system receives multiple events that lead to the write of a shared field or memory location. Event anomalies can lead to unreliable, error-prone, and hard to debug behavior in an event-based system. To detect these anomalies, this paper presents a new static analysis technique, DEvA, for automatically detecting event anomalies. DEvA has been evaluated on a set of open-source event-based systems against a state-of-the-art technique for detecting data races in multithreaded systems, and a recent technique for solving a similar problem with event processing in Android applications. DEvA exhibited high precision with respect to manually constructed ground truths, and was able to locate event anomalies that had not been detected by the existing solutions. Gholamreza Safi, Arman Shahbazian, William G. J. Halfond, Nenad Medvidovic |
ESEC/SIGSOFT FSE | 2 |