EDBT 2026 Demo / reviewers in the wild / expert
Suleman Mahmood
dblp:183/4729 · also Muhammad Suleman Mahmood
· DBLP profile ↗
7ranked-venue papers
3as first author
1since 2021 · last 2021
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 5 · 1 first-authorHuman-computer interaction and ubiquitous computing · 2 · 2 first-author · 1 since 2021
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
2 papers |
Software testing · 78% Program analysis · 16% Software maintenance and evolution · 6% | |
| Databases, data mining, and information retrieval
1 paper |
Data models and query languages · 100% |
Topics — the 7 heaviest of 7, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Software testing
regression testing |
0.3 | 1 | 2018 | Evaluating test-suite reduction in real software evolution · ISSTA 2018 |
Software testing › test suite evaluation
test effectiveness evaluation |
0.3 | 1 | 2018 | Evaluating test-suite reduction in real software evolution · ISSTA 2018 |
Software testing › regression testing
test suite reduction |
0.3 | 1 | 2018 | Evaluating test-suite reduction in real software evolution · ISSTA 2018 |
Program analysis
symbolic execution |
0.2 | 1 | 2016 | Symbolic execution of stored procedures in database management systems · ASE 2016 |
Software testing
unit testing |
0.2 | 1 | 2016 | Symbolic execution of stored procedures in database management systems · ASE 2016 |
Software maintenance and evolution
software evolution |
0.1 | 1 | 2018 | Evaluating test-suite reduction in real software evolution · ISSTA 2018 |
Data models and query languages › database programming
stored procedures |
0.1 | 1 | 2016 | Symbolic execution of stored procedures in database management systems · ASE 2016 |
Methods — techniques the papers use, named apart from their topics
symbolic execution · 0.5automated test generation · 0.5fault seeding · 0.3empirical study · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | A Modular Assessment for Cache MemoriesabstractWe construct and evaluate a modular assessment for students' knowledge about CPU cache memories. Caches play a key role in improving performance in modern computing. They are difficult for students to learn, but we have little conceptual or empirical evidence about why. Building on prior frameworks, we propose six underlying knowledge components that we believe students need to robustly evaluate how a cache can affect the performance of code on a processor. We constructed a modular assessment using these components that can be used as a diagnostic instrument to find the concepts students are struggling to understand. Because different institutions teach caches at varying depths of detail, individual modules of the assessment can be used by instructors and researchers as appropriate for their context. We evaluated the assessment using a combination of Classical Test Theory, Exploratory Factor Analysis, and Confirmatory Factor Analysis. Our results suggest that the assessment is reliable and can be used modularly to assess various components of students' knowledge about caches, though future work needs to be done to evaluate the validity of these modules at different institutions. This assessment can help instructors and researchers design more precisely targeted instructional interventions to help students learn caches. The creation of similar modular assessments may help us in improving instruction in other difficult topics in computing. Suleman Mahmood, Geoffrey L. Herman |
SIGCSE | 1 |
| 2020 | Caches as an Example of Machine-gradable Exam Questions for Complex Engineering SystemsabstractThis Innovative Practice Full Paper presents a framework for generating computer-based exams for complex engineering systems (such as cache memories) that can be machine graded while still offering partial credit for students. Complex multi-faceted engineering systems often require long, multi-part problems to fully assess students' understanding of those systems. Cache memories represent one such system in computer architecture courses. Traditionally, we assessed students' understanding of caches using comprehensive, multipart questions in a paper-based exam. Grading these exams was time-consuming and relied on subjective grading. To cope with rising enrollment, we sought to address these issues by developing machine administered and gradable exams that did not heavily rely on multiple-choice questions or exact numerical responses. Additionally, this system needed to provide partial credit, a common expectation of our students. We developed a cache simulator to use as a back-end for our questions. We used the simulator to develop exam questions and new homework assignments to help students practice cache memory concepts. To give students access to fair partial credit, we allowed multiple submissions for the exam questions with limited feedback. We also awarded partial credit for answers within certain tolerance of the correct answer. The partial credit awarded reduced as deviation from the correct answer increased. Consequently, students could correct minor mistakes or propagating errors which are common reasons for awarding partial credit. To evaluate the effect of the switch from paper-based to computerized exam, we ported questions from one of our paper-based exams to a computerized exam. We evaluated the differences in student performance on paper-based version and the computerized version of the questions and found mixed results with students performing comparably or better than the paper-based exam on the computer-based exam. We also surveyed students about their experience with the computer-based exam. Students overwhelmingly indicated a preference for the computer-based exam. We believe that ideas from our work can be used to automate generation, administration, and grading of complex multi-part questions in engineering disciplines beyond computer architecture. Suleman Mahmood, Geoffrey L. Herman |
FIE | 1 |
| 2020 | Extending symbolic execution for automated testing of stored procedures
Maryam Abdul Ghafoor, Suleman Mahmood, Junaid Haroon Siddiqui |
Softw. Qual. J. | 2 |
| 2019 | Comparing Mutation Testing at the Levels of Source Code and Compiler Intermediate RepresentationabstractMutation testing is widely used in research for evaluating the effectiveness of test suites. There are multiple mutation tools that perform mutation at different levels, including traditional mutation testing at the level of source code (SRC) and more recent mutation testing at the level of compiler intermediate representation (IR). This paper presents an extensive comparison of mutation testing at the SRC and IR levels, specifically at the C programming language and the LLVM compiler IR levels. We use a mutation testing tool called SRCIROR that implements conceptually the same mutation operators at both levels. We also employ automated techniques to account for equivalent and duplicated mutants, and to determine minimal and surface mutants. We carry out our study on 15 programs from the Coreutils library. Overall, we find mutation testing to be better at the SRC level: the SRC level produces much fewer mutants and is thus less expensive, but the SRC level still generates a similar number of minimal and surface mutants, and the mutation scores at both levels are very closely correlated. We also perform a case study on the Space program to evaluate which level's mutation score correlates better with the actual fault-detection capability of test suites sampled from Space's test pool. We find the mutation score at both levels to not be very correlated with the actual fault-detection capability of test suites. Farah Hariri, August Shi, Vimuth Fernando, Suleman Mahmood, Darko Marinov |
ICST | 4 |
| 2018 | Evaluating test-suite reduction in real software evolutionabstractTest-suite reduction (TSR) speeds up regression testing by removing redundant tests from the test suite, thus running fewer tests in the future builds. To decide whether to use TSR or not, a developer needs some way to predict how well the reduced test suite will detect real faults in the future compared to the original test suite. Prior research evaluated the cost of TSR using only program versions with seeded faults, but such evaluations do not explicitly predict the effectiveness of the reduced test suite in future builds. August Shi, Alex Gyori, Suleman Mahmood, Peiyuan Zhao, Darko Marinov |
ISSTA | 3 |
| 2016 | Effective Partial Order Reduction in Model Checking Database ApplicationsabstractDistributed applications, in particular web applications, often depend on a centralized database. The results of database operations depend on the state of database at that time and often also on the order of execution of operations performed by concurrent clients. Verification of such applications requires modeling all these possible orders so that the user can determine which are incorrect orderings and can prevent them with transactions or business logic. However, straightforward exploration leads to state space explosion. Partial order reduction prunes orderings that are equivalent to other orderings already explored. We present a novel technique of Effective Partial Order Reduction (EPOR) for model checking software of Java applications sharing database state. EPOR improves upon prior work by performing a more precise analysis and supports many more operations. The key idea behind EPOR is that monitoring the effect of database operations inside database implementation gives a more precise view of operation dependencies than what can be achieved from an external view. Like prior work, EPOR also relies on Java Pathfinder model checker for model checking Java application. However, unlike prior work, there is additional instrumentation inside the database that enables our precise analysis and allows supporting more constructs. Our results improve upon prior work by achieving significant reduction in number of states explored and thus enables more effective model checking of database applications with concurrent operations. Maryam Abdul Ghafoor, Suleman Mahmood, Junaid Haroon Siddiqui |
ICST | 2 |
| 2016 | Symbolic execution of stored procedures in database management systemsabstractStored procedures in database management systems are often used to implement complex business logic. Correctness of these procedures is critical for correct working of the system. However, testing them remains difficult due to many possible states of data and database constraints. This leads to mostly manual testing. Newer tools offer automated execution for unit testing of stored procedures but the test cases are still written manually. Suleman Mahmood, Maryam Abdul Ghafoor, Junaid Haroon Siddiqui |
ASE | 1 |