In computer science, static program analysis (also known as static analysis or static simulation) is the analysis of computer programs performed without executing them, in contrast with dynamic program analysis, which is performed on programs during their execution in the integrated environment. The term is usually applied to analysis performed by an automated tool, with human analysis typically being called "program understanding", program comprehension, or code review. In the last of these, software inspection and software walkthroughs are also used. In most cases the analysis is performed on some version of a program's source code, and, in other cases, on some form of its object code. Two leading approaches to resource certification have been Static Analysis (SA) and Implicit Computational Complexity (ICC). SA is algorithmic in nature: it focuses on a broad programming language of choice, and seeks to determine by syntactic means whether given programs in that language are feasible. In contrast, ICC attempts to create from the outset specialized programming languages or methods that delineate a complexity class. Thus, SA's focus is on compile time, making no demand on the programmer; whereas ICC is a language-design discipline." The discipline of static analysis should not be confused with linting, which is the process of checking for coding style mistakes. == Rationale == The sophistication of the analysis performed by tools varies from those that only consider the behaviour of individual statements and declarations, to those that include the complete source code of a program in their analysis. The uses of the information obtained from the analysis vary from highlighting possible coding errors (e.g., the lint tool) to formal methods that mathematically prove properties about a given program (e.g., its behaviour matches that of its specification). Software metrics and reverse engineering can be described as forms of static analysis. Deriving software metrics and static analysis are increasingly deployed together, especially in creation of embedded systems, by defining so-called software quality objectives. A growing commercial use of static analysis is in the verification of properties of software used in safety-critical computer systems and locating potentially vulnerable code. For example, the following industries have identified the use of static code analysis as a means of improving the quality of increasingly sophisticated and complex software: Medical software: The US Food and Drug Administration (FDA) has identified the use of static analysis for medical devices. Nuclear software: In the UK the Office for Nuclear Regulation (ONR) recommends the use of static analysis on reactor protection systems. Aviation software (in combination with dynamic analysis). Automotive & Machines (functional safety features form an integral part of each automotive product development phase, ISO 26262, section 8). A study in 2012 by VDC Research reported that 28.7% of the embedded software engineers surveyed use static analysis tools and 39.7% expect to use them within 2 years. A study from 2010 found that 60% of the interviewed developers in European research projects made at least use of their basic IDE built-in static analyzers. However, only about 10% employed an additional other (and perhaps more advanced) analysis tool. In the application security industry the name static application security testing (SAST) is also used. SAST is an important part of Security Development Lifecycles (SDLs) such as the SDL defined by Microsoft and a common practice in software companies. == Tool types == The OMG (Object Management Group) published a study regarding the types of software analysis required for software quality measurement and assessment. This document on "How to Deliver Resilient, Secure, Efficient, and Easily Changed IT Systems in Line with CISQ Recommendations" describes three levels of software analysis. Unit Level Analysis that takes place within a specific program or subroutine, without connecting to the context of that program. Technology Level Analysis that takes into account interactions between unit programs to get a more holistic and semantic view of the overall program in order to find issues and avoid obvious false positives. System Level Analysis that takes into account the interactions between unit programs, but without being limited to one specific technology or programming language. A further level of software analysis can be defined. Mission/Business Level Analysis that takes into account the business/mission layer terms, rules and processes that are implemented within the software system for its operation as part of enterprise or program/mission layer activities. These elements are implemented without being limited to one specific technology or programming language and in many cases are distributed across multiple languages, but are statically extracted and analyzed for system understanding for mission assurance. == Formal methods == Formal methods is the term applied to the analysis of software (and computer hardware) whose results are obtained purely through the use of rigorous mathematical methods. The mathematical techniques used include denotational semantics, axiomatic semantics, operational semantics, and abstract interpretation. By a straightforward reduction to the halting problem, it is possible to prove that (for any Turing complete language), finding all possible run-time errors in an arbitrary program (or more generally any kind of violation of a specification on the final result of a program) is undecidable: there is no mechanical method that can always answer truthfully whether an arbitrary program may or may not exhibit runtime errors. This result dates from the works of Church, Gödel and Turing in the 1930s (see: Halting problem and Rice's theorem). As with many undecidable questions, one can still attempt to give useful approximate solutions. Some of the implementation techniques of formal static analysis include: Abstract interpretation, to model the effect that every statement has on the state of an abstract machine (i.e., it 'executes' the software based on the mathematical properties of each statement and declaration). This abstract machine over-approximates the behaviours of the system: the abstract system is thus made simpler to analyze, at the expense of incompleteness (not every property true of the original system is true of the abstract system). If properly done, though, abstract interpretation is sound (every property true of the abstract system can be mapped to a true property of the original system). Data-flow analysis, a lattice-based technique for gathering information about the possible set of values; Hoare logic, a formal system with a set of logical rules for reasoning rigorously about the correctness of computer programs. There is tool support for some programming languages (e.g., the SPARK programming language (a subset of Ada) and the Java Modeling Language—JML—using ESC/Java and ESC/Java2, Frama-C WP (weakest precondition) plugin for the C language extended with ACSL (ANSI/ISO C Specification Language) ). Model checking, considers systems that have finite state or may be reduced to finite state by abstraction; Symbolic execution, as used to derive mathematical expressions representing the value of mutated variables at particular points in the code. Nullable reference analysis == Data-driven static analysis == Data-driven static analysis leverages extensive codebases to infer coding rules and improve the accuracy of the analysis. For instance, one can use all Java open-source packages available on GitHub to learn good analysis strategies. The rule inference can use machine learning techniques. It is also possible to learn from a large amount of past fixes and warnings. == Remediation == Static analyzers produce warnings. For certain types of warnings, it is possible to design and implement automated remediation techniques. For example, Logozzo and Ball have proposed automated remediations for C# cccheck.
Glyph (data visualization)
In the context of data visualization, a glyph is any marker, such as an arrow or similar marking, used to specify part of a visualization. This is a representation to visualize data where the data set is presented as a collection of visual objects. These visual objects are collectively called a glyph. It helps visualizing data relation in data analysis, statistics, etc. by using any custom notation. In the context of data visualization, a glyph is the visual representation of a piece of data where the attributes of a graphical entity are dictated by one or more attributes of a data record. == Constructing glyphs == Glyph construction can be a complex process when there are many dimensions to be represented in the visualization. Maguire et al proposed a taxonomy based approach to glyph-design that uses a tree to guide the visual encodings used to representation various data items. Duffy et al created perhaps one of the most complex glyph representations with their representation of sperm movement.
Deep learning speech synthesis
Deep learning speech synthesis refers to the application of deep learning models to generate natural-sounding human speech from written text (text-to-speech) or spectrum (vocoder). Deep neural networks are trained using large amounts of recorded speech and, in the case of a text-to-speech system, the associated labels and/or input text. == Formulation == Given an input text or some sequence of linguistic units Y {\displaystyle Y} , the target speech X {\displaystyle X} can be derived by X = arg max P ( X | Y , θ ) {\displaystyle X=\arg \max P(X|Y,\theta )} where θ {\displaystyle \theta } is the set of model parameters. Typically, the input text will first be passed to an acoustic feature generator, then the acoustic features are passed to the neural vocoder. For the acoustic feature generator, the loss function is typically L1 loss (Mean Absolute Error, MAE) or L2 loss (Mean Square Error, MSE). These loss functions impose a constraint that the output acoustic feature distributions must be Gaussian or Laplacian. In practice, since the human voice band ranges from approximately 300 to 4000 Hz, the loss function will be designed to have more penalty on this range: l o s s = α loss human + ( 1 − α ) loss other {\displaystyle loss=\alpha {\text{loss}}_{\text{human}}+(1-\alpha ){\text{loss}}_{\text{other}}} where loss human {\displaystyle {\text{loss}}_{\text{human}}} is the loss from human voice band and α {\displaystyle \alpha } is a scalar, typically around 0.5. The acoustic feature is typically a spectrogram or Mel scale. These features capture the time-frequency relation of the speech signal, and thus are sufficient to generate intelligent outputs. The Mel-frequency cepstrum feature used in the speech recognition task is not suitable for speech synthesis, as it reduces too much information. == History == In September 2016, DeepMind released WaveNet, which demonstrated that deep learning-based models are capable of modeling raw waveforms and generating speech from acoustic features like spectrograms or mel-spectrograms. Although WaveNet was initially considered to be computationally expensive and slow to be used in consumer products at the time, a year after its release, DeepMind unveiled a modified version of WaveNet known as "Parallel WaveNet," a production model 1,000 faster than the original. This was followed by Google AI's Tacotron 2 in 2018, which demonstrated that neural networks could produce highly natural speech synthesis but required substantial training data—typically tens of hours of audio—to achieve acceptable quality. Tacotron 2 used an autoencoder architecture with attention mechanisms to convert input text into mel-spectrograms, which were then converted to waveforms using a separate neural vocoder. When trained on smaller datasets, such as 2 hours of speech, the output quality degraded while still being able to maintain intelligible speech, and with just 24 minutes of training data, Tacotron 2 failed to produce intelligible speech. In 2019, Microsoft Research introduced FastSpeech, which addressed speed limitations in autoregressive models like Tacotron 2. FastSpeech utilized a non-autoregressive architecture that enabled parallel sequence generation, significantly reducing inference time while maintaining audio quality. Its feedforward transformer network with length regulation allowed for one-shot prediction of the full mel-spectrogram sequence, avoiding the sequential dependencies that bottlenecked previous approaches. The same year saw the release of HiFi-GAN, a generative adversarial network (GAN)-based vocoder that improved the efficiency of waveform generation while producing high-fidelity speech. In 2020, the release of Glow-TTS introduced a flow-based approach that allowed for fast inference and voice style transfer capabilities. In March 2020, the free text-to-speech website 15.ai was launched. 15.ai gained widespread international attention in early 2021 for its ability to synthesize emotionally expressive speech of fictional characters from popular media with minimal amount of data. The creator of 15.ai (known pseudonymously as 15) stated that 15 seconds of training data is sufficient to perfectly clone a person's voice (hence its name, "15.ai"), a significant reduction from the previously known data requirement of tens of hours. 15.ai is credited as the first platform to popularize AI voice cloning in memes and content creation. 15.ai used a multi-speaker model that enabled simultaneous training of multiple voices and emotions, implemented sentiment analysis using DeepMoji, and supported precise pronunciation control via ARPABET. The 15-second data efficiency benchmark was later corroborated by OpenAI in 2024. == Semi-supervised learning == Currently, self-supervised learning has gained much attention through better use of unlabelled data. Research has shown that, with the aid of self-supervised loss, the need for paired data decreases. == Zero-shot speaker adaptation == Zero-shot speaker adaptation is promising because a single model can generate speech with various speaker styles and characteristic. In June 2018, Google proposed to use pre-trained speaker verification models as speaker encoders to extract speaker embeddings. The speaker encoders then become part of the neural text-to-speech models, so that it can determine the style and characteristics of the output speech. This procedure has shown the community that it is possible to use only a single model to generate speech with multiple styles. == Neural vocoder == In deep learning-based speech synthesis, neural vocoders play an important role in generating high-quality speech from acoustic features. The WaveNet model proposed in 2016 achieves excellent performance on speech quality. Wavenet factorised the joint probability of a waveform x = { x 1 , . . . , x T } {\displaystyle \mathbf {x} =\{x_{1},...,x_{T}\}} as a product of conditional probabilities as follows p θ ( x ) = ∏ t = 1 T p ( x t | x 1 , . . . , x t − 1 ) {\displaystyle p_{\theta }(\mathbf {x} )=\prod _{t=1}^{T}p(x_{t}|x_{1},...,x_{t-1})} where θ {\displaystyle \theta } is the model parameter including many dilated convolution layers. Thus, each audio sample x t {\displaystyle x_{t}} is conditioned on the samples at all previous timesteps. However, the auto-regressive nature of WaveNet makes the inference process dramatically slow. To solve this problem, Parallel WaveNet was proposed. Parallel WaveNet is an inverse autoregressive flow-based model which is trained by knowledge distillation with a pre-trained teacher WaveNet model. Since such inverse autoregressive flow-based models are non-auto-regressive when performing inference, the inference speed is faster than real-time. Meanwhile, Nvidia proposed a flow-based WaveGlow model, which can also generate speech faster than real-time. However, despite the high inference speed, parallel WaveNet has the limitation of needing a pre-trained WaveNet model, so that WaveGlow takes many weeks to converge with limited computing devices. This issue has been solved by Parallel WaveGAN, which learns to produce speech through multi-resolution spectral loss and GAN learning strategies.
Fuzzy classification
Fuzzy classification is the process of grouping elements into fuzzy sets whose membership functions are defined by the truth value of a fuzzy propositional function. A fuzzy propositional function is analogous to an expression containing one or more variables, such that when values are assigned to these variables, the expression becomes a fuzzy proposition. Accordingly, fuzzy classification is the process of grouping individuals having the same characteristics into a fuzzy set. A fuzzy classification corresponds to a membership function μ C ~ : P F ~ × U → T ~ {\textstyle \mu _{\tilde {C}}:{\tilde {PF}}\times U\to {\tilde {T}}} that indicates the degree to which an individual i ∈ U {\textstyle i\in U} is a member of the fuzzy class C ~ {\textstyle {\tilde {C}}} , given its fuzzy classification predicate Π ~ C ~ ∈ P F ~ {\textstyle {\tilde {\Pi }}_{\tilde {C}}\in {\tilde {PF}}} . Here, T ~ {\textstyle {\tilde {T}}} is the set of fuzzy truth values, i.e., the unit interval [ 0 , 1 ] {\textstyle [0,1]} . The fuzzy classification predicate Π ~ C ~ ( i ) {\textstyle {\tilde {\Pi }}_{\tilde {C}}(i)} corresponds to the fuzzy restriction " i {\textstyle i} is a member of C ~ {\textstyle {\tilde {C}}} ". == Classification == Intuitively, a class is a set that is defined by a certain property, and all objects having that property are elements of that class. The process of classification evaluates for a given set of objects whether they fulfill the classification property, and consequentially are a member of the corresponding class. However, this intuitive concept has some logical subtleties that need clarification. A class logic is a logical system which supports set construction using logical predicates with the class operator { ⋅ | ⋅ } {\textstyle \{\cdot |\cdot \}} . A class C = { i | Π ( i ) } {\displaystyle C=\{i|\Pi (i)\}} is defined as a set C of individuals i satisfying a classification predicate Π which is a propositional function. The domain of the class operator { .| .} is the set of variables V and the set of propositional functions PF, and the range is the powerset of this universe P(U) that is, the set of possible subsets: { ⋅ | ⋅ } : V × P F → P ( U ) {\displaystyle \{\cdot |\cdot \}:V\times PF\rightarrow P(U)} Here is an explanation of the logical elements that constitute this definition: An individual is a real object of reference. A universe of discourse is the set of all possible individuals considered. A variable V :→ R {\textstyle V:\rightarrow R} is a function which maps into a predefined range R without any given function arguments: a zero-place function. A propositional function is "an expression containing one or more undetermined constituents, such that, when values are assigned to these constituents, the expression becomes a proposition". In contrast, classification is the process of grouping individuals having the same characteristics into a set. A classification corresponds to a membership function μ that indicates whether an individual is a member of a class, given its classification predicate Π. μ : P F × U → T {\displaystyle \mu :PF\times U\rightarrow T} The membership function maps from the set of propositional functions PF and the universe of discourse U into the set of truth values T. The membership μ of individual i in Class C is defined by the truth value τ of the classification predicate Π. μ C ( i ) := τ ( Π ( i ) ) {\displaystyle \mu C(i):=\tau (\Pi (i))} In classical logic the truth values are certain. Therefore a classification is crisp, since the truth values are either exactly true or exactly false.
Trevor Paglen
Trevor Paglen (born 1974) is an American artist, geographer, and author whose work covers mass surveillance and data collection. In 2016, Paglen won the Deutsche Börse Photography Foundation Prize and he has also won The Cultural Award from the German Society for Photography. In 2017, he was a recipient of a MacArthur Fellowship. On March 17, 2026, Paglen was awarded the 2026 LG Guggenheim Award (a collaboration between LG and Guggenheim New York). == Early life and education == Paglen earned a B.A. degree in religious studies in 1998 from the University of California at Berkeley, a M.F.A. degree in 2002 from the School of the Art Institute of Chicago, and a Ph.D. in Geography in 2008 from the University of California at Berkeley. While at UC Berkeley, Paglen lived in the Berkeley Student Cooperative, residing in Chateau, Fenwick, and Rochdale co-ops. == Work == Sean O'Hagan, writing in The Guardian in 2015, said that Paglen, whose "ongoing grand project [is] the murky world of global state surveillance and the ethics of drone warfare", "is one of the most conceptually adventurous political artists working today, and has collaborated with scientists and human rights activists on his always ambitious multimedia projects." His visual work such as his "Limit Telephotography" and "The Other Night Sky" series have received widespread attention for both his technical innovations and for his conceptual project that involves simultaneously making and negating documentary-style truth-claims. Paglen’s work relies on contemporary technology in two meaningful ways. Firstly, the views he photographs would be impossible to shoot without media tech, that includes the cameras, the microscopes, and even helicopters. But interestingly enough, the shots would not be possible if not for the existence of the subject. The contrasts between secrecy and revelation, evidence and abstraction distinguish Paglen's work. With that the artist presents not so much "evidence" as admonitions to awareness. He was an Eyebeam Commissioned Artist in 2007. In 2008 the Berkeley Art Museum devoted a comprehensive solo exhibition to his work. In the next year, Paglen took part in the Istanbul Biennial, and in 2010 he exhibited at the Vienna Secession. Autonomy Cube was a project by Paglen and Jacob Appelbaum that placed relays for the anonymous communication network Tor in traditional art museums. He contributed to the Oscar-winning documentary film Citizenfour (2014), directed by Laura Poitras. Paglen features in the nerd-culture documentary Traceroute (2016). Orbital Reflector was a reflective, mylar sculpture by Paglen intended to be the first "purely artistic" object in space. The temporary satellite, containing an inflatable mylar balloon with reflective surface, launched into space 3 December 2018. A mid-career survey in 2018–2019, Trevor Paglen: Sites Unseen, was a traveling exhibition shown at the Smithsonian American Art Museum in Washington DC and the Museum of Contemporary Art San Diego. In September 2020, Pace Gallery in London held an exhibition of Paglen's work, exploring "the weird, partial ways computers look back at us". His work is included in the permanent collections of the San Francisco Museum of Modern Art, the Columbus Museum of Art, and the Metropolitan Museum. === Experimental Geography === Paglen is credited with coining the term "Experimental Geography" to describe practices coupling experimental cultural production and art-making with ideas from critical human geography about the production of space, materialism, and praxis. The 2009 book Experimental Geography: Radical Approaches to Landscape, Cartography, and Urbanism is largely inspired by Paglen's work. == Publications == Paglen has published a number of books. Torture Taxi (2006) (co-authored with investigative journalist A. C. Thompson) was the first book to comprehensively describe the CIA's extraordinary rendition program. I Could Tell You But Then You Would Have to be Destroyed by Me (2007), is a look at the world of black projects through unit patches and memorabilia created for top-secret programs. Blank Spots on the Map: The Dark Geography of the Pentagon's Secret World (2009) is a broader look at secrecy in the United States. The Last Pictures (2012) is a collection of 100 images to be placed on permanent media and launched into space on EchoStar XVI, as a repository available for future civilizations (alien or human) to find. === Publications by Paglen === I Could Tell You But Then You Would Have to be Destroyed by Me. Brooklyn, NY: Melville House, 2007. ISBN 1-933633-32-8. Blank Spots on the Map: The Dark Geography of the Pentagon's Secret World. New York: Dutton, 2009. ISBN 9781101011492. Invisible: Covert Operations and Classified Landscapes, Photographs by Trevor Paglen. New York: Aperture, 2010. ISBN 9781597111300. With an essay by Rebecca Solnit. The Last Pictures. Oakland, CA: University of California, 2012. ISBN 9780520275003. Trevor Paglen. London: Phaidon, 2018. ISBN 0714873446. With essays by Laren Cornell, Julia Bryan-Wilson, Omar Kholeif. === Publications co-authored === Torture Taxi. Co-authored with A. C. Thompson. Brooklyn, NY: Melville House Publishing, 2006. ISBN 1-933633-09-3. Icon, 2007. ISBN 9781840468304. === Publications with contributions by Paglen === Experimental Geography: Radical Approaches to Landscape, Cartography, and Urbanism. Brooklyn, NY: Melville House, 2009. ISBN 978-0091636586. Edited by Nato Thompson. With essays by Paglen, Thompson, and Jeffrey Kastner. Trevor Paglen and Jacob Appelbaum – Autonomy Cube. Revolver, 2016. ISBN 978-3957633026. Essays by Luke Skrebowski and Keller Easterling on Autonomy Cube, a piece of sculpture by Paglen and Jacob Appelbaum. In English and German. == Exhibitions == Bellwether Gallery, New York, November–December 2006 The Other Night Sky, Berkeley Art Museum, 2008 A Compendium of Secrets, Cologne Still Revolution: Suspended in Time, Museum of Contemporary Canadian Art, Toronto, May–June 2009. Group exhibition with Paglen, Barbara Astman, Walead Beshty, Mat Collishaw, Stan Douglas, Idris Khan, Martha Rosler, and Mikhael Subotzky A Hidden Landscape, Aksioma, Ljubljana, Slowenia Geographies of Seeing, Lighthouse, Brighton, England, October–November 2012 The Last Pictures, New York, 2012–13 Trevor Paglen, Altman Siegel gallery, San Francisco, CA, March–May 2015 The Octopus, Frankfurter Kunstverein, Frankfurt am Main, 2015 Autonomy Cube, Edith-Russ-Haus, Oldenburg, Germany, October 2015 – January 2016. Sculpture by Paglen and Jacob Appelbaum. Deutsche Börse Photography Foundation Prize 2016, The Photographers' Gallery, London, April–July 2016. Deutsche Börse Photography Prize shortlist with Paglen, Erik Kessels, Laura El-Tantawy, and Tobias Zielony. Radical Landscapes, di Rosa, Napa, February–April 2016 L’Image volée, Americas II, Bahamas Internet Cable System (BICS-1) and Globenet, Fondazione Prada, Milan (group exhibition), 2016 A Study of Invisible Images, Metro Pictures, New York, September–October 2017 == Awards == 2014: Pioneer Award from the Electronic Frontier Foundation. 2015: The Cultural Award from the German Society for Photography (DGPh) 2015: Academy Award as cameraman and director for the documentary film Citzenfour. 2016: Deutsche Börse Photography Foundation Prize 2017: MacArthur Fellowship, John D. and Catherine T. MacArthur Foundation, Chicago, IL 2018: Nam June Paik Art Center Prize == Films about Paglen == Unseen Skies (2021) == Works ==
List of 3D rendering software
3D rendering software products are the dedicated engines used for rendering computer-generated imagery. This is not the same as 3D modeling software, which involves the creation of 3D models, for which the software listed below can produce realistically rendered visualisations.General-purpose packages which can have their own built-in rendering capabilities are not listed here; these can be found in the list of 3D computer graphics software and list of 3D animation software. See 3D computer graphics software for more discussion about the distinctions.
Land of Memories
Land of Memories (Chinese: 机忆之地) is a Chinese science-fiction novel by Shen Yang (沈阳), a professor at Tsinghua University's School of Journalism and Communication. The story revolves around a former neuroscientist trying to recover her memories from the metaverse after suffering amnesia due to an accident. It contains almost 6,000 Chinese characters and was shortened from an AI-generated draft that was 43,000 characters long. The process involved 66 prompts spanning almost three hours. The novel was among 18 submissions that won the level-two prize at the Fifth Jiangsu Youth Science Education and Science Fiction Competition (第五届江苏省青年科普科幻作品大赛). The contest was restricted to participants between the age of 14 and 45 but did not forbid entries generated by AI. One of its organizers reached out to Shen after finding out that the professor had been experimenting with writing science fiction using AI. The judges were not told about the novel's origin in advance. Three of them, out of the six, approved the work. One judge, who had worked with AI models before, recognized that the novel was written by AI and criticized the work for lacking emotional appeal. The organizer who had contacted Shen said the novel's introduction was not bad but the story did not develop well. It would not meet the usual standards for publication. However, he still plans to allow AI-generated submissions in 2024. Fu Ruchu, editorial department director of the People's Literature Publishing House, said the novel was not easily identifiable as AI-generated and applauded its logical consistency. She warned that artificial intelligence could endanger the jobs of fiction writers and cause permanent damage to literary language.