B. M. Mainul Hossain

dblp:121/2714 · DBLP profile ↗
← Back
12ranked-venue papers
1as first author
4since 2021 · last 2026
0000-0002-0447-4217ORCID · verified

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

Software engineering, systems software and programming languages · 10 · 1 first-author · 2 since 2021Artificial intelligence and machine learning · 3 · 2 since 2021Human-computer interaction and ubiquitous computing · 1 · 1 since 2021
YearPublicationVenuePosition
2026 Bangladesh AI Readiness: Gaps in Curriculum, Infrastructure, and Governance
abstract
Artificial Intelligence (AI) readiness in the Global South is often framed as a matter of infrastructure gaps or policy ambition. Drawing on a multi-method qualitative study of 35 university programs, 59 stakeholder interviews, and curriculum benchmarking in Bangladesh, we reconceptualize AI readiness as a sociotechnical condition shaped by material infrastructures, human capacity, and curricular governance. Our findings reveal how GPU scarcity, limited faculty upskilling, opaque mentorship networks, entrenched gender disparities, and the near absence of Responsible AI instruction collectively constrain institutional capacity. Using concepts from Science and Technology Studies, including blackboxing, nested infrastructures, strain, and path dependency, we show that readiness deficits are not isolated shortcomings but outcomes of layered bureaucratic systems, historical lock-in, and global market dependencies. We further argue that AI education in Bangladesh is shaped by postcolonial dynamics that privilege global labor alignment over locally grounded innovation. We contribute an infrastructural reframing of AI readiness for HCI and ICTD, empirical evidence of institutional and epistemic barriers in a Global South context, and actionable design and policy pathways for building equitable, human-centered AI ecosystems.
Sharifa Sultana, Rupali Samad, Mehzabin Haque, Zinnat Sultana, Zulkarin Jahangir, B. M. Mainul Hossain, Rashed Mujib Noman, Syed Ishtiaque Ahmed
COMPASS6
2025 A Heuristic Approach to Localize CSS Properties for Responsive Layout Failures
abstract
Responsive Layout Failures (RLFs) typically arise from CSS properties that hinder proper layout behavior in different screen sizes. To find an accurate and effective solution for repairing RLFs, localization of those problematic properties is necessary. However, existing approaches only detect RLFs and apply broad CSS patches for them. The patches alter the entire layout without localizing the root cause of failure. To address this gap, we propose a heuristic approach to identify the specific CSS properties that developers would typically localize manually. The approach first detects the RLFs existing in a webpage and their affected elements. Next, it localizes the nearby HTML elements using RLF direction and relative alignment of the elements present in the RLF region. The involved CSS properties of those elements are then identified using a ranked search set of CSS properties, created by analyzing Quora and Stack Overflow queries. Finally, elements and their corresponding property pairs are ranked based on their impact on RLFs. We have implemented this approach into a tool called {\normalfont \textsc{LocaliCSS}} and evaluated it on a set of webpages using Top N Rank, MRR and P@K metrics. The tool achieved localization accuracy ranging from 45.2% (Top-1) to 92.86% (Top-7), with an MRR of 76% and a P@3 of 77.13%. Additionally, experienced front-end engineers manually localized the RLFs as part of our evaluation. Their preferred CSS properties matched the suggestions from our approach in 42.86% of cases for Top-1 rankings and up to 90.48% for Top-7 rankings.
Tasmia Zerin, B. M. Mainul Hossain, Kazi Sakib
ENASE2
2025 Repairing Responsive Layout Failures Using Retrieval Augmented Generation
abstract
Responsive websites frequently experience distorted layouts at specific screen sizes, called Responsive Layout Failures (RLFs). Manually repairing these RLFs involves tedious trial-and-error adjustments of HTML elements and CSS properties. In this study, an automated repair approach, leveraging LLM combined with domainspecific knowledge is proposed. The approach is named ReDeFix, a Retrieval-Augmented Generation (RAG)-based solution that utilizes Stack Overflow (SO) discussions to guide LLM on CSS repairs. By augmenting relevant SO knowledge with RLF-specific contexts, ReDeFix creates a prompt that is sent to the LLM to generate CSS patches. Evaluation demonstrates that our approach achieves an$\text{8 8 \%}$accuracy in repairing RLFs. Furthermore, a study from software engineers reveals that generated repairs produce visually correct layouts while maintaining aesthetics.
Tasmia Zerin, Moumita Asad, B. M. Mainul Hossain, Kazi Sakib
ICSME3
2024 A multifaceted evaluation of representation of graphemes for practically effective Bangla OCR
Pritom Kumar Saha, Shadman Rohan, Imranul Ashrafi, Ifty Mohammad Rezwan, Fuad Rahman 0001, B. M. Mainul Hossain, Ahmedul Kabir, Nabeel Mohammed
Int. J. Document Anal. Recognit.8
2020 Significant API Calls in Android Malware Detection (Using Feature Selection Techniques and Correlation Based Feature Elimination)
Asadullah Hill Galib, B. M. Mainul Hossain
SEKE2
2018 Differencing Graphical User Interfaces
abstract
Graphical User Interface (GUI)-based APplications (GAPs) are ubiquitous and provide a wealth of sophisticated services. Nontrivial GAPs evolve through many versions, and understanding how GUIs of different versions of GAPs differ is crucial for various software quality tasks such as testing, cross-platform UI comparison and project effort estimation. Yet despite the criticality of automating GUI differencing, it is a manual, tedious, and laborious task. We offer a novel approach for differencing GUIs that combines tree edit distance measure algorithms with accessibility technologies for obtaining GUI models in a non-intrusive, platform and language-independent way, and it does not require the source code of GAPs. We developed a tool called GUI DifferEntiator (GUIDE) that allows users to difference GUIs of running GAPs. To evaluate GUIDE, we created an experimental platform that generates random GUIs with controlled differentials among them that serve as oracles. GUIDE enables researchers to plug-and-play various GUI differencing algorithms and to automatically run experiments. We evaluated GUIDE on 5,000 pairs of generated complex GUIs and three open-source GAPs and the results of our evaluation suggest that GUIDE can find differences between GUIs with a high degree of automation and precision.
Mark Grechanik, Chi Wu Mao, Ankush Baisal, David Rosenblum, B. M. Mainul Hossain
QRS5
2016 RUGRAT: Evaluating program analysis and testing tools and compilers with large generated random benchmark applications
abstract
Benchmarks are heavily used in different areas of computer science to evaluate algorithms and tools. In program analysis and testing, open-source and commercial programs are routinely used as benchmarks to evaluate different aspects of algorithms and tools. Unfortunately, many of these programs are written by programmers who introduce different biases, not to mention that it is very difficult to find programs that can serve as benchmarks with high reproducibility of results. We propose a novel approach for generating random benchmarks for evaluating program analysis and testing tools and compilers. Our approach uses stochastic parse trees, where language grammar production rules are assigned probabilities that specify the frequencies with which instantiations of these rules will appear in the generated programs. We implemented our tool for Java and applied it to generate a set of large benchmark programs of up to 5M lines of code each with which we evaluated different program analysis and testing tools and compilers. The generated benchmarks let us independently rediscover several issues in the evaluated tools. Copyright © 2014 John Wiley & Sons, Ltd.
Ishtiaque Hussain, Christoph Csallner, Mark Grechanik, Qing Xie 0003, Kunal Taneja, B. M. Mainul Hossain
Softw. Pract. Exp.7
2015 Enhancing Performance And Reliability of Rule Management Platforms
abstract
RulE Management Platforms (REMPs) enable software engineers to represent programming logic as conditional sentences that relate statements of facts. A key benefit of REMPs is that they make software adaptable by burying the complexity of rule invocation in their engines, so that programmers can concentrate on business aspects of highly modular rules. Naturally, rule-driven applications are expected to have excellent performance, since REMP engines should be able to invoke highly modular rules in parallel in response to asserting different facts. In reality, it is very difficult to parallelize rule executions, since it leads to the loss of reliability and adaptability of rule-driven applications.
Mark Grechanik, B. M. Mainul Hossain
ICPE2
2013 Testing Database-Centric Applications for Causes of Database Deadlocks
abstract
Many organizations deploy applications that use databases by sending Structured Query Language (SQL) statements to them and obtaining data that result from executions of these statements. Since applications often share the same databases concurrently, database deadlocks routinely occur in these databases. Testing applications to determine how they cause database deadlocks is important as part of ensuring correctness, reliability, and performance of these applications. Unfortunately, it is very difficult to reproduce database deadlocks, since it involves different factors such as the precise interleavings in executing SQL statements. We created a novel approach for Systematic TEsting in Presence of DAtabase Deadlocks (STEPDAD) that enables testers to instantiate database deadlocks in applications with a high level of automation and frequency. We implemented STEPDAD and experimented with three applications. On average, STEPDAD detected a number of database deadlocks exceeding the deadlocks obtained with the baseline approach by more than an order of magnitude. In some cases, STEPDAD reproduced a database deadlock after running an application only twice, while no database deadlocks could be obtained after ten runs using the baseline approach.
Mark Grechanik, B. M. Mainul Hossain, Ugo A. Buy
ICST2
2013 Preventing database deadlocks in applications
abstract
Many organizations deploy applications that use databases by sending Structured Query Language (SQL) statements to them and obtaining data that result from the execution of these statements. Since applications often share the same databases concurrently, database deadlocks routinely occur in these databases resulting in major performance degradation in these applications. Database engines do not prevent database deadlocks for the same reason that the schedulers of operating system kernels do not preempt processes in a way to avoid race conditions and deadlocks - it is not feasible to find an optimal context switching schedule quickly for multiple processes (and SQL statements), and the overhead of doing it is prohibitive.
Mark Grechanik, B. M. Mainul Hossain, Ugo A. Buy, Haisheng Wang
ESEC/SIGSOFT FSE2
2013 REDACT: preventing database deadlocks from application-based transactions
abstract
In this demonstration, we will present a database deadlocks prevention system that visualizes our algorithm for detecting hold-and-wait cycles that specify how resources (e.g., database tables) are locked and waited on to be locked during executions of SQL statements and utilizes those cycles information to prevent database deadlocks automatically.
B. M. Mainul Hossain, Mark Grechanik, Ugo A. Buy, Haisheng Wang
ESEC/SIGSOFT FSE1
2012 CarFast: achieving higher statement coverage faster
abstract
Test coverage is an important metric of software quality, since it indicates thoroughness of testing. In industry, test coverage is often measured as statement coverage. A fundamental problem of software testing is how to achieve higher statement coverage faster, and it is a difficult problem since it requires testers to cleverly find input data that can steer execution sooner toward sections of application code that contain more statements.
B. M. Mainul Hossain, Ishtiaque Hussain, Christoph Csallner, Mark Grechanik, Kunal Taneja, Qing Xie 0003
SIGSOFT FSE2