-
ToffA-DSPL: an approach of trade-off analysis for designing dynamic software product lines
Authors:
Michelle Larissa Luciano Carvalho,
Paulo Cesar Masiero,
Ismayle de Sousa Santos,
Eduardo Santana de Almeida
Abstract:
Software engineers have adopted the Dynamic Software Product Lines (DSPL) engineering practices to develop Dynamically Adaptable Software (DAS). DAS is seen as a DSPL application and must cope with a large number of configurations of features, Non-functional Requirements (NFRs), and contexts. However, the accurate representation of the impact of features over NFRs and contexts for the identificati…
▽ More
Software engineers have adopted the Dynamic Software Product Lines (DSPL) engineering practices to develop Dynamically Adaptable Software (DAS). DAS is seen as a DSPL application and must cope with a large number of configurations of features, Non-functional Requirements (NFRs), and contexts. However, the accurate representation of the impact of features over NFRs and contexts for the identification of optimal configurations is not a trivial task. Software engineers need to have domain knowledge and design DAS before deploying to satisfy those requirements. Aiming to handle them, we proposed an approach of Trade-off Analysis for DSPL at design-time, named ToffA-DSPL. It deals with the configuration selection process considering interactions between NFRs and contexts. We performed an exploratory study based on simulations to identify the usefulness of the ToffA-DSPL approach. In general, the configurations suggested by ToffA-DSPL provide high satisfaction levels of NFRs. Based on simulations, we evidenced that our approach aims to explore reuse and is useful for generating valid and optimal configurations. In addition, ToffA-DSPL enables software engineers to conduct trade-off analysis, evaluate changes in the context feature, and define an adaptation model from optimal configurations found in the analysis.
△ Less
Submitted 1 July, 2024;
originally announced July 2024.
-
Please do not go: understanding turnover of software engineers from different perspectives
Authors:
Michelle Larissa Luciano Carvalho,
Paulo da Silva Cruz,
Eduardo Santana de Almeida,
Paulo Anselmo da Mota Silveira Neto,
Rafael Prikladnicki
Abstract:
Turnover consists of moving into and out of professional employees in the company in a given period. Such a phenomenon significantly impacts the software industry since it generates knowledge loss, delays in the schedule, and increased costs in the final project. Despite the efforts made by researchers and professionals to minimize the turnover, more studies are needed to understand the motivation…
▽ More
Turnover consists of moving into and out of professional employees in the company in a given period. Such a phenomenon significantly impacts the software industry since it generates knowledge loss, delays in the schedule, and increased costs in the final project. Despite the efforts made by researchers and professionals to minimize the turnover, more studies are needed to understand the motivation that drives Software Engineers to leave their jobs and the main strategies CEOs adopt to retain these professionals in software development companies. In this paper, we contribute a mixed methods study involving semi-structured interviews with Software Engineers and CEOs to obtain a wider opinion of these professionals about turnover and a subsequent validation survey with additional software engineers to check and review the insights from interviews. In studying such aspects, we identified 19 different reasons for software engineers' turnover and 18 more efficient strategies used in the software development industry to reduce it. Our findings provide several implications for industry and academia, which can drive future research.
△ Less
Submitted 28 June, 2024;
originally announced July 2024.
-
Developers' Perceptions on the Impact of ChatGPT in Software Development: A Survey
Authors:
Thiago S. Vaillant,
Felipe Deveza de Almeida,
Paulo Anselmo M. S. Neto,
Cuiyun Gao,
Jan Bosch,
Eduardo Santana de Almeida
Abstract:
As Large Language Models (LLMs), including ChatGPT and analogous systems, continue to advance, their robust natural language processing capabilities and diverse applications have garnered considerable attention. Nonetheless, despite the increasing acknowledgment of the convergence of Artificial Intelligence (AI) and Software Engineering (SE), there is a lack of studies involving the impact of this…
▽ More
As Large Language Models (LLMs), including ChatGPT and analogous systems, continue to advance, their robust natural language processing capabilities and diverse applications have garnered considerable attention. Nonetheless, despite the increasing acknowledgment of the convergence of Artificial Intelligence (AI) and Software Engineering (SE), there is a lack of studies involving the impact of this convergence on the practices and perceptions of software developers. Understanding how software developers perceive and engage with AI tools, such as ChatGPT, is essential for elucidating the impact and potential challenges of incorporating AI-driven tools in the software development process. In this paper, we conducted a survey with 207 software developers to understand the impact of ChatGPT on software quality, productivity, and job satisfaction. Furthermore, the study delves into developers' expectations regarding future adaptations of ChatGPT, concerns about potential job displacement, and perspectives on regulatory interventions.
△ Less
Submitted 20 May, 2024;
originally announced May 2024.
-
What Makes a Great Software Quality Assurance Engineer?
Authors:
Roselane Silva Farias,
Iftekhar Ahmed,
Eduardo Santana de Almeida
Abstract:
Software Quality Assurance (SQA) Engineers are responsible for assessing a product during every phase of the software development process to ensure that the outcomes of each phase and the final product possess the desired qualities. In general, a great SQA engineer needs to have a different set of abilities from development engineers to effectively oversee the entire product development process fr…
▽ More
Software Quality Assurance (SQA) Engineers are responsible for assessing a product during every phase of the software development process to ensure that the outcomes of each phase and the final product possess the desired qualities. In general, a great SQA engineer needs to have a different set of abilities from development engineers to effectively oversee the entire product development process from beginning to end. Recent empirical studies identified important attributes of software engineers and managers, but the quality assurance role is overlooked. As software quality aspects have become more of a priority in the life cycle of software development, employers seek professionals that best suit the company's objectives and new graduates desire to make a valuable contribution through their job as an SQA engineer, but what makes them great? We addressed this knowledge gap by conducting 25 semi-structured interviews and 363 survey respondents with software quality assurance engineers from different companies around the world. We use the data collected from these activities to derive a comprehensive set of attributes that are considered important. As a result of the interviews, twenty-five attributes were identified and grouped into five main categories: personal, social, technical, management, and decision-making attributes. Through a rating survey, we confirmed that the distinguishing characteristics of great SQA engineers are curiosity, the ability to communicate effectively, and critical thinking skills. This work will guide further studies with SQA practitioners, by considering contextual factors and providing some implications for research and practice.
△ Less
Submitted 24 January, 2024;
originally announced January 2024.
-
Finding the Needle in a Haystack: Detecting Bug Occurrences in Gameplay Videos
Authors:
Andrew Truelove,
Shiyue Rong,
Eduardo Santana de Almeida,
Iftekhar Ahmed
Abstract:
The presence of bugs in video games can bring significant consequences for developers. To avoid these consequences, developers can leverage gameplay videos to identify and fix these bugs. Video hosting websites such as YouTube provide access to millions of game videos, including videos that depict bug occurrences, but the large amount of content can make finding bug instances challenging. We prese…
▽ More
The presence of bugs in video games can bring significant consequences for developers. To avoid these consequences, developers can leverage gameplay videos to identify and fix these bugs. Video hosting websites such as YouTube provide access to millions of game videos, including videos that depict bug occurrences, but the large amount of content can make finding bug instances challenging. We present an automated approach that uses machine learning to predict whether a segment of a gameplay video contains the depiction of a bug. We analyzed 4,412 segments of 198 gameplay videos to predict whether a segment contains an instance of a bug. Additionally, we investigated how our approach performs when applied across different specific genres of video games and on videos from the same game. We also analyzed the videos in the dataset to investigate what characteristics of the visual features might explain the classifier's prediction. Finally, we conducted a user study to examine the benefits of our automated approach against a manual analysis. Our findings indicate that our approach is effective at detecting segments of a video that contain bugs, achieving a high F1 score of 0.88, outperforming the current state-of-the-art technique for bug classification of gameplay video segments.
△ Less
Submitted 17 November, 2023;
originally announced November 2023.
-
A Snapshot of the Mental Health of Software Professionals
Authors:
Eduardo Santana de Almeida,
Ingrid Oliveira de Nunes,
Raphael Pereira de Oliveira,
Michelle Larissa Luciano Carvalho,
Andre Russowsky Brunoni,
Shiyue Rong,
Iftekhar Ahmed
Abstract:
Mental health disorders affect a large number of people, leading to many lives being lost every year. These disorders affect struggling individuals and businesses whose productivity decreases due to days of lost work or lower employee performance. Recent studies provide alarming numbers of individuals who suffer from mental health disorders, e.g., depression and anxiety, in particular contexts, su…
▽ More
Mental health disorders affect a large number of people, leading to many lives being lost every year. These disorders affect struggling individuals and businesses whose productivity decreases due to days of lost work or lower employee performance. Recent studies provide alarming numbers of individuals who suffer from mental health disorders, e.g., depression and anxiety, in particular contexts, such as academia. In the context of the software industry, there are limited studies that aim to understand the presence of mental health disorders and the characteristics of jobs in this context that can be triggers for the deterioration of the mental health of software professionals. In this paper, we present the results of a survey with 500 software professionals. We investigate different aspects of their mental health and the characteristics of their work to identify possible triggers of mental health deterioration. Our results provide the first evidence that mental health is a critical issue to be addressed in the software industry, as well as raise the direction of changes that can be done in this context to improve the mental health of software professionals.
△ Less
Submitted 29 September, 2023;
originally announced September 2023.
-
Software Product Line Engineering via Software Transplantation
Authors:
Leandro O. Souza,
Earl T. Barr,
Justyna Petke,
Eduardo S. Almeida,
Paulo Anselmo M. S. Neto
Abstract:
For companies producing related products, a Software Product Line (SPL) is a software reuse method that improves time-to-market and software quality, achieving substantial cost reductions.These benefits do not come for free. It often takes years to re-architect and re-engineer a codebase to support SPL and, once adopted, it must be maintained. Current SPL practice relies on a collection of tools,…
▽ More
For companies producing related products, a Software Product Line (SPL) is a software reuse method that improves time-to-market and software quality, achieving substantial cost reductions.These benefits do not come for free. It often takes years to re-architect and re-engineer a codebase to support SPL and, once adopted, it must be maintained. Current SPL practice relies on a collection of tools, tailored for different reengineering phases, whose output developers must coordinate and integrate. We present Foundry, a general automated approach for leveraging software transplantation to speed conversion to and maintenance of SPL. Foundry facilitates feature extraction and migration. It can efficiently, repeatedly, transplant a sequence of features, implemented in multiple files. We used Foundry to create two valid product lines that integrate features from three real-world systems in an automated way. Moreover, we conducted an experiment comparing Foundry's feature migration with manual effort. We show that Foundry automatically migrated features across codebases 4.8 times faster, on average, than the average time a group of SPL experts took to accomplish the task.
△ Less
Submitted 20 July, 2023;
originally announced July 2023.
-
Test case quality: an empirical study on belief and evidence
Authors:
Daniel Lucrédio,
Auri Marcelo Rizzo Vincenzi,
Eduardo Santana de Almeida,
Iftekhar Ahmed
Abstract:
Software testing is a mandatory activity in any serious software development process, as bugs are a reality in software development. This raises the question of quality: good tests are effective in finding bugs, but until a test case actually finds a bug, its effectiveness remains unknown. Therefore, determining what constitutes a good or bad test is necessary. This is not a simple task, and there…
▽ More
Software testing is a mandatory activity in any serious software development process, as bugs are a reality in software development. This raises the question of quality: good tests are effective in finding bugs, but until a test case actually finds a bug, its effectiveness remains unknown. Therefore, determining what constitutes a good or bad test is necessary. This is not a simple task, and there are a number of studies that identify different characteristics of a good test case. A previous study evaluated 29 hypotheses regarding what constitutes a good test case, but the findings are based on developers' beliefs, which are subjective and biased. In this paper we investigate eight of these hypotheses, through an extensive empirical study based on open software repositories. Despite our best efforts, we were unable to find evidence that supports these beliefs. This indicates that, although these hypotheses represent good software engineering advice, they do not necessarily mean that they are enough to provide the desired outcome of good testing code.
△ Less
Submitted 12 July, 2023;
originally announced July 2023.
-
Let's Go to the Whiteboard (Again):Perceptions from Software Architects on Whiteboard Architecture Meetings
Authors:
Eduardo Santana de Almeida,
Iftekhar Ahmed,
Andre van der Hoek
Abstract:
The whiteboard plays a crucial role in the day-to-day lives of software architects, as they frequently will organize meetings at the whiteboard to discuss a new architecture, some proposed changes to the architecture, a mismatch between the architecture and the code, and more. While much has been studied about software architects, the architectures they produce, and how they produce them, a detail…
▽ More
The whiteboard plays a crucial role in the day-to-day lives of software architects, as they frequently will organize meetings at the whiteboard to discuss a new architecture, some proposed changes to the architecture, a mismatch between the architecture and the code, and more. While much has been studied about software architects, the architectures they produce, and how they produce them, a detailed understanding of these whiteboards meetings is still lacking. In this paper, we contribute a mixed-methods study involving semi-structured interviews and a subsequent survey to understand the perceptions of software architects on whiteboard architecture meetings. We focus on five aspects: (1) why do they hold these meetings, what is the impact of the experience levels of the participants in these meetings, how do the architects document the meetings, what kinds of changes are made after the meetings have concluded and their results are moved to implementation, and what role do digital whiteboards plays? In studying these aspects, we identify 12 observations related to both technical aspects and social aspects of the meetings. These insights have implications for further research, offer concrete advice to practitioners, provide guidance for future tool design, and suggest ways of educating future software architects.
△ Less
Submitted 28 October, 2022;
originally announced October 2022.
-
Bug Analysis in Jupyter Notebook Projects: An Empirical Study
Authors:
Taijara Loiola de Santana,
Paulo Anselmo da Mota Silveira Neto,
Eduardo Santana de Almeida,
Iftekhar Ahmed
Abstract:
Computational notebooks, such as Jupyter, have been widely adopted by data scientists to write code for analyzing and visualizing data. Despite their growing adoption and popularity, there has been no thorough study to understand Jupyter development challenges from the practitioners' point of view. This paper presents a systematic study of bugs and challenges that Jupyter practitioners face throug…
▽ More
Computational notebooks, such as Jupyter, have been widely adopted by data scientists to write code for analyzing and visualizing data. Despite their growing adoption and popularity, there has been no thorough study to understand Jupyter development challenges from the practitioners' point of view. This paper presents a systematic study of bugs and challenges that Jupyter practitioners face through a large-scale empirical investigation. We mined 14,740 commits from 105 GitHub open-source projects with Jupyter notebook code. Next, we analyzed 30,416 Stack Overflow posts which gave us insights into bugs that practitioners face when develo** Jupyter notebook projects. Finally, we conducted nineteen interviews with data scientists to uncover more details about Jupyter bugs and to gain insights into Jupyter developers' challenges. We propose a bug taxonomy for Jupyter projects based on our results. We also highlight bug categories, their root causes, and the challenges that Jupyter practitioners face.
△ Less
Submitted 13 October, 2022;
originally announced October 2022.
-
Code Smells in Machine Learning Systems
Authors:
Jiri Gesi,
Siqi Liu,
Jiawei Li,
Iftekhar Ahmed,
Nachiappan Nagappan,
David Lo,
Eduardo Santana de Almeida,
Pavneet Singh Kochhar,
Lingfeng Bao
Abstract:
As Deep learning (DL) systems continuously evolve and grow, assuring their quality becomes an important yet challenging task. Compared to non-DL systems, DL systems have more complex team compositions and heavier data dependency. These inherent characteristics would potentially cause DL systems to be more vulnerable to bugs and, in the long run, to maintenance issues. Code smells are empirically t…
▽ More
As Deep learning (DL) systems continuously evolve and grow, assuring their quality becomes an important yet challenging task. Compared to non-DL systems, DL systems have more complex team compositions and heavier data dependency. These inherent characteristics would potentially cause DL systems to be more vulnerable to bugs and, in the long run, to maintenance issues. Code smells are empirically tested as efficient indicators of non-DL systems. Therefore, we took a step forward into identifying code smells, and understanding their impact on maintenance in this comprehensive study. This is the first study on investigating code smells in the context of DL software systems, which helps researchers and practitioners to get a first look at what kind of maintenance modification made and what code smells developers have been dealing with. Our paper has three major contributions. First, we comprehensively investigated the maintenance modifications that have been made by DL developers via studying the evolution of DL systems, and we identified nine frequently occurred maintenance-related modification categories in DL systems. Second, we summarized five code smells in DL systems. Third, we validated the prevalence, and the impact of our newly identified code smells through a mixture of qualitative and quantitative analysis. We found that our newly identified code smells are prevalent and impactful on the maintenance of DL systems from the developer's perspective.
△ Less
Submitted 1 March, 2022;
originally announced March 2022.
-
We'll Fix It in Post: What Do Bug Fixes in Video Game Update Notes Tell Us?
Authors:
Andrew Truelove,
Eduardo Santana de Almeida,
Iftekhar Ahmed
Abstract:
Bugs that persist into releases of video games can have negative impacts on both developers and users, but particular aspects of testing in game development can lead to difficulties in effectively catching these missed bugs. It has become common practice for developers to apply updates to games in order to fix missed bugs. These updates are often accompanied by notes that describe the changes to t…
▽ More
Bugs that persist into releases of video games can have negative impacts on both developers and users, but particular aspects of testing in game development can lead to difficulties in effectively catching these missed bugs. It has become common practice for developers to apply updates to games in order to fix missed bugs. These updates are often accompanied by notes that describe the changes to the game included in the update. However, some bugs reappear even after an update attempts to fix them. In this paper, we develop a taxonomy for bug types in games that is based on prior work. We examine 12,122 bug fixes from 723 updates for 30 popular games on the Steam platform. We label the bug fixes included in these updates to identify the frequency of these different bug types, the rate at which bug types recur over multiple updates, and which bug types are treated as more severe. Additionally, we survey game developers regarding their experience with different bug types and what aspects of game development they most strongly associate with bug appearance. We find that Information bugs appear the most frequently in updates, while Crash bugs recur the most frequently and are often treated as more severe than other bug types. Finally, we find that challenges in testing, code quality, and bug reproduction have a close association with bug persistence. These findings should help developers identify which aspects of game development could benefit from greater attention in order to prevent bugs. Researchers can use our results in devising tools and methods to better identify and address certain bug types.
△ Less
Submitted 5 March, 2021;
originally announced March 2021.
-
A Deep Dive on the Impact of COVID-19 in Software Development
Authors:
Paulo Anselmo da Mota Silveira Neto,
Umme Ayda Mannan,
Eduardo Santana de Almeida,
Nachiappan Nagappan,
David Lo,
Pavneet Singh Kochhar,
Cuiyun Gao,
Iftekhar Ahmed
Abstract:
Context: COVID-19 pandemic has impacted different business sectors around the world. Objective. This study investigates the impact of COVID-19 on software projects and software development professionals. Method: We conducted a mining software repository study based on 100 GitHub projects developed in Java using ten different metrics. Next, we surveyed 279 software development professionals for bet…
▽ More
Context: COVID-19 pandemic has impacted different business sectors around the world. Objective. This study investigates the impact of COVID-19 on software projects and software development professionals. Method: We conducted a mining software repository study based on 100 GitHub projects developed in Java using ten different metrics. Next, we surveyed 279 software development professionals for better understanding the impact of COVID-19 on daily activities and wellbeing. Results: We identified 12 observations related to productivity, code quality, and wellbeing. Conclusions: Our findings highlight that the impact of COVID-19 is not binary (reduce productivity vs. increase productivity) but rather a spectrum. For many of our observations, substantial proportions of respondents have differing opinions from each other. We believe that more research is needed to uncover specific conditions that cause certain outcomes to be more prevalent.
△ Less
Submitted 16 August, 2020;
originally announced August 2020.
-
Unveiling Architecture Documentation: Brazilian Stakeholders in Perspective
Authors:
Crescencio Rodrigues Lima Neto,
Christina von Flach Chavez,
Eduardo Santana de Almeida,
Dominik Rost,
Matthias Naab
Abstract:
Over the years, software architecture has become a established discipline, both in academia and industry, and the interest on software architecture documentation has increased. In this context, the improvement of methods, tools, and techniques around architecture documentation is of paramount importance. We conducted a survey with 147 industrial participants (31 from Brazil), analyzing their curre…
▽ More
Over the years, software architecture has become a established discipline, both in academia and industry, and the interest on software architecture documentation has increased. In this context, the improvement of methods, tools, and techniques around architecture documentation is of paramount importance. We conducted a survey with 147 industrial participants (31 from Brazil), analyzing their current problems and future wishes. We identified that Brazilian stakeholders need updated architecture documents with the right information. Finally, the automation of some parts of the documentation will reduce the effort during the creation of the documents. But first, is necessary to change the culture of the stakeholders. They have to participate actively in the architecture documents creation.
△ Less
Submitted 21 October, 2015;
originally announced October 2015.
-
Characterization of Vehicle Behavior with Information Theory
Authors:
Andre L. L. Aquino,
Tamer S. G. Cavalcante,
Eliana S. Almeida,
Alejandro C. Frery,
Osvaldo A. Rosso
Abstract:
This work proposes the use of Information Theory for the characterization of vehicles behavior through their velocities. Three public data sets were used: i.Mobile Century data set collected on Highway I-880, near Union City, California; ii.Borlänge GPS data set collected in the Swedish city of Borlänge; and iii.Bei**g taxicabs data set collected in Bei**g, China, where each vehicle speed is sto…
▽ More
This work proposes the use of Information Theory for the characterization of vehicles behavior through their velocities. Three public data sets were used: i.Mobile Century data set collected on Highway I-880, near Union City, California; ii.Borlänge GPS data set collected in the Swedish city of Borlänge; and iii.Bei**g taxicabs data set collected in Bei**g, China, where each vehicle speed is stored as a time series. The Bandt-Pompe methodology combined with the Complexity-Entropy plane were used to identify different regimes and behaviors. The global velocity is compatible with a correlated noise with f^{-k} Power Spectrum with k >= 0. With this we identify traffic behaviors as, for instance, random velocities (k aprox. 0) when there is congestion, and more correlated velocities (k aprox. 3) in the presence of free traffic flow.
△ Less
Submitted 14 October, 2015;
originally announced October 2015.
-
The Generalized Statistical Complexity of PolSAR Data
Authors:
Alejandro C. Frery,
Eliana S. de Almeida,
Osvaldo A. Rosso
Abstract:
This paper presents and discusses the use of a new feature for PolSAR imagery: the Generalized Statistical Complexity. This measure is able to capture the disorder of the data by means of the entropy, as well as its departure from a reference distribution. The latter component is obtained by measuring a stochastic distance between two models: the $\mathcal G^0$ and the Gamma laws. Preliminary resu…
▽ More
This paper presents and discusses the use of a new feature for PolSAR imagery: the Generalized Statistical Complexity. This measure is able to capture the disorder of the data by means of the entropy, as well as its departure from a reference distribution. The latter component is obtained by measuring a stochastic distance between two models: the $\mathcal G^0$ and the Gamma laws. Preliminary results on the intensity components of AIRSAR image of San Francisco are encouraging.
△ Less
Submitted 8 February, 2014;
originally announced February 2014.
-
How good are MatLab, Octave and Scilab for Computational Modelling?
Authors:
Eliana S. de Almeida,
Antonio C. Medeiros,
Alejandro C. Frery
Abstract:
In this article we test the accuracy of three platforms used in computational modelling: MatLab, Octave and Scilab, running on i386 architecture and three operating systems (Windows, Ubuntu and Mac OS). We submitted them to numerical tests using standard data sets and using the functions provided by each platform. A Monte Carlo study was conducted in some of the datasets in order to verify the sta…
▽ More
In this article we test the accuracy of three platforms used in computational modelling: MatLab, Octave and Scilab, running on i386 architecture and three operating systems (Windows, Ubuntu and Mac OS). We submitted them to numerical tests using standard data sets and using the functions provided by each platform. A Monte Carlo study was conducted in some of the datasets in order to verify the stability of the results with respect to small departures from the original input. We propose a set of operations which include the computation of matrix determinants and eigenvalues, whose results are known. We also used data provided by NIST (National Institute of Standards and Technology), a protocol which includes the computation of basic univariate statistics (mean, standard deviation and first-lag correlation), linear regression and extremes of probability distributions. The assessment was made comparing the results computed by the platforms with certified values, that is, known results, computing the number of correct significant digits.
△ Less
Submitted 8 July, 2012;
originally announced July 2012.
-
Generalized Statistical Complexity of SAR Imagery
Authors:
Eliana S. de Almeida,
Antonio Carlos de Medeiros,
Osvaldo A. Rosso,
Alejandro C. Frery
Abstract:
A new generalized Statistical Complexity Measure (SCM) was proposed by Rosso et al in 2010. It is a functional that captures the notions of order/disorder and of distance to an equilibrium distribution. The former is computed by a measure of entropy, while the latter depends on the definition of a stochastic divergence. When the scene is illuminated by coherent radiation, image data is corrupted b…
▽ More
A new generalized Statistical Complexity Measure (SCM) was proposed by Rosso et al in 2010. It is a functional that captures the notions of order/disorder and of distance to an equilibrium distribution. The former is computed by a measure of entropy, while the latter depends on the definition of a stochastic divergence. When the scene is illuminated by coherent radiation, image data is corrupted by speckle noise, as is the case of ultrasound-B, sonar, laser and Synthetic Aperture Radar (SAR) sensors. In the amplitude and intensity formats, this noise is multiplicative and non-Gaussian requiring, thus, specialized techniques for image processing and understanding. One of the most successful family of models for describing these images is the Multiplicative Model which leads, among other probability distributions, to the G0 law. This distribution has been validated in the literature as an expressive and tractable model, deserving the "universal" denomination for its ability to describe most types of targets. In order to compute the statistical complexity of a site in an image corrupted by speckle noise, we assume that the equilibrium distribution is that of fully developed speckle, namely the Gamma law in intensity format, which appears in areas with little or no texture. We use the Shannon entropy along with the Hellinger distance to measure the statistical complexity of intensity SAR images, and we show that it is an expressive feature capable of identifying many types of targets.
△ Less
Submitted 3 July, 2012;
originally announced July 2012.