Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Arman Shahbazian

dblp:166/4896 · DBLP profile ↗
← Back
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

TopicWeightPapersLastEvidence papers
Program analysis
static analysis
0.522017
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.412020
eQual: informing early design decisions · ESEC/SIGSOFT FSE 2020
Requirements engineering and software design › design process
design space exploration
0.412020
eQual: informing early design decisions · ESEC/SIGSOFT FSE 2020
Requirements engineering and software design
software architecture
0.412020
eQual: informing early design decisions · ESEC/SIGSOFT FSE 2020
Systems and software security › program analysis
runtime monitoring
0.312017
A SEALANT for inter-app security holes in android · ICSE 2017
Systems and software security › vulnerability discovery
static analysis
0.312017
A SEALANT for inter-app security holes in android · ICSE 2017
Empirical software engineering › mining software repositories › mobile app analysis
android app analysis
0.312017
SEALANT: a detection and visualization tool for inter-app security vulnerabilities in Android · ASE 2017
Concurrent programming
concurrency bugs
0.212015
Detecting event anomalies in event-based systems · ESEC/SIGSOFT FSE 2015
Visualization and visual analytics › visual analytics › visual analysis
security visualization
0.112017
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
YearPublicationVenuePosition
2020 eQual: informing early design decisions
abstract
When 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 FSE1
2018 An Empirical Study of Architectural Decay in Open-Source Software
abstract
Architecture 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
ICSA3
2018 Recovering Architectural Design Decisions
abstract
Designing 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
ICSA1
2018 Toward predicting architectural significance of implementation issues
abstract
In 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
MSR1
2017 A SEALANT for inter-app security holes in android
abstract
Android'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
ICSE4
2017 SEALANT: a detection and visualization tool for inter-app security vulnerabilities in Android
abstract
Android'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
ASE3
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 platform
abstract
Software 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@ICSE1
2016 Automated Extraction of Rich Software Models from Limited System Information
abstract
Reverse 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
WICSA2
2015 An Empirical Study of Architectural Change in Open-Source Software Systems
abstract
From 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
MSR5
2015 Detecting event anomalies in event-based systems
abstract
Event-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 FSE2