Mohammad Raji

SE
4papers
2citations
Novelty44%
AI Score18

4 Papers

SEDec 3, 2018
On the Relationship Between Modularity and Stability in Software Packages

Mohammad Raji, Behzad Montazeri

Modular and well-written software is an ideal that programmers strive to achieve. However, real-world project constraints limit the amount of reusable and modular code that programmers can produce. Many techniques exist that refactor code automatically using graph-based measurements and increase the quality and modularity of a codebase. While these measures work in the graph domain, their effect on the stability of software has been uncertain. In this work, we provide mathematical proof that modularity measures are indeed in favor of software stability.

SENov 26, 2018
Refactoring Software Packages via Community Detection from Stability Point of View

Mohammad Raji

As the complexity and size of software projects increases in real-world environments, maintaining and creating maintainable and dependable code becomes harder and more costly. Refactoring is considered as a method for enhancing the internal structure of code for improving many software properties such as maintainability. In this thesis, the subject of refactoring software packages using community detection algorithms is discussed, with a focus on the notion of package stability. The proposed algorithm starts by extracting a package dependency network from Java byte code and a community detection algorithm is used to find possible changes in package structures. In this work, the reasons for the importance of considering dependency directions while modeling package dependencies with graphs are also discussed, and a proof for the relationship between package stability and the modularity of package dependency graphs is presented that shows how modularity is in favor of package stability. For evaluating the proposed algorithm, a tool for live analysis of software packages is implemented, and two software systems are tested. Results show that modeling package dependencies with directed graphs and applying the presented refactoring method, leads to a higher increase in package stability than undirected graph modeling approaches that have been studied in the literature.

HCOct 19, 2017
A Space-Efficient Method for Navigable Ensemble Analysis and Visualization

Alok Hota, Mohammad Raji, Tanner Hobson et al.

Scientists increasingly rely on simulation runs of complex models in lieu of cost-prohibitive or infeasible experimentation. The data output of many controlled simulation runs, the ensemble, is used to verify correctness and quantify uncertainty. However, due to their size and complexity, ensembles are difficult to visually analyze because the working set often exceeds strict memory limitations. We present a navigable ensemble analysis tool, NEA, for interactive exploration of ensembles. NEA's pre-processing component takes advantage of the data similarity characteristics of ensembles to represent the data in a new, spatially-efficient data structure which does not require fully reconstructing the original data at visualization time. This data structure allows a fine degree of control in working set management, which enables interactive ensemble exploration while fitting within memory limitations. Scientists can also gain new insights from the data-similarity analysis in the pre-processing component.

GROct 18, 2017
Photo-Guided Exploration of Volume Data Features

Mohammad Raji, Alok Hota, Robert Sisneros et al.

In this work, we pose the question of whether, by considering qualitative information such as a sample target image as input, one can produce a rendered image of scientific data that is similar to the target. The algorithm resulting from our research allows one to ask the question of whether features like those in the target image exists in a given dataset. In that way, our method is one of imagery query or reverse engineering, as opposed to manual parameter tweaking of the full visualization pipeline. For target images, we can use real-world photographs of physical phenomena. Our method leverages deep neural networks and evolutionary optimization. Using a trained similarity function that measures the difference between renderings of a phenomenon and real-world photographs, our method optimizes rendering parameters. We demonstrate the efficacy of our method using a superstorm simulation dataset and images found online. We also discuss a parallel implementation of our method, which was run on NCSA's Blue Waters.