Tag Archives: diode

Better debugger

System to automatically find a common type of programming bug significantly outperforms its predecessors.

By Larry Hardesty


CAMBRIDGE, Mass. – Integer overflows are one of the most common bugs in computer programs — not only causing programs to crash but, even worse, potentially offering points of attack for malicious hackers. Computer scientists have devised a battery of techniques to identify them, but all have drawbacks.

This month, at the Association for Computing Machinery’s International Conference on Architectural Support for Programming Languages and Operating Systems, researchers from MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL) will present a new algorithm for identifying integer-overflow bugs. The researchers tested the algorithm on five common open-source programs, in which previous analyses had found three bugs. The new algorithm found all three known bugs — and 11 new ones.

The variables used by computer programs come in a few standard types, such as floating-point numbers, which can contain decimals; characters, like the letters of this sentence; or integers, which are whole numbers. Every time the program creates a new variable, it assigns it a fixed amount of space in memory.

If a program tries to store too large a number at a memory address reserved for an integer, the operating system will simply lop off the bits that don’t fit. “It’s like a car odometer,” says Stelios Sidiroglou-Douskos, a research scientist at CSAIL and first author on the new paper. “You go over a certain number of miles, you go back to zero.”

In itself, an integer overflow won’t crash a program; in fact, many programmers use integer overflows to perform certain types of computations more efficiently. But if a program tries to do something with an integer that has overflowed, havoc can ensue. Say, for instance, that the integer represents the number of pixels in an image the program is processing. If the program allocates memory to store the image, but its estimate of the image’s size is off by several orders of magnitude, the program will crash.

Charting a course

Any program can be represented as a flow chart — or, more technically, a graph, with boxes that represent operations connected by line segments that represent the flow of data between operations. Any given program input will trace a single route through the graph. Prior techniques for finding integer-overflow bugs would start at the top of the graph and begin working through it, operation by operation.

For even a moderately complex program, however, that graph is enormous; exhaustive exploration of the entire thing would be prohibitively time-consuming. “What this means is that you can find a lot of errors in the early input-processing code,” says Martin Rinard, an MIT professor of computer science and engineering and a co-author on the new paper. “But you haven’t gotten past that part of the code before the whole thing poops out. And then there are all these errors deep in the program, and how do you find them?”

Rinard, Sidiroglou-Douskos, and several other members of Rinard’s group — researchers Eric Lahtinen and Paolo Piselli and graduate students Fan Long, Doekhwan Kim, and Nathan Rittenhouse — take a different approach. Their system, dubbed DIODE (for Directed Integer Overflow Detection), begins by feeding the program a single sample input. As that input is processed, however — as it traces a path through the graph — the system records each of the operations performed on it by adding new terms to what’s known as a “symbolic expression.”

“These symbolic expressions are complicated like crazy,” Rinard explains. “They’re bubbling up through the very lowest levels of the system into the program. This 32-bit integer has been built up of all these complicated bit-level operations that the lower-level parts of your system do to take this out of your input file and construct those integers for you. So if you look at them, they’re pages long.”

Trigger warning

When the program reaches a point at which an integer is involved in a potentially dangerous operation — like a memory allocation — DIODE records the current state of the symbolic expression. The initial test input won’t trigger an overflow, but DIODE can analyze the symbolic expression to calculate an input that will.

The process still isn’t over, however: Well-written programs frequently include input checks specifically designed to prevent problems like integer overflows, and the new input, unlike the initial input, might fail those checks. So DIODE seeds the program with its new input, and if it fails such a check, it imposes a new constraint on the symbolic expression and computes a new overflow-triggering input. This process continues until the system either finds an input that can pass the checks but still trigger an overflow, or it concludes that triggering an overflow is impossible.

If DIODE does find a trigger value, it reports it, providing developers with a valuable debugging tool. Indeed, since DIODE doesn’t require access to a program’s source code but works on its “binary” — the executable version of the program — a program’s users could run it and then send developers the trigger inputs as graphic evidence that they may have missed security vulnerabilities.

Source: News Office

Physicists from Japan and USA shared 2014 Physics Nobel Prize

The Nobel Prize in Physics 2014 was awarded jointly to Isamu Akasaki, Hiroshi Amano and Shuji Nakamura “for the invention of efficient blue light-emitting diodes which has enabled bright and energy-saving white light sources”.

Following is the press release from NobelPrize.Org regarding the announcement.


The Royal Swedish Academy of Sciences has decided to award the Nobel Prize in Physics for 2014 to

Isamu Akasaki
Meijo University, Nagoya, Japan and Nagoya University, Japan

Hiroshi Amano
Nagoya University, Japan

and

Shuji Nakamura
University of California, Santa Barbara, CA, USA

“for the invention of efficient blue light-emitting diodes which has enabled bright and energy-saving white light sources”

New light to illuminate the world

This year’s Nobel Laureates are rewarded for having invented a new energy-efficient and environment-friendly light source – the blue light-emitting diode (LED). In the spirit of Alfred Nobel the Prize rewards an invention of greatest benefit to mankind; using blue LEDs, white light can be created in a new way. With the advent of LED lamps we now have more long-lasting and more efficient alternatives to older light sources.

When Isamu AkasakiHiroshi Amano and Shuji Nakamura produced bright blue light beams from their semi-conductors in the early 1990s, they triggered a funda-mental transformation of lighting technology. Red and green diodes had been around for a long time but without blue light, white lamps could not be created. Despite considerable efforts, both in the scientific community and in industry, the blue LED had remained a challenge for three decades.

They succeeded where everyone else had failed. Akasaki worked together with Amano at the University of Nagoya, while Nakamura was employed at Nichia Chemicals, a small company in Tokushima. Their inventions were revolutionary. Incandescent light bulbs lit the 20th century; the 21st century will be lit by LED lamps.

White LED lamps emit a bright white light, are long-lasting and energy-efficient. They are constantly improved, getting more efficient with higher luminous flux (measured in lumen) per unit electrical input power (measured in watt). The most recent record is just over 300 lm/W, which can be compared to 16 for regular light bulbs and close to 70 for fluorescent lamps. As about one fourth of world electricity consumption is used for lighting purposes, the LEDs contribute to saving the Earth’s resources. Materials consumption is also diminished as LEDs last up to 100,000 hours, compared to 1,000 for incandescent bulbs and 10,000 hours for fluorescent lights.

The LED lamp holds great promise for increasing the quality of life for over 1.5 billion people around the world who lack access to electricity grids: due to low power requirements it can be powered by cheap local solar power.

The invention of the blue LED is just twenty years old, but it has already contributed to create white light in an entirely new manner to the benefit of us all.

Read more about this year’s prize
Information for the Public
Pdf 1.1 MB
Scientific Background
Pdf 770 kB
To read the text you need Acrobat Reader.

Image – diode (1.1 Mb)

Image – efficiency (2.8 Mb)

Image – white sign (12.4 Mb)


 

Isamu Akasaki,, Japanese citizen. Born 1929 in Chiran, Japan. Ph.D. 1964 from Nagoya University, Japan. Professor at Meijo University, Nagoya, and Distinguished Professor at Nagoya University, Japan.
http://en.nagoya-u.ac.jp/people/distinguished_award_recipients/nagoya_university_distinguished_professor_isamu_akasaki.html

Hiroshi Amano,, Japanese citizen. Born 1960 in Hamamatsu, Japan. Ph.D. 1989 from Nagoya University, Japan. Professor at Nagoya University, Japan.
http://profs.provost.nagoya-u.ac.jp/view/html/100001778_en.html

Shuji Nakamura, American citizen. Born 1954 in Ikata, Japan. Ph.D. 1994 from University of Tokushima, Japan. Professor at University of California, Santa Barbara, CA, USA.
www.sslec.ucsb.edu/nakamura/

Prize amount: SEK 8 million, to be shared equally between the Laureates.

Source: NobelPrize.Org